"Screen Pixels Per Inch" setting overridden by pqQVTKWidget unscaled DPI
This was observed on ParaView master (c1e7c8c5) on a MacBook Pro with Retina display./
Steps to reproduce symptoms:
- Start ParaView
- Add Wavelet source. Color by "RTData".
- Open Settings/Preferences. Set the Screen Pixels Per Inch setting in the General tab to 100 and click OK. On a HiRes display, the text will shrink in size. On a lower res display, the text should grow slightly.
- Now grab a corner of the main window and resize it. Notice that the text snaps back to the original size and the Screen Pixels Per Inch setting is ignored.
The problem is that QVTKRenderWindowAdapter::resize()
resets the DPI in the vtkRenderWindow
whenever the window size changes. This DPI overrides the "Screen PPI" setting.
The "Screen PPI" setting is currently used only in vtkPVView
and subclasses and when saving screenshots using vtkSMSaveScreenshotProxy
. However, using this while vtkRenderWindow
uses the actual DPI of the display causes font scaling to be totally incorrect most of the time.
The "Screen Pixels Per Inch" setting should modify the unscaled DPI in pqQVTKWidget.
/cc @utkarsh.ayachit
Edited by Cory Quammen