Mercurial > projects > dwt-linux
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) {