rendered paste bodystatic gboolean
glow_timer (gpointer data)
{
//GdkPixbuf *glowing_screenshot;
GTimeVal tv;
gdouble glow_factor, now;
Applet *applet = (Applet *) data;
cairo_t *cr;
cr = gdk_cairo_create (applet->gdk_window);
g_get_current_time (&tv);
now = (tv.tv_sec * (1.0 * G_USEC_PER_SEC) +
tv.tv_usec) / G_USEC_PER_SEC;
if (glow_start_time <= G_MINDOUBLE)
glow_start_time = now;
printf ("now: %f\n", now);
glow_factor = fade_opacity * (0.5 - 0.5 * cos ((now - glow_start_time) * M_PI * 2.0 / loop_time));
printf ("glow_factor: %f\n", glow_factor);
//gdk_window_clear (applet->gdk_window); or...
GdkRegion *region;
region = gdk_drawable_get_clip_region (applet->gdk_window);
gdk_window_invalidate_region (applet->gdk_window, region, TRUE);
gdk_window_process_updates (applet->gdk_window, TRUE);
gdk_region_destroy (region);
cairo_set_source_rgba (cr, 0.3, 0.3, 1, glow_factor);
cairo_rectangle (cr, 0, 0, 40, 40);
cairo_fill (cr);
return TRUE;
}