コード例 #1
0
ファイル: vo_matrixview.c プロジェクト: zoominla/mplayer-ww
static void check_events(void)
{
    int e = glctx.check_events();
    if (e & VO_EVENT_RESIZE) {
        matrixview_reshape(vo_dwidth, vo_dheight);
    }
    if (e & VO_EVENT_EXPOSE && int_pause)
        flip_page();
}
コード例 #2
0
ファイル: vo_x11.c プロジェクト: JasonFengIce/mplayer-android
static void check_events(void)
{
    int ret = vo_x11_check_events(mDisplay);

    if (ret & VO_EVENT_RESIZE)
        vo_x11_clearwindow(mDisplay, vo_window);
    else if (ret & VO_EVENT_EXPOSE)
        vo_x11_clearwindow_part(mDisplay, vo_window, myximage->width,
                                myximage->height, vo_fs);
    if (ret & VO_EVENT_EXPOSE && int_pause)
        flip_page();
}
コード例 #3
0
ファイル: vo_direct3d.c プロジェクト: HermiG/mplayer2
/** @brief libvo Callback: Handles video window events.
 */
static void check_events(void)
{
    int flags;
    /* w32_common framework call. Handles video window events.
     * Updates global libvo's vo_dwidth/vo_dheight upon resize
     * with the new window width/height.
     */
    flags = vo_w32_check_events();
    if (flags & VO_EVENT_RESIZE)
        resize_d3d();

    if ((flags & VO_EVENT_EXPOSE) && priv->is_paused)
        flip_page();
}
コード例 #4
0
ファイル: vo_x11.c プロジェクト: kax4/mpv
static void check_events(struct vo *vo)
{
    struct priv *p = vo->priv;

    int ret = vo_x11_check_events(vo);

    if (ret & VO_EVENT_RESIZE)
        vo_x11_clearwindow(vo, vo->x11->window);
    else if (ret & VO_EVENT_EXPOSE)
        vo_x11_clearwindow_part(vo, vo->x11->window, p->myximage->width,
                                p->myximage->height);
    if (ret & VO_EVENT_EXPOSE && p->int_pause)
        flip_page(vo);
}
コード例 #5
0
ファイル: console.c プロジェクト: TacOS-team/tacos
static void clear_console(int n) {
	unsigned int x, y;

	for (y = 0; y < consoles[n].lines; y++) {
		for (x = 0; x < consoles[n].cols; x++) {
			kputchar_video(n, false, ' ', x, y,
					consoles[n].attr);
		}
	}
	flip_page(n);

	consoles[n].cur_x = 0;
	consoles[n].cur_y = 0;
	cursor_position_video(n, 0, 0);
}
コード例 #6
0
ファイル: screen.cpp プロジェクト: destrojan/wotwar
SCREEN::SCREEN(int width, int height, bool windowed, bool db, bool videobuf_tiles) : w(width), h(height), doublebuffer(db)
{
    if (!doublebuffer) { // page flipping
        // set graphics mode
        set_color_depth(32);
        if (set_gfx_mode((windowed ? GFX_AUTODETECT_WINDOWED : GFX_AUTODETECT_FULLSCREEN), width, height, width, height * 2) != 0) { // get video memory now (smart drivers)
            printf("warning: set_gfx_mode(): %s\n", allegro_error);
            if (set_gfx_mode((windowed ? GFX_AUTODETECT_WINDOWED : GFX_AUTODETECT_FULLSCREEN), width, height, 0, 0) != 0) { // just open screen now and hope we can get the video memory later (DirectX)
                printf("warning: set_gfx_mode(%dx%d): %s\n", width, height, allegro_error);
                panic("failed to open screen with requested resolution");
            }
        }

        // get video memory
        video_page[0] = create_video_bitmap(width, height);
        video_page[1] = create_video_bitmap(width, height);
        if (videobuf_tiles) video_page[2] = create_video_bitmap(width + 2 * WORLD_RENDER_BORDER_SIZE, height + 2 * WORLD_RENDER_BORDER_SIZE);
        else video_page[2] = NULL;

        // error
        if (!video_page[0] || !video_page[1]) panic("unable to acquire sufficient video memory for requested resolution");
        if (!video_page[2] && videobuf_tiles) printf("unable to acquire video memory for tile background; using a memory bitmap instead");

        // set current screen
        video_page_offscreen = 0;
        offscreen = video_page[video_page_offscreen];

        // flip page
        flip_page();
    }
    else { // double buffering
        set_color_depth(32);
        if (set_gfx_mode((windowed ? GFX_AUTODETECT_WINDOWED : GFX_AUTODETECT_FULLSCREEN), width, height, 0, 0) != 0) { // double buffering
            printf("warning: set_gfx_mode(%dx%d): %s\n", width, height, allegro_error);
            panic("failed to open screen with requested resolution");
        }
        video_page[0] = create_bitmap(width, height);
        video_page[1] = NULL;
        video_page[2] = NULL;
        offscreen = video_page[0];
    }
    gui_set_screen(offscreen); // for the allegro gui routines
}
コード例 #7
0
ファイル: vo_dx.c プロジェクト: peterfuture/dtplayer_c
static void vo_dx_display(AVPicture * pic)
{
    vo_dx_vfmt2rgb(my_pic, pic);
    memcpy(g_image, my_pic->data[0], my_pic->linesize[0] * dlpctxp->pheight);
    flip_page();
}