]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/gfx/clipboard/ImageDataTransfer.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.utils.ui / src / org / simantics / utils / ui / gfx / clipboard / ImageDataTransfer.java
index 19049c38cd3271d308b84d086c20dcbcfacc24d4..7d4ae0f8d78a6124e71865fb14f1373a867b80f5 100644 (file)
-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- *     VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.utils.ui.gfx.clipboard;\r
-\r
-import java.io.ByteArrayInputStream;\r
-import java.io.ByteArrayOutputStream;\r
-import java.io.IOException;\r
-import java.io.InputStream;\r
-\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.dnd.ByteArrayTransfer;\r
-import org.eclipse.swt.dnd.TransferData;\r
-import org.eclipse.swt.graphics.ImageData;\r
-import org.eclipse.swt.graphics.ImageLoader;\r
-import org.simantics.utils.ui.ErrorLogger;\r
-import org.simantics.utils.ui.gfx.clipboard.headers.Win32Constants;\r
-import org.simantics.utils.ui.gfx.clipboard.streams.AddBitmapHeaderInputStream;\r
-import org.simantics.utils.ui.gfx.clipboard.streams.RemoveBitmapHeaderOutputStream;\r
-import org.simantics.utils.ui.gfx.clipboard.streams.UncompressedDIBInputStream;\r
-\r
-\r
-/**\r
- * Transfer class for handing image cut/copy/paste operations between Eclipse\r
- * and native WIN32 apps\r
- * \r
- * @author Marko Luukkainen\r
- *\r
- */\r
-public class ImageDataTransfer extends ByteArrayTransfer {\r
-\r
-    private static final ImageDataTransfer instance = new ImageDataTransfer();\r
-\r
-    private static final String CF_DIB = "CF_DIB";\r
-\r
-    private ImageDataTransfer() {\r
-        //\r
-    }\r
-\r
-    public static ImageDataTransfer getInstance() {\r
-        return ImageDataTransfer.instance;\r
-    }\r
-\r
-    /* (non-Javadoc)\r
-     * @see org.eclipse.swt.dnd.Transfer#getTypeIds()\r
-     */\r
-    @Override\r
-    protected final int[] getTypeIds() {\r
-        return new int[] { Win32Constants.CF_DIB };\r
-    }\r
-\r
-    /* (non-Javadoc)\r
-     * @see org.eclipse.swt.dnd.Transfer#getTypeNames()\r
-     */\r
-    @Override\r
-    protected final String[] getTypeNames() {\r
-        return new String[] { ImageDataTransfer.CF_DIB };\r
-    }\r
-\r
-    /* (non-Javadoc)\r
-     * @see org.eclipse.swt.dnd.ByteArrayTransfer#nativeToJava(org.eclipse.swt.dnd.TransferData)\r
-     */\r
-    @Override\r
-    protected Object nativeToJava(TransferData transferData) {\r
-        final Object o = super.nativeToJava(transferData);\r
-        final byte[] bytes = (byte[]) o;\r
-\r
-        try {\r
-            final InputStream iStream = new AddBitmapHeaderInputStream(\r
-                    new UncompressedDIBInputStream(new ByteArrayInputStream(\r
-                            bytes)));\r
-            final ImageData[] data = new ImageLoader().load(iStream);\r
-            if (data.length <= 0) {\r
-                return null;\r
-            }\r
-            return data[0];\r
-        } catch (IOException e) {\r
-            ErrorLogger.defaultLogError("Cannot get image from clipboard", e);\r
-            return null;\r
-        }\r
-    }\r
-\r
-    /* (non-Javadoc)\r
-     * @see org.eclipse.swt.dnd.ByteArrayTransfer#javaToNative(java.lang.Object, org.eclipse.swt.dnd.TransferData)\r
-     */\r
-    @Override\r
-    protected void javaToNative(Object object, TransferData transferData) {\r
-        final ImageData imgData = (ImageData) object;\r
-        final ImageLoader loader = new ImageLoader();\r
-        final ByteArrayOutputStream oStream = new ByteArrayOutputStream();\r
-        final byte[] bytes;\r
-\r
-        loader.data = new ImageData[] { imgData };\r
-        loader.save(new RemoveBitmapHeaderOutputStream(oStream), SWT.IMAGE_BMP);\r
-        bytes = oStream.toByteArray();\r
-        super.javaToNative(bytes, transferData);\r
-    }\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.utils.ui.gfx.clipboard;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.dnd.ByteArrayTransfer;
+import org.eclipse.swt.dnd.TransferData;
+import org.eclipse.swt.graphics.ImageData;
+import org.eclipse.swt.graphics.ImageLoader;
+import org.simantics.utils.ui.ErrorLogger;
+import org.simantics.utils.ui.gfx.clipboard.headers.Win32Constants;
+import org.simantics.utils.ui.gfx.clipboard.streams.AddBitmapHeaderInputStream;
+import org.simantics.utils.ui.gfx.clipboard.streams.RemoveBitmapHeaderOutputStream;
+import org.simantics.utils.ui.gfx.clipboard.streams.UncompressedDIBInputStream;
+
+
+/**
+ * Transfer class for handing image cut/copy/paste operations between Eclipse
+ * and native WIN32 apps
+ * 
+ * @author Marko Luukkainen
+ *
+ */
+public class ImageDataTransfer extends ByteArrayTransfer {
+
+    private static final ImageDataTransfer instance = new ImageDataTransfer();
+
+    private static final String CF_DIB = "CF_DIB";
+
+    private ImageDataTransfer() {
+        //
+    }
+
+    public static ImageDataTransfer getInstance() {
+        return ImageDataTransfer.instance;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.swt.dnd.Transfer#getTypeIds()
+     */
+    @Override
+    protected final int[] getTypeIds() {
+        return new int[] { Win32Constants.CF_DIB };
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.swt.dnd.Transfer#getTypeNames()
+     */
+    @Override
+    protected final String[] getTypeNames() {
+        return new String[] { ImageDataTransfer.CF_DIB };
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.swt.dnd.ByteArrayTransfer#nativeToJava(org.eclipse.swt.dnd.TransferData)
+     */
+    @Override
+    protected Object nativeToJava(TransferData transferData) {
+        final Object o = super.nativeToJava(transferData);
+        final byte[] bytes = (byte[]) o;
+
+        try {
+            final InputStream iStream = new AddBitmapHeaderInputStream(
+                    new UncompressedDIBInputStream(new ByteArrayInputStream(
+                            bytes)));
+            final ImageData[] data = new ImageLoader().load(iStream);
+            if (data.length <= 0) {
+                return null;
+            }
+            return data[0];
+        } catch (IOException e) {
+            ErrorLogger.defaultLogError("Cannot get image from clipboard", e);
+            return null;
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.swt.dnd.ByteArrayTransfer#javaToNative(java.lang.Object, org.eclipse.swt.dnd.TransferData)
+     */
+    @Override
+    protected void javaToNative(Object object, TransferData transferData) {
+        final ImageData imgData = (ImageData) object;
+        final ImageLoader loader = new ImageLoader();
+        final ByteArrayOutputStream oStream = new ByteArrayOutputStream();
+        final byte[] bytes;
+
+        loader.data = new ImageData[] { imgData };
+        loader.save(new RemoveBitmapHeaderOutputStream(oStream), SWT.IMAGE_BMP);
+        bytes = oStream.toByteArray();
+        super.javaToNative(bytes, transferData);
+    }
+}