diff dwt/graphics/Path.d @ 33:27324bbbac70

changed to regenerated BCD bindings
author Frank Benoit <benoit@tionex.de>
date Thu, 10 Jan 2008 02:18:07 +0100
parents fc2b263b8a3f
children 93981635e709
line wrap: on
line diff
--- a/dwt/graphics/Path.d	Wed Jan 09 07:07:50 2008 +0100
+++ b/dwt/graphics/Path.d	Thu Jan 10 02:18:07 2008 +0100
@@ -13,7 +13,6 @@
 import dwt.SWT;
 import dwt.internal.Compatibility;
 import dwt.internal.cairo.Cairo;
-import dwt.internal.gtk.c.cairotypes;
 import dwt.graphics.Resource;
 import dwt.graphics.Device;
 import dwt.graphics.Font;
@@ -84,7 +83,7 @@
 	if (device is null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
 	this.device = device;
 	device.checkCairo();
-	auto surface = Cairo.cairo_image_surface_create(cast(cairo_format_t)Cairo.CAIRO_FORMAT_ARGB32, 1, 1);
+	auto surface = Cairo.cairo_image_surface_create(Cairo.CAIRO_FORMAT_ARGB32, 1, 1);
 	if (surface is null) SWT.error(SWT.ERROR_NO_HANDLES);
 	handle = Cairo.cairo_create(surface);
 	Cairo.cairo_surface_destroy(surface);
@@ -337,36 +336,36 @@
 		cairo_path_data_t* data = new cairo_path_data_t();
 		while (i < path.num_data) {
 			*data = path.data[i];
-			switch (data.type) {
+			switch (data.header.type) {
 				case Cairo.CAIRO_PATH_MOVE_TO:
-					minX = Math.min(minX, path.data[i+1].x);
-					minY = Math.min(minY, path.data[i+1].y);
-					maxX = Math.max(maxX, path.data[i+1].x);
-					maxY = Math.max(maxY, path.data[i+1].y);
+					minX = Math.min(minX, path.data[i+1].point.x);
+					minY = Math.min(minY, path.data[i+1].point.y);
+					maxX = Math.max(maxX, path.data[i+1].point.x);
+					maxY = Math.max(maxY, path.data[i+1].point.y);
 					break;
 				case Cairo.CAIRO_PATH_LINE_TO:
-                    minX = Math.min(minX, path.data[i+1].x);
-                    minY = Math.min(minY, path.data[i+1].y);
-                    maxX = Math.max(maxX, path.data[i+1].x);
-                    maxY = Math.max(maxY, path.data[i+1].y);
+                    minX = Math.min(minX, path.data[i+1].point.x);
+                    minY = Math.min(minY, path.data[i+1].point.y);
+                    maxX = Math.max(maxX, path.data[i+1].point.x);
+                    maxY = Math.max(maxY, path.data[i+1].point.y);
 					break;
 				case Cairo.CAIRO_PATH_CURVE_TO:
-                    minX = Math.min(minX, path.data[i+1].x);
-                    minY = Math.min(minY, path.data[i+1].y);
-                    maxX = Math.max(maxX, path.data[i+1].x);
-                    maxY = Math.max(maxY, path.data[i+1].y);
-                    minX = Math.min(minX, path.data[i+2].x);
-                    minY = Math.min(minY, path.data[i+2].y);
-                    maxX = Math.max(maxX, path.data[i+2].x);
-                    maxY = Math.max(maxY, path.data[i+2].y);
-                    minX = Math.min(minX, path.data[i+3].x);
-                    minY = Math.min(minY, path.data[i+3].y);
-                    maxX = Math.max(maxX, path.data[i+3].x);
-                    maxY = Math.max(maxY, path.data[i+3].y);
+                    minX = Math.min(minX, path.data[i+1].point.x);
+                    minY = Math.min(minY, path.data[i+1].point.y);
+                    maxX = Math.max(maxX, path.data[i+1].point.x);
+                    maxY = Math.max(maxY, path.data[i+1].point.y);
+                    minX = Math.min(minX, path.data[i+2].point.x);
+                    minY = Math.min(minY, path.data[i+2].point.y);
+                    maxX = Math.max(maxX, path.data[i+2].point.x);
+                    maxY = Math.max(maxY, path.data[i+2].point.y);
+                    minX = Math.min(minX, path.data[i+3].point.x);
+                    minY = Math.min(minY, path.data[i+3].point.y);
+                    maxX = Math.max(maxX, path.data[i+3].point.x);
+                    maxY = Math.max(maxY, path.data[i+3].point.y);
 					break;
 				case Cairo.CAIRO_PATH_CLOSE_PATH: break;
 			}
-			i += data.length;
+			i += data.header.length;
 		}
 	}
 	bounds[0] = cast(float)minX;
@@ -425,31 +424,31 @@
 		double[] points = new double[6];
 		cairo_path_data_t* data = new cairo_path_data_t();
 		while (i < path.num_data) {
-			switch (data.type) {
+			switch (data.header.type) {
 				case Cairo.CAIRO_PATH_MOVE_TO:
 					types[typeIndex++] = SWT.PATH_MOVE_TO;
-					pts[ptsIndex++] = cast(float)path.data[i+1].x;
-					pts[ptsIndex++] = cast(float)path.data[i+1].y;
+					pts[ptsIndex++] = cast(float)path.data[i+1].point.x;
+					pts[ptsIndex++] = cast(float)path.data[i+1].point.y;
 					break;
 				case Cairo.CAIRO_PATH_LINE_TO:
 					types[typeIndex++] = SWT.PATH_LINE_TO;
-                    pts[ptsIndex++] = cast(float)path.data[i+1].x;
-                    pts[ptsIndex++] = cast(float)path.data[i+1].y;
+                    pts[ptsIndex++] = cast(float)path.data[i+1].point.x;
+                    pts[ptsIndex++] = cast(float)path.data[i+1].point.y;
 					break;
 				case Cairo.CAIRO_PATH_CURVE_TO:
 					types[typeIndex++] = SWT.PATH_CUBIC_TO;
-                    pts[ptsIndex++] = cast(float)path.data[i+1].x;
-                    pts[ptsIndex++] = cast(float)path.data[i+1].y;
-                    pts[ptsIndex++] = cast(float)path.data[i+2].x;
-                    pts[ptsIndex++] = cast(float)path.data[i+2].y;
-                    pts[ptsIndex++] = cast(float)path.data[i+3].x;
-                    pts[ptsIndex++] = cast(float)path.data[i+3].y;
+                    pts[ptsIndex++] = cast(float)path.data[i+1].point.x;
+                    pts[ptsIndex++] = cast(float)path.data[i+1].point.y;
+                    pts[ptsIndex++] = cast(float)path.data[i+2].point.x;
+                    pts[ptsIndex++] = cast(float)path.data[i+2].point.y;
+                    pts[ptsIndex++] = cast(float)path.data[i+3].point.x;
+                    pts[ptsIndex++] = cast(float)path.data[i+3].point.y;
 					break;
 				case Cairo.CAIRO_PATH_CLOSE_PATH:
 					types[typeIndex++] = SWT.PATH_CLOSE;
 					break;
 			}
-			i += data.length;
+			i += data.header.length;
 		}
 	}
 	if (typeIndex != types.length) {