1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-12-27 04:32:55 +00:00

Move xdbe swap stuff into x11.c.

This commit is contained in:
Brenden Matthews 2009-08-05 15:41:29 -06:00
parent 4e88abde40
commit c29301d02a
3 changed files with 27 additions and 21 deletions

View File

@ -7276,15 +7276,9 @@ static void draw_stuff(void)
draw_mode = FG; draw_mode = FG;
draw_text(); draw_text();
#ifdef X11 #ifdef X11
xdbe_swap_buffers();
if (output_methods & TO_X) { if (output_methods & TO_X) {
#ifdef HAVE_XDBE #ifdef HAVE_XDBE
if (use_xdbe) {
XdbeSwapInfo swap;
swap.swap_window = window.window;
swap.swap_action = XdbeBackground;
XdbeSwapBuffers(display, &swap, 1);
}
#endif #endif
} }
#endif /* X11 */ #endif /* X11 */
@ -7443,15 +7437,9 @@ static void main_loop(void)
XResizeWindow(display, window.window, window.width, XResizeWindow(display, window.window, window.width,
window.height); /* resize window */ window.height); /* resize window */
set_transparent_background(window.window); set_transparent_background(window.window);
/* swap buffers */
#ifdef HAVE_XDBE #ifdef HAVE_XDBE
if (use_xdbe) { /* swap buffers */
XdbeSwapInfo swap; xdbe_swap_buffers();
swap.swap_window = window.window;
swap.swap_action = XdbeBackground;
XdbeSwapBuffers(display, &swap, 1);
}
#endif #endif
changed++; changed++;
@ -7660,12 +7648,12 @@ static void main_loop(void)
XFixesSetRegion(display, x11_stuff.region2, 0, 0); XFixesSetRegion(display, x11_stuff.region2, 0, 0);
#endif /* HAVE_XDAMAGE */ #endif /* HAVE_XDAMAGE */
/* XDBE doesn't seem to provide a way to clear the back buffer without /* XDBE doesn't seem to provide a way to clear the back buffer
* interfering with the front buffer, other than passing XdbeBackground * without interfering with the front buffer, other than passing
* to XdbeSwapBuffers. That means that if we're using XDBE, we need to * XdbeBackground to XdbeSwapBuffers. That means that if we're
* redraw the text even if it wasn't part of the exposed area. OTOH, * using XDBE, we need to redraw the text even if it wasn't part of
* if we're not going to call draw_stuff at all, then no swap happens * the exposed area. OTOH, if we're not going to call draw_stuff at
* and we can safely do nothing. */ * all, then no swap happens and we can safely do nothing. */
if (!XEmptyRegion(x11_stuff.region)) { if (!XEmptyRegion(x11_stuff.region)) {
#ifdef HAVE_XDBE #ifdef HAVE_XDBE

View File

@ -775,3 +775,17 @@ void set_struts(int sidenum)
} }
} }
#endif /* OWN_WINDOW */ #endif /* OWN_WINDOW */
#ifdef HAVE_XDBE
void xdbe_swap_buffers(void)
{
if (use_xdbe) {
XdbeSwapInfo swap;
swap.swap_window = window.window;
swap.swap_action = XdbeBackground;
XdbeSwapBuffers(display, &swap, 1);
}
}
#endif /* HAVE_XDBE */

View File

@ -94,5 +94,9 @@ long get_x11_color(const char *);
void get_x11_desktop_info(Display *display, Atom atom); void get_x11_desktop_info(Display *display, Atom atom);
void set_struts(int); void set_struts(int);
#ifdef HAVE_XDBE
void xdbe_swap_buffers(void);
#endif /* HAVE_XDBE */
#endif /*X11_H_*/ #endif /*X11_H_*/
#endif /* X11 */ #endif /* X11 */