diff options
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java index 61021eb94a..7063940529 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java @@ -422,7 +422,7 @@ int /*long*/ convertRgn(int /*long*/ rgn, double[] matrix) { pointArray[7] = (int)Math.round(y[0]); int /*long*/ polyRgn = OS.gdk_region_polygon(pointArray, pointArray.length / 2, OS.GDK_EVEN_ODD_RULE); OS.gdk_region_union(newRgn, polyRgn); - OS.gdk_region_destroy(polyRgn); + cairo_region_destroy(polyRgn); } if (rects[0] != 0) OS.g_free(rects[0]); return newRgn; @@ -558,9 +558,9 @@ public void copyArea(int srcX, int srcY, int width, int height, int destX, int d OS.gdk_region_subtract (invalidateRegion, visibleRegion); OS.gdk_region_offset (invalidateRegion, deltaX, deltaY); OS.gdk_window_invalidate_region(drawable, invalidateRegion, false); - OS.gdk_region_destroy (visibleRegion); - OS.gdk_region_destroy (copyRegion); - OS.gdk_region_destroy (invalidateRegion); + cairo_region_destroy (visibleRegion); + cairo_region_destroy (copyRegion); + cairo_region_destroy (invalidateRegion); } } } else { @@ -639,7 +639,7 @@ void destroy() { /* Free resources */ int /*long*/ clipRgn = data.clipRgn; - if (clipRgn != 0) OS.gdk_region_destroy(clipRgn); + if (clipRgn != 0) cairo_region_destroy (clipRgn); Image image = data.image; if (image != null) { image.memGC = null; @@ -1176,7 +1176,7 @@ void drawImageXRender(Image srcImage, int srcX, int srcY, int srcWidth, int srcH } OS.XRenderSetPictureClipRectangles(xDisplay, destPict, 0, 0, xRects, nRects[0]); if (clipping != data.clipRgn && clipping != data.damageRgn) { - OS.gdk_region_destroy(clipping); + cairo_region_destroy (clipping); } if (rects[0] != 0) OS.g_free(rects[0]); } @@ -2387,7 +2387,7 @@ public Rectangle getClipping() { if (data.clippingTransform != null) { clipRgn = convertRgn(clipRgn, data.clippingTransform); OS.gdk_region_intersect(rgn, clipRgn); - OS.gdk_region_destroy(clipRgn); + cairo_region_destroy (clipRgn); } else { OS.gdk_region_intersect(rgn, clipRgn); } @@ -2398,11 +2398,11 @@ public Rectangle getClipping() { Cairo.cairo_get_matrix(cairo, matrix); Cairo.cairo_matrix_invert(matrix); clipRgn = convertRgn(rgn, matrix); - OS.gdk_region_destroy(rgn); + cairo_region_destroy (rgn); rgn = clipRgn; } OS.gdk_region_get_clipbox(rgn, rect); - OS.gdk_region_destroy(rgn); + cairo_region_destroy (rgn); x = rect.x; y = rect.y; width = rect.width; @@ -2445,7 +2445,7 @@ public void getClipping(Region region) { if (data.clippingTransform != null) { int /*long*/ rgn = convertRgn(clipRgn, data.clippingTransform); OS.gdk_region_union(clipping, rgn); - OS.gdk_region_destroy(rgn); + cairo_region_destroy (rgn); } else { OS.gdk_region_union(clipping, clipRgn); } @@ -2461,7 +2461,7 @@ public void getClipping(Region region) { int /*long*/ rgn = convertRgn(clipping, matrix); OS.gdk_region_subtract(clipping, clipping); OS.gdk_region_union(clipping, rgn); - OS.gdk_region_destroy(rgn); + cairo_region_destroy (rgn); } } @@ -3303,7 +3303,7 @@ void setClipping(int /*long*/ clipRgn) { int /*long*/ cairo = data.cairo; if (clipRgn == 0) { if (data.clipRgn != 0) { - OS.gdk_region_destroy(data.clipRgn); + cairo_region_destroy (data.clipRgn); data.clipRgn = 0; } if (cairo != 0) { @@ -3329,7 +3329,7 @@ void setClipping(int /*long*/ clipRgn) { OS.gdk_region_intersect(clipping, data.damageRgn); } OS.gdk_gc_set_clip_region(handle, clipping); - if (clipping != clipRgn) OS.gdk_region_destroy(clipping); + if (clipping != clipRgn) cairo_region_destroy (clipping); } } } @@ -3366,7 +3366,7 @@ public void setClipping(int x, int y, int width, int height) { int /*long*/ clipRgn = OS.gdk_region_new(); OS.gdk_region_union_with_rect(clipRgn, rect); setClipping(clipRgn); - OS.gdk_region_destroy(clipRgn); + cairo_region_destroy (clipRgn); } /** @@ -4170,4 +4170,12 @@ public String toString () { return "GC {" + handle + "}"; } +void cairo_region_destroy (int /*long*/ region) { + if (OS.GTK_VERSION >= OS.VERSION(3, 0, 0)) { + Cairo.cairo_region_destroy( region); + } else { + OS.gdk_region_destroy (region); + } +} + } |