changeset 1284:8cb3650eb242

Fixed ellipses in GTK2.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 31 Oct 2011 06:06:09 +0000
parents 87d6d11b6323
children 2c04a56eaf63
files gtk/dw.c
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/gtk/dw.c	Mon Oct 31 03:03:07 2011 +0000
+++ b/gtk/dw.c	Mon Oct 31 06:06:09 2011 +0000
@@ -8076,6 +8076,8 @@
    double dx = xorigin - x1;
    double dy = yorigin - y1;
    double r = sqrt(dx*dx + dy*dy);
+   int width = (int)(r*2);
+   int height = width;
 
    DW_MUTEX_LOCK;
    if(handle)
@@ -8116,6 +8118,8 @@
       {
          radius1 = 0.0;
          radius2 = 360.0;
+         width = x2-x1;
+         height = y2-y1;
       }
       else
       {
@@ -8127,7 +8131,7 @@
       while (alpha2 <= 0) alpha2 += 360*64;
       while (alpha1 > 360*64) alpha1 -= 360*64;
 
-      gdk_draw_arc(handle ? handle->window : pixmap->pixmap, gc, FALSE, xorigin-r, yorigin-r, 2*r,2*r, alpha1, alpha2);
+      gdk_draw_arc(handle ? handle->window : pixmap->pixmap, gc, FALSE, xorigin-(width/2), yorigin-(height/2), width, height, alpha1, alpha2);
       gdk_gc_unref(gc);
    }
    DW_MUTEX_UNLOCK;