changeset 106:ed7dd292bfb3

Ported dwt.dnd.ImageTransfer
author Jacob Carlborg <doob@me.com>
date Wed, 31 Dec 2008 14:43:40 +0100
parents 6a1ed74f02e8
children 6b8fcfda8b57
files dwt/dnd/ImageTransfer.d
diffstat 1 files changed, 25 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/dnd/ImageTransfer.d	Wed Dec 31 14:40:50 2008 +0100
+++ b/dwt/dnd/ImageTransfer.d	Wed Dec 31 14:43:40 2008 +0100
@@ -8,6 +8,9 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *     Outhink - support for typeFileURL
+ *     
+ * Port to the D programming language:
+ *     Jacob Carlborg <doob@me.com>
  *******************************************************************************/
 module dwt.dnd.ImageTransfer;
 
@@ -21,6 +24,10 @@
 import dwt.internal.cocoa.OS;
 import dwt.widgets.Display;
 
+import dwt.dnd.DND;
+import dwt.dnd.ByteArrayTransfer;
+import dwt.dnd.TransferData;
+
 /**
  * The class <code>ImageTransfer</code> provides a platform specific mechanism 
  * for converting an Image represented as a java <code>ImageData</code> to a 
@@ -37,13 +44,20 @@
  * 
  * @since 3.4
  */
-public class ImageTransfer extends ByteArrayTransfer {
+public class ImageTransfer : ByteArrayTransfer {
+
+static ImageTransfer _instance;
+static const String TIFF;
+static const int TIFFID;
 
-static ImageTransfer _instance = new ImageTransfer();
-static final String TIFF = OS.NSTIFFPboardType.getString();
-static final int TIFFID = registerType(TIFF);
+static this ()
+{
+    _instance = new ImageTransfer();
+    TIFF = OS.NSTIFFPboardType.getString();
+    TIFFID = registerType(TIFF);
+}
 
-ImageTransfer() {
+this() {
 }
 
 /**
@@ -69,7 +83,7 @@
     if (!checkImage(object) || !isSupportedType(transferData)) {
         DND.error(DND.ERROR_INVALID_DATA);
     }
-    ImageData imgData = (ImageData) object;
+    ImageData imgData = cast(ImageData) object;
     Image image = new Image(Display.getCurrent(), imgData);
     NSImage handle = image.handle;
     transferData.data = handle.TIFFRepresentation();
@@ -88,9 +102,9 @@
  */
 public Object nativeToJava(TransferData transferData) {
     if (!isSupportedType(transferData) || transferData.data is null) return null;
-    NSData data = (NSData) transferData.data;
+    NSData data = cast(NSData) transferData.data;
     if (data.length() is 0) return null;
-    NSImage nsImage = (NSImage) new NSImage().alloc();
+    NSImage nsImage = cast(NSImage) (new NSImage()).alloc();
     nsImage.initWithData(data);
     //TODO: Image representation wrong???
     Image image = Image.cocoa_new(Display.getCurrent(), DWT.BITMAP, nsImage);
@@ -100,15 +114,15 @@
 }
 
 protected int[] getTypeIds() {
-    return new int[] { TIFFID };
+    return [ TIFFID ];
 }
 
 protected String[] getTypeNames() {
-    return new String[] { TIFF };
+    return [ TIFF ];
 }
 
 bool checkImage(Object object) {
-    if (object is null || !(object instanceof ImageData)) return false;
+    if (object is null || !(cast(ImageData) object)) return false;
     return true;
 }