diff dwt/graphics/Transform.d @ 34:5123b17c98ef

Ported dwt.events.*, dwt.graphics.GC, Region, dwt.internal.image.*
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Sun, 14 Sep 2008 01:45:57 +0200
parents 1a8b3cb347e0
children db5a898b2119
line wrap: on
line diff
--- a/dwt/graphics/Transform.d	Fri Sep 12 13:53:21 2008 +0200
+++ b/dwt/graphics/Transform.d	Sun Sep 14 01:45:57 2008 +0200
@@ -7,11 +7,12 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
+ *     
+ * Port to the D programming language:
+ *     Jacob Carlborg <jacob.carlborg@gmail.com>
  *******************************************************************************/
 module dwt.graphics.Transform;
 
-import dwt.dwthelper.utils;
-
 import dwt.DWT;
 import dwt.DWTError;
 import dwt.DWTException;
@@ -19,6 +20,12 @@
 import dwt.internal.cocoa.NSAffineTransformStruct;
 import dwt.internal.cocoa.NSPoint;
 
+import tango.text.convert.Format;
+
+import dwt.dwthelper.utils;
+import dwt.graphics.Device;
+import dwt.graphics.Resource;
+
 /**
  * Instances of this class represent transformation matrices for 
  * points expressed as (x, y) pairs of floating point numbers.
@@ -169,21 +176,21 @@
     if (isDisposed()) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED);
     if (elements is null) DWT.error(DWT.ERROR_NULL_ARGUMENT);
     if (elements.length < 6) DWT.error(DWT.ERROR_INVALID_ARGUMENT);
-    NSAffineTransformStruct struct = handle.transformStruct();
-    elements[0] = struct.m11;
-    elements[1] = struct.m12;
-    elements[2] = struct.m21;
-    elements[3] = struct.m22;
-    elements[4] = struct.tX;
-    elements[5] = struct.tY;
+    NSAffineTransformStruct structt = handle.transformStruct();
+    elements[0] = structt.m11;
+    elements[1] = structt.m12;
+    elements[2] = structt.m21;
+    elements[3] = structt.m22;
+    elements[4] = structt.tX;
+    elements[5] = structt.tY;
 }
 
 public void identity() {
     if (isDisposed()) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED);
-    NSAffineTransformStruct struct = new NSAffineTransformStruct();
-    struct.m11 = 1;
-    struct.m22 = 1;
-    handle.setTransformStruct(struct);
+    NSAffineTransformStruct structt = NSAffineTransformStruct();
+    structt.m11 = 1;
+    structt.m22 = 1;
+    handle.setTransformStruct(structt);
 }
 
 /**
@@ -197,8 +204,8 @@
  */
 public void invert() {
     if (isDisposed()) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED);
-    NSAffineTransformStruct struct = handle.transformStruct();
-    if ((struct.m11 * struct.m22 - struct.m12 * struct.m21) is 0) {
+    NSAffineTransformStruct structt = handle.transformStruct();
+    if ((structt.m11 * structt.m22 - structt.m12 * structt.m21) is 0) {
         DWT.error(DWT.ERROR_CANNOT_INVERT_MATRIX);
     }
     handle.invert();
@@ -226,8 +233,8 @@
  */
 public bool isIdentity() {
     if (isDisposed()) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED);
-    NSAffineTransformStruct struct = handle.transformStruct();
-    return struct.m11 is 1 && struct.m12 is 0 && struct.m21 is 0 && struct.m22 is 1 && struct.tX is 0 && struct.tY is 0;
+    NSAffineTransformStruct structt = handle.transformStruct();
+    return structt.m11 is 1 && structt.m12 is 0 && structt.m21 is 0 && structt.m22 is 1 && structt.tX is 0 && structt.tY is 0;
 }
 
 /**
@@ -303,25 +310,25 @@
  */
 public void setElements(float m11, float m12, float m21, float m22, float dx, float dy) {
     if (isDisposed()) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED);
-    NSAffineTransformStruct struct = new NSAffineTransformStruct();
-    struct.m11 = m11;
-    struct.m12 = m12;
-    struct.m21 = m21;
-    struct.m22 = m22;
-    struct.tX = dx;
-    struct.tY = dy;
-    handle.setTransformStruct(struct);
+    NSAffineTransformStruct structt = NSAffineTransformStruct();
+    structt.m11 = m11;
+    structt.m12 = m12;
+    structt.m21 = m21;
+    structt.m22 = m22;
+    structt.tX = dx;
+    structt.tY = dy;
+    handle.setTransformStruct(structt);
 }
 
 public void shear(float shearX, float shearY) {
     if (isDisposed()) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED);
-    NSAffineTransformStruct struct = new NSAffineTransformStruct();
-    struct.m11 = 1;
-    struct.m12 = shearX;
-    struct.m21 = shearY;
-    struct.m22 = 1;
+    NSAffineTransformStruct structt = NSAffineTransformStruct();
+    structt.m11 = 1;
+    structt.m12 = shearX;
+    structt.m21 = shearY;
+    structt.m22 = 1;
     NSAffineTransform matrix = NSAffineTransform.transform();
-    matrix.setTransformStruct(struct);
+    matrix.setTransformStruct(structt);
     handle.prependTransform(matrix);
 }
 
@@ -342,8 +349,8 @@
 public void transform(float[] pointArray) {
     if (isDisposed()) DWT.error(DWT.ERROR_GRAPHIC_DISPOSED);
     if (pointArray is null) DWT.error(DWT.ERROR_NULL_ARGUMENT);
-    NSPoint point = new NSPoint();
-    int length = pointArray.length / 2;
+    NSPoint point = NSPoint();
+    size_t length = pointArray.length / 2;
     for (int i = 0, j = 0; i < length; i++, j += 2) {
         point.x = pointArray[j];
         point.y = pointArray[j + 1];
@@ -379,7 +386,7 @@
     if (isDisposed()) return "Transform {*DISPOSED*}";
     float[] elements = new float[6];
     getElements(elements);
-    return "Transform {" + elements [0] + ", " + elements [1] + ", " +elements [2] + ", " +elements [3] + ", " +elements [4] + ", " +elements [5] + "}";
+    return Format("Transform {{}{}{}{}{}{}{}{}{}{}{}{}" , elements [0] , ", " , elements [1] , ", " ,elements [2] , ", " ,elements [3] , ", " ,elements [4] , ", " ,elements [5] , "}");
 }
 
 }