Implementation of Image to enable Multi Zoom Level Support for Win32
Issues: https://github.com/eclipse-platform/eclipse.platform.swt/issues/62 and https://github.com/eclipse-platform/eclipse.platform.swt/issues/131
This pull request is based on the implementations of PR #1214. It extends to the native zoom which is provided within widget and propagated to GC. In this PR, we provide a map of different handles to Image for different device zoom levels as required by different monitors. The method win32_getHandle provides the appropriate handle for the scaled image as per requested by the client. The clients avail the zoom level information from the GCData and Widget (based on PR #1214 ).
Note: Only the last commit is the relevant commit because it is based on the PR #1214. Must be merged after #1214 has been merged.
@fedejeanne @HeikoKlare @akoch-yatta I have created the PR for Image. You can review it now.
Test Results
442 files ±0 442 suites ±0 11m 27s :stopwatch: + 2m 44s 4 126 tests ±0 4 118 :white_check_mark: ±0 8 :zzz: ±0 0 :x: ±0 16 318 runs ±0 16 226 :white_check_mark: ±0 92 :zzz: ±0 0 :x: ±0
Results for commit a01f91e2. ± Comparison against base commit 78ef5a2b.
This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
org.eclipse.swt.graphics.ImageWin32Tests ‑ imageMustBeRescaledOnZoomChange
org.eclipse.swt.graphics.ImageWin32Tests ‑ testImageShouldHaveDimesionAsPerZoomLevel
:recycle: This comment has been updated with latest results.
Fixed the issue with the icon of the shell. But I have also created a follow up issue which addresses the problem in the depth but it doesn't have to be the part of this PR because it addresses the usability of a method outside its scope. https://github.com/orgs/vi-eclipse/projects/1/views/1?filterQuery=assignee%3Aamartya4256+47&pane=issue&itemId=67443386 FYI @akoch-yatta @fedejeanne @HeikoKlare