Index: Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java =================================================================== RCS file: /home/eclipse/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java,v retrieving revision 1.114 diff -u -r1.114 GC.java --- Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java 1 Sep 2005 19:21:59 -0000 1.114 +++ Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java 2 Sep 2005 16:30:57 -0000 @@ -1050,19 +1050,19 @@ float naw2 = naw / 2f; float nah2 = nah / 2f; float fw = nw / naw2; -// float fh = nh / nah2; + float fh = nh / nah2; Cairo.cairo_save(cairo); float offset = data.lineWidth == 0 || (data.lineWidth % 2) == 1 ? 0.5f : 0f; Cairo.cairo_translate(cairo, nx + offset, ny + offset); Cairo.cairo_scale(cairo, naw2, nah2); Cairo.cairo_move_to(cairo, fw - 1, 0); -// Cairo.cairo_arc_to(cairo, 0, 0, 0, 1, 1); -// Cairo.cairo_arc_to(cairo, 0, fh, 1, fh, 1); -// Cairo.cairo_arc_to(cairo, fw, fh, fw, fh - 1, 1); -// Cairo.cairo_arc_to(cairo, fw, 0, fw - 1, 0, 1); + Cairo.cairo_arc(cairo, fw - 1, 1, 1, Math.PI + Math.PI/2.0, Math.PI*2.0); + Cairo.cairo_arc(cairo, fw - 1, fh - 1, 1, 0, Math.PI/2.0); + Cairo.cairo_arc(cairo, 1, fh - 1, 1, Math.PI/2, Math.PI); + Cairo.cairo_arc(cairo, 1, 1, 1, Math.PI, 270.0*Math.PI/180.0); Cairo.cairo_close_path(cairo); - Cairo.cairo_stroke(cairo); Cairo.cairo_restore(cairo); + Cairo.cairo_stroke(cairo); return; } int naw2 = naw / 2; @@ -1711,24 +1711,26 @@ float naw2 = naw / 2f; float nah2 = nah / 2f; float fw = nw / naw2; -// float fh = nh / nah2; + float fh = nh / nah2; int /*long*/ colormap = OS.gdk_colormap_get_system(); OS.gdk_colormap_query_color(colormap, color.pixel, color); Cairo.cairo_save(cairo); + Cairo.cairo_save(cairo); + Cairo.cairo_translate(cairo, nx, ny); + Cairo.cairo_scale(cairo, naw2, nah2); + Cairo.cairo_move_to(cairo, fw - 1, 0); + Cairo.cairo_arc(cairo, fw - 1, 1, 1, Math.PI + Math.PI/2.0, Math.PI*2.0); + Cairo.cairo_arc(cairo, fw - 1, fh - 1, 1, 0, Math.PI/2.0); + Cairo.cairo_arc(cairo, 1, fh - 1, 1, Math.PI/2, Math.PI); + Cairo.cairo_arc(cairo, 1, 1, 1, Math.PI, 270.0*Math.PI/180.0); + Cairo.cairo_close_path(cairo); + Cairo.cairo_restore(cairo); if (data.backgroundPattern != null) { Cairo.cairo_set_source(cairo, data.backgroundPattern.handle); } else { Cairo.cairo_set_source_rgba(cairo, (color.red & 0xFFFF) / (float)0xFFFF, (color.green & 0xFFFF) / (float)0xFFFF, (color.blue & 0xFFFF) / (float)0xFFFF, data.alpha / (float)0xFF); } - Cairo.cairo_translate(cairo, nx, ny); - Cairo.cairo_scale(cairo, naw2, nah2); - Cairo.cairo_move_to(cairo, fw - 1, 0); -// Cairo.cairo_arc_to(cairo, 0, 0, 0, 1, 1); -// Cairo.cairo_arc_to(cairo, 0, fh, 1, fh, 1); -// Cairo.cairo_arc_to(cairo, fw, fh, fw, fh - 1, 1); -// Cairo.cairo_arc_to(cairo, fw, 0, fw - 1, 0, 1); - Cairo.cairo_close_path(cairo); - Cairo.cairo_stroke(cairo); + Cairo.cairo_fill(cairo); Cairo.cairo_restore(cairo); return; }