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 710a80623c..02708164ed 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 @@ -1328,7 +1328,7 @@ public ImageData getImageData (int zoom) { if (zoomLevelToImageHandle.containsKey(zoom)) { return zoomLevelToImageHandle.get(zoom).getImageData(); } - return this.imageProvider.newImageData(new ZoomContext(zoom)); + return this.imageProvider.newImageData(zoom); } @@ -2007,7 +2007,7 @@ public Collection getPreservedZoomLevels() { protected abstract ElementAtZoom loadImageData(int zoom); - abstract ImageData newImageData(ZoomContext zoomContext); + abstract ImageData newImageData(int zoom); abstract AbstractImageProviderWrapper createCopy(Image image); @@ -2068,8 +2068,8 @@ protected Rectangle getBounds(int zoom) { } @Override - ImageData newImageData(ZoomContext zoomContext) { - return getScaledImageData(zoomContext.targetZoom()); + ImageData newImageData(int zoom) { + return getScaledImageData(zoom); } @Override @@ -2095,18 +2095,18 @@ private abstract class ImageFromImageDataProviderWrapper extends AbstractImagePr void initImage() { // As the init call configured some Image attributes (e.g. type) // it must be called - newImageData(new ZoomContext(100)); + newImageData(100); } @Override - ImageData newImageData(ZoomContext zoomContext) { + ImageData newImageData(int zoom) { Function imageDataRetrieval = zoomToRetrieve -> { - ImageHandle handle = initializeHandleFromSource(zoomContext); + ImageHandle handle = initializeHandleFromSource(new ZoomContext(zoom)); ImageData data = handle.getImageData(); handle.destroy(); return data; }; - return (ImageData) cachedImageData.computeIfAbsent(zoomContext.targetZoom(), imageDataRetrieval).clone(); + return (ImageData) cachedImageData.computeIfAbsent(zoom, imageDataRetrieval).clone(); } @Override @@ -2270,15 +2270,15 @@ protected Rectangle getBounds(int zoom) { } @Override - ImageData newImageData(ZoomContext zoomContext) { - int targetZoom = zoomContext.targetZoom(); + ImageData newImageData(int zoom) { + int targetZoom = zoom; if (zoomLevelToImageHandle.isEmpty()) { return createBaseHandle(targetZoom).getImageData(); } // if a GC is initialized with an Image (memGC != null), the image data must not be resized, because it would // be a destructive operation. Therefor, a new handle is created for the requested zoom if (memGC != null) { - return newImageHandle(zoomContext).getImageData(); + return newImageHandle(new ZoomContext(zoom)).getImageData(); } return getScaledImageData(targetZoom); } @@ -2392,14 +2392,14 @@ Object getProvider() { } @Override - ImageData newImageData(ZoomContext zoomContext) { + ImageData newImageData(int zoom) { Function imageDataRetrival = zoomToRetrieve -> { ImageHandle handle = initializeHandleFromSource(zoomToRetrieve); ImageData data = handle.getImageData(); handle.destroy(); return data; }; - return (ImageData) cachedImageData.computeIfAbsent(zoomContext.targetZoom(), imageDataRetrival).clone(); + return (ImageData) cachedImageData.computeIfAbsent(zoom, imageDataRetrival).clone(); } @Override @@ -2432,7 +2432,7 @@ private class ImageFileNameProviderWrapper extends BaseImageProviderWrapper