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(); }
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(); }
/** @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(); }
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); }
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); }
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 }
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(); }