diff options
author | Sravan Kumar Lakkimsetti | 2015-11-12 16:07:28 +0000 |
---|---|---|
committer | Sravan Kumar Lakkimsetti | 2015-11-12 16:14:33 +0000 |
commit | b34f858921a73c45b23f5cbac260649755e49022 (patch) | |
tree | d7f9627901899854fd7783bb1da35ae90ca06f87 /bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse | |
parent | 88ac02b648e4e21d30b198fc3515b5842d685420 (diff) | |
download | eclipse.platform.swt-b34f858921a73c45b23f5cbac260649755e49022.tar.gz eclipse.platform.swt-b34f858921a73c45b23f5cbac260649755e49022.tar.xz eclipse.platform.swt-b34f858921a73c45b23f5cbac260649755e49022.zip |
Bug 399786 - [Cocoa][GTK][Win32][Retina] GC#draw*(..) needs to support
high-DPI images
-applying the auto scaling changes
Change-Id: I8f0311c4dedf7265cb2ddd1af3cb7c3dabdf7182
Signed-off-by: Sravan Kumar Lakkimsetti <sravankumarl@in.ibm.com>
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/Image.java | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/Image.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/Image.java index 3c9dd3d373..6342e0188c 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/Image.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/Image.java @@ -674,9 +674,7 @@ public Image(Device device, ImageFileNameProvider imageFileNameProvider) { initNative (fileName); if (this.handle == 0) init(new ImageData (fileName)); } else { - float scaleFactor = currentDeviceZoom / 100; - ImageData data = new ImageData(fileName); - ImageData resizedData = data.scaledTo((int)(data.width * scaleFactor), (int)(data.height * scaleFactor)); + ImageData resizedData = DPIUtil.autoScaleImageFileName(fileName, currentDeviceZoom); init(resizedData); } init(); @@ -720,8 +718,7 @@ public Image(Device device, ImageDataProvider imageDataProvider) { if (found[0]) { init(data); } else { - float scaleFactor = currentDeviceZoom / 100; - ImageData resizedData = data.scaledTo((int)(data.width * scaleFactor), (int)(data.height * scaleFactor)); + ImageData resizedData = DPIUtil.autoScaleImageData(data, currentDeviceZoom); init (resizedData); } init(); @@ -749,11 +746,9 @@ boolean refreshImageForZoom () { refreshed = true; } if (!found[0]) { - float scaleFactor = deviceZoomLevel/100; /* Release current native resources */ destroy (); - ImageData data = new ImageData(filename); - ImageData resizedData = data.scaledTo((int)(data.width * scaleFactor), (int)(data.height * scaleFactor)); + ImageData resizedData = DPIUtil.autoScaleImageFileName(filename, deviceZoomLevel); init(resizedData); init (); refreshed = true; @@ -774,10 +769,9 @@ boolean refreshImageForZoom () { refreshed = true; } if (!found[0]) { - float scaleFactor = deviceZoomLevel/100; /* Release current native resources */ destroy (); - ImageData resizedData = data.scaledTo((int)(data.width * scaleFactor), (int)(data.height * scaleFactor)); + ImageData resizedData = DPIUtil.autoScaleImageData(data, deviceZoomLevel); init(resizedData); init(); refreshed = true; |