int delay;
int duration;
time_t start_time;
-
+ int first_time;
GC window_gc;
#ifdef DEBUG
GC white_gc;
st->pm = XCreatePixmap(st->dpy, st->window, st->sizex, st->sizey, xgwa.depth);
XClearWindow(st->dpy, st->window);
+ st->first_time = 1;
+
/* create buffer to reduce flicker */
#ifdef HAVE_COCOA /* Don't second-guess Quartz's double-buffering */
st->buffer = 0;
if (st->buffer)
XFillRectangle(st->dpy, st->buffer, st->buffer_gc, 0, 0, st->sizex, st->sizey);
- /* blank out screen */
- XFillRectangle(st->dpy, st->window, st->window_gc, 0, 0, st->sizex, st->sizey);
- XSetWindowBackground (st->dpy, st->window, bg);
-
/* create clip mask (so it's a circle, not a square) */
clip_pm = XCreatePixmap(st->dpy, st->window, st->radius*4, st->radius*4, 1);
st->img_loader = load_image_async_simple (0, xgwa.screen, st->window, st->pm,
gcv.foreground = fg;
st->white_gc = XCreateGC(st->dpy, st->window, gcflags, &gcv);
#endif
+
+ /* blank out screen */
+ XFillRectangle(st->dpy, st->window, st->window_gc, 0, 0, st->sizex, st->sizey);
+
return st;
}
XSetClipOrigin(st->dpy, st->buffer_gc, st->x,st->y);
XCopyArea(st->dpy, st->pm, st->buffer, st->buffer_gc, st->x, st->y, st->s, st->s, st->x, st->y);
+ if (st->first_time) {
+ /* blank out screen */
+ XFillRectangle(st->dpy, st->window, st->window_gc, 0, 0, st->sizex, st->sizey);
+ st->first_time = 0;
+ }
+
/* copy buffer to screen (window) */
XCopyArea(st->dpy, st->buffer, st->window, st->window_gc, st->x , st->y, st->s, st->s, st->x, st->y);
}