diff options
Diffstat (limited to 'src/imagedisplay.c')
-rw-r--r-- | src/imagedisplay.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/imagedisplay.c b/src/imagedisplay.c index c70d8a8..3877da8 100644 --- a/src/imagedisplay.c +++ b/src/imagedisplay.c @@ -207,16 +207,30 @@ static gboolean imagedisplay_redraw(GtkWidget *drawingarea, GdkEventExpose *even GdkGC *gc; - if ( cur->type == IMAGEDISPLAY_MARK_CIRCLE_2 ) { - gc = imagedisplay->gc_marks_2; - } else { - gc = imagedisplay->gc_marks_1; + switch ( cur->type ) { + case IMAGEDISPLAY_MARK_CIRCLE_1 : gc = imagedisplay->gc_marks_1; break; + case IMAGEDISPLAY_MARK_CIRCLE_2 : gc = imagedisplay->gc_marks_2; break; + case IMAGEDISPLAY_MARK_LINE_1 : gc = imagedisplay->gc_marks_1; break; + default : gc = imagedisplay->gc_marks_1; break; } - gdk_draw_arc(drawingarea->window, gc, FALSE, + if ( (cur->type == IMAGEDISPLAY_MARK_CIRCLE_1) || (cur->type == IMAGEDISPLAY_MARK_CIRCLE_2) ) { + + gdk_draw_arc(drawingarea->window, gc, FALSE, xoffs + cur->x*scale - 5, yoffs + imagedisplay->view_height-1-cur->y*scale - 5, 11, 11, 0, 64*360); + + } else if ( (cur->type == IMAGEDISPLAY_MARK_LINE_1) || (cur->type == IMAGEDISPLAY_MARK_LINE_2) ) { + + gdk_draw_line(drawingarea->window, gc, + xoffs + cur->x*scale, + yoffs + imagedisplay->view_height-1-cur->y*scale, + xoffs + cur->x2*scale, + yoffs + imagedisplay->view_height-1-cur->y2*scale ); + + } + cur = cur->next; } |