Skip to content

Y20240729-1000

@akoch-yatta akoch-yatta tagged this 29 Jul 13:32
This commit adapt how the DPI change is propagated into the DPI update mechanism. In comes down to the following:
Automatic rescaling is not active: It is exactly as in the beginning -> A ZoomChanged event is send for the affected control, wenn the zoom is change
Automatic rescaling is active: The update is no longer propagation via a ZoomChanged event that was used by a listener in a Shell to propagate this change into the DPIZoomChangeRegistry, but it is directly propagated into DPIZoomChangeRegistry in the WM_DPICHANGED callback.
Additionally, for each widget, that is handled in DPIZoomChangeRegistry for a dpi change a ZoomChanged event is created and sent to the widget. That enables creators of custom widget to hook into the update and refresh the state of the affected widget, e.g. refresh a widget, when it is rendering its content without a layout manager.

Contributes to #62 and #131
Assets 2
Loading