Skip to content

Remove native zoom data from widgets #445

@HeikoKlare

Description

@HeikoKlare

Widgets currently store their (original) native zoom as data inside themselves. This is used as a means to allow accessing the original native zoom when having autoscaleDisabled, as getNativeZoom() will return 100 in those situation.
However, this data should only be necessary for Control instances and they can just retrieve the original native zoom from their shell on demand. So this data object unnecessarily increases the memory consumption of all widgets for a very seldom use case that will not result in degraded performance when accessing the native zoom of the shell instead.

For that reason, setting DATA_NATIVE_ZOOM as data inside the construtor and handleDPIChange of a widget shall be removed and instead getData() of a Control should match for that key and then return getShell().getNativeZoom().

DATA_NATIVE_ZOOM can also be moved to Control as it does not make sense to implement that functionality for Widgets but rather only for Controls.

See also this related issue:

Metadata

Metadata

Assignees

Labels

HiDPIA HiDPI-Related Issue or FeatureSWTIssue for SWT

Type

No type

Projects

Status

🏗 In Work: Short

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions