]> Pileus Git - grits/blobdiff - src/objects/grits-marker.c
Convert to GtkAllocation
[grits] / src / objects / grits-marker.c
index e7cd4c61931dd22d2dbccea1bee4d67be80efc33..40d45f4e57fa8ee2363085f276090f993f3b146a 100644 (file)
@@ -39,8 +39,9 @@
 static void render_point(GritsMarker *marker)
 {
        /* Draw outline */
-       cairo_set_source_rgba(marker->cairo, 0, 0, 0, 1);
+       cairo_set_line_join(marker->cairo, CAIRO_LINE_JOIN_ROUND);
        cairo_set_line_width(marker->cairo, marker->outline*2);
+       cairo_set_source_rgba(marker->cairo, 0, 0, 0, 1);
 
        cairo_arc(marker->cairo, marker->xoff, marker->yoff, marker->radius,
                  0, 2*G_PI);
@@ -58,6 +59,9 @@ static void render_label(GritsMarker *marker)
 {
        g_assert(marker->label);
 
+       /* Draw outline */
+       cairo_set_line_join(marker->cairo, CAIRO_LINE_JOIN_ROUND);
+       cairo_set_line_width(marker->cairo, marker->outline*2);
        cairo_set_source_rgba(marker->cairo, 0, 0, 0, 1);
        cairo_select_font_face(marker->cairo, "sans-serif",
                        CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
@@ -252,11 +256,12 @@ static void grits_marker_draw(GritsObject *_marker, GritsOpenGL *opengl)
                                point->lat, point->lon, point->elev,
                                &px, &py, &pz);
 
-               gint win_height = GTK_WIDGET(opengl)->allocation.height;
                if (pz > 1)
                        return;
 
-               glTranslated(px, win_height-py, 0);
+               GtkAllocation alloc;
+               gtk_widget_get_allocation(GTK_WIDGET(opengl), &alloc);
+               glTranslated(px, alloc.height-py, 0);
                glRotatef(marker->angle, 0, 0, -1);
                glTranslated(-marker->xoff, -marker->yoff, 0);
        } else {