summaryrefslogtreecommitdiff
path: root/src/render.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/render.c')
-rw-r--r--src/render.c33
1 files changed, 25 insertions, 8 deletions
diff --git a/src/render.c b/src/render.c
index 9ed1963..341deb0 100644
--- a/src/render.c
+++ b/src/render.c
@@ -1,3 +1,4 @@
+#define _GNU_SOURCE
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
@@ -120,20 +121,36 @@ static void draw_clock_face (cairo_t *cairo, struct Wlclock_dimensions *dimensio
/* Radii are choosen to roughly mimic xclock. */
double cx = scale * (dimensions->center_x + (dimensions->center_size / 2));
double cy = scale * (dimensions->center_y + (dimensions->center_size / 2));
- double or = scale * 0.9 * dimensions->center_size / 2;
- double ir = scale * 0.85 * dimensions->center_size / 2;
- double bir = scale * 0.8 * dimensions->center_size / 2;
+ double orT = scale * 0.9 * dimensions->center_size / 2;
+ double orTL = scale * 0.83 * dimensions->center_size / 2;
+ double orL = scale * 0.8 * dimensions->center_size / 2;
+ double ir = scale * 0.75 * dimensions->center_size / 2;
double phi, phi_step = 2 * PI / 60;
cairo_save(cairo);
+ cairo_set_source_rgb(cairo, 1,1,1);
for (int i = 0; i < 60; i++)
{
phi = i * phi_step;
- cairo_move_to(cairo, cx + or * cos(phi), cy + or * sin(phi));
- if ( i % 5 == 0 )
- cairo_line_to(cairo, cx + bir * cos(phi), cy + bir * sin(phi));
- else
- cairo_line_to(cairo, cx + ir * cos(phi), cy + ir * sin(phi));
+ if ( i % 5 == 0) {
+ char *num;
+ int x = cx+orT*cos(phi);
+ int y = cy+orT*sin(phi);
+ cairo_move_to(cairo, x-4, y+3);
+ asprintf(&num, "%0.f", (((i+15)%60)*0.2));
+ cairo_show_text (cairo, num);
+
+ x = cx+orTL*cos(phi);
+ y = cy+orTL*sin(phi);
+ cairo_move_to(cairo, x, y);
+ cairo_line_to(cairo, cx + ir * cos(phi), cy + ir * sin(phi));
+ } else {
+ int x = cx+orL*cos(phi);
+ int y = cy+orL*sin(phi);
+ cairo_move_to(cairo, x, y);
+ cairo_line_to(cairo, cx + ir * cos(phi), cy + ir * sin(phi));
+ }
+
}
cairo_set_line_width(cairo, context.marking_width * scale);
colour_set_cairo_source(cairo, &context.clock_colour);