Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSravan Kumar Lakkimsetti2015-11-12 16:07:28 +0000
committerSravan Kumar Lakkimsetti2015-11-12 16:14:33 +0000
commitb34f858921a73c45b23f5cbac260649755e49022 (patch)
treed7f9627901899854fd7783bb1da35ae90ca06f87 /bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse
parent88ac02b648e4e21d30b198fc3515b5842d685420 (diff)
downloadeclipse.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.java14
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;

Back to the top