diff options
author | Silenio Quarti <silenio> | 2004-11-23 20:09:07 +0000 |
---|---|---|
committer | Silenio Quarti <silenio> | 2004-11-23 20:09:07 +0000 |
commit | d1afbf94201cf832e494f22c3f0f4bdd33ff5db2 (patch) | |
tree | 8f573021af5ac28553e23d4ae175c817133e900f /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java | |
parent | 65c1946d30d7cafb1a58cba97204d0262b20b59e (diff) | |
download | eclipse.platform.swt-d1afbf94201cf832e494f22c3f0f4bdd33ff5db2.tar.gz eclipse.platform.swt-d1afbf94201cf832e494f22c3f0f4bdd33ff5db2.tar.xz eclipse.platform.swt-d1afbf94201cf832e494f22c3f0f4bdd33ff5db2.zip |
*** empty log message ***
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java index 332a7550f7..3a7531a7f6 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java @@ -152,7 +152,7 @@ public Cursor(Device device, int style) { SWT.error(SWT.ERROR_INVALID_ARGUMENT); } if (shape == 0 && style == SWT.CURSOR_APPSTARTING) { - handle = createCursor(APPSTARTING_SRC, APPSTARTING_MASK, 32, 32, 2, 2); + handle = createCursor(APPSTARTING_SRC, APPSTARTING_MASK, 32, 32, 2, 2, false); } else { handle = OS.gdk_cursor_new(shape); } @@ -245,7 +245,7 @@ public Cursor(Device device, ImageData source, ImageData mask, int hotspotX, int maskData[i] = (byte) ~maskData[i]; } maskData = ImageData.convertPad(maskData, mask.width, mask.height, mask.depth, mask.scanlinePad, 1); - handle = createCursor(sourceData, maskData, source.width, source.height, hotspotX, hotspotY); + handle = createCursor(maskData, sourceData, source.width, source.height, hotspotX, hotspotY, true); if (handle == 0) SWT.error(SWT.ERROR_NO_HANDLES); if (device.tracking) device.new_Object(this); } @@ -340,19 +340,20 @@ public Cursor(Device device, ImageData source, int hotspotX, int hotspotY) { ((s & 0x01) << 7)); } maskData = ImageData.convertPad(maskData, mask.width, mask.height, mask.depth, mask.scanlinePad, 1); - handle = createCursor(sourceData, maskData, source.width, source.height, hotspotX, hotspotY); + handle = createCursor(sourceData, maskData, source.width, source.height, hotspotX, hotspotY, false); if (handle == 0) SWT.error(SWT.ERROR_NO_HANDLES); if (device.tracking) device.new_Object(this); } -int /*long*/ createCursor(byte[] sourceData, byte[] maskData, int width, int height, int hotspotX, int hotspotY) { +int /*long*/ createCursor(byte[] sourceData, byte[] maskData, int width, int height, int hotspotX, int hotspotY, boolean reverse) { int /*long*/ sourcePixmap = OS.gdk_bitmap_create_from_data(0, sourceData, width, height); int /*long*/ maskPixmap = OS.gdk_bitmap_create_from_data(0, maskData, width, height); int /*long*/ cursor = 0; if (sourcePixmap != 0 && maskPixmap != 0) { GdkColor foreground = new GdkColor(); - foreground.red = foreground.green = foreground.blue = (short)0xFFFF; + if (!reverse) foreground.red = foreground.green = foreground.blue = (short)0xFFFF; GdkColor background = new GdkColor(); + if (reverse) background.red = background.green = background.blue = (short)0xFFFF; cursor = OS.gdk_cursor_new_from_pixmap (sourcePixmap, maskPixmap, foreground, background, hotspotX, hotspotY); } if (sourcePixmap != 0) OS.g_object_unref (sourcePixmap); |