X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=src%2Fobjects%2Fgrits-marker.c;h=35103538dfa6975454932adc822c9a1f8f8b7d70;hb=cca3466d1d77b5de277631d51b08753978d8f6b1;hp=338cf1b76af416d2becffb8b4ed0fa680009b858;hpb=c0b5dcba0863a08d985b5b080ef3191b1c928b04;p=grits diff --git a/src/objects/grits-marker.c b/src/objects/grits-marker.c index 338cf1b..3510353 100644 --- a/src/objects/grits-marker.c +++ b/src/objects/grits-marker.c @@ -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); @@ -129,6 +133,8 @@ GritsMarker *grits_marker_new(const gchar *label) { GritsMarker *marker = g_object_new(GRITS_TYPE_MARKER, NULL); + GRITS_OBJECT(marker)->skip = GRITS_SKIP_CENTER; + marker->display_mask = GRITS_MARKER_DMASK_POINT | GRITS_MARKER_DMASK_LABEL; @@ -250,14 +256,10 @@ static void grits_marker_draw(GritsObject *_marker, GritsOpenGL *opengl) point->lat, point->lon, point->elev, &px, &py, &pz); - gint win_width = GTK_WIDGET(opengl)->allocation.width; gint win_height = GTK_WIDGET(opengl)->allocation.height; if (pz > 1) return; - glMatrixMode(GL_PROJECTION); glLoadIdentity(); - glMatrixMode(GL_MODELVIEW); glLoadIdentity(); - glOrtho(0, win_width, win_height, 0, 1, -1); glTranslated(px, win_height-py, 0); glRotatef(marker->angle, 0, 0, -1); glTranslated(-marker->xoff, -marker->yoff, 0);