Workaround to fill pixels past outer black rim
authorHugo Villeneuve <hugo@hugovil.com>
Fri, 21 Mar 2014 03:57:18 +0000 (23:57 -0400)
committerHugo Villeneuve <hugo@hugovil.com>
Fri, 21 Mar 2014 03:57:18 +0000 (23:57 -0400)
This is due to the mask for the transparent background that is not exactly of
the same shape as the black rim that is drawn on the screen.

src/clock.c

index 14a2e21..2a98e64 100644 (file)
@@ -139,8 +139,18 @@ draw_clock_background(GtkWidget *clock, cairo_t *cr)
 
        cairo_set_font_size(cr, radius * CLOCK_DIGITS_FONTS_SIZE_RATIO);
 
-       /* Draw clock background and outer rim */
        cairo_set_line_width(cr, 1.5);
+
+       /*
+        * Workaround to fill space between outer black rim and limit of transparent
+        * mask.
+        */
+       cairo_set_source_rgb(cr, 0.0, 0.0, 0.0); /* Black background */
+       cairo_rectangle(cr, 0, 0, 64, 64);
+       cairo_fill(cr);
+       cairo_stroke(cr);
+
+       /* Draw clock background and outer rim */
        cairo_arc(cr, center_x, center_y, radius, 0, 2 * M_PI);
        cairo_set_source_rgb(cr, 1.0, 1.0, 1.0);
        cairo_fill_preserve(cr); /* White background */