You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[macOS] Initialize image data from ImageGcDrawer at device zoom only
An Image based on an ImageGcDrawer currently initializes two image
representations for 100% and 200% zoom, so that an appropriate
representation for each of the two zoom levels can be retrieved. This,
however, leads to issues when creating a GC on an Image created in that
way, as only one of the two representations (the one fitting to the
current device zoom) will be modified by the GC. If later the
representation with the other zoom is used, it will not contain the
changes performed by the GC.
One such scenario is starting an application at a monitor with one zoom
(used as the device zoom throughout the application lifecycle then) and
moving the shell to a monitor with a different zoom. An image will then
be modified only for the zoom of the first monitor, thus if using it
inside a control, it will yield the unmodified version on the second
monitor.
To avoid this issue, this change ensures that an Image based on an
ImageGcDrawer is only initialized for the device zoom.
Fixeseclipse-platform/eclipse.platform.ui#3039
Copy file name to clipboardExpand all lines: tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Image.java
0 commit comments