[vtk-developers] Fractional DPI scaling not supported by QVTKOpenGLWidget?

Cory Quammen cory.quammen at kitware.com
Fri Feb 9 09:24:26 EST 2018


Elvis,

I don't believe there is a reason we can't use the qreal version of
devicePixelRatioF(). I think the F may have gotten dropped in a series of
commits to improve DPI support.

A patch would be welcome.

Thanks,
Cory

On Fri, Feb 9, 2018 at 4:51 AM, Elvis Stansvik <elvis.stansvik at orexplore.com
> wrote:

> 2018-02-09 10:31 GMT+01:00 Karsten Tausche
> <karsten.tausche at student.hpi.uni-potsdam.de>:
> > Hi Elvis,
> >
> > I have a workaround for this in my own code: Basically I have a subclass
> of
> > QVTKOpenGLWidget, which disables the base class DPI support and passes
> Qt's
> > DPI value manually to the internal vtkRenderWindow. See
> > https://github.com/kateyy/geohazardvis/blob/master/gui/
> data_view/t_QVTKWidget.cpp
> > especially lines 288 and 306.
> >
> > (In the code, don't get confused about the name of the class, it provides
> > some support to inherit from QVTKWidget2, but you can assume
> > OPTION_USE_QVTKOPENGLWIDGET to be enabled.)
>
> Aha, thanks a lot Karsten. I'll see if I can do something similar in
> our own QVTKOpenGLWidget subclass.
>
> (Still of course interested in if any of the VTK devs have looked into
> supporting this out of the box.)
>
> Elvis
>
> >
> > Cheers,
> > Karsten
> >
> >
> > On 09-02-18 08:43, Elvis Stansvik wrote:
> >
> > Den 5 feb. 2018 3:20 em skrev "Elvis Stansvik"
> > <elvis.stansvik at orexplore.com>:
> >
> > Hi all,
> >
> > My pointy-haired boss got a new laptop with a high-DPI monitor, and
> > started using a fractional DPI scaling factor (under KDE screen
> > settings). He's now reporting that our Qt/VTK app has problems with
> > this. The VTK windows are not correctly sized.
> >
> > I've also gotten the same report from a Windows 10 user that had this
> > problem.
> >
> > I had a look at the VTK code that sizes the render window [1]:
> >
> >   const int devicePixelRatio_ = this->devicePixelRatio();
> >   const QSize widgetSize = this->size();
> >   const QSize deviceSize = widgetSize * devicePixelRatio_;
> >
> > and then
> >
> >   this->RenderWindow->SetSize(deviceSize.width(), deviceSize.height());
> >
> > Note the use of the int devicePixelRatio() API, not qreal
> > devicePixelRatioF() (available from Qt 5.6).
> >
> > Does this mean there's no way to get correctly sized VTK windows when
> > using a fractional DPI scaling factor? If so, has anyone looked into
> > supporting this? Would it be a lot of work?
> >
> >
> > Noone knows? :)
> >
> > If it's (like I suspect) currently not supported, I'd be willing to try
> to
> > fix it myself. But it would be good to know whether there are dragons
> here
> > (maybe that's why it's not supported yet) or if someone else is already
> > working on it.
> >
> > Elvis
> >
> >
> > Best regards,
> > Elvis
> >
> > [1]
> > https://gitlab.kitware.com/vtk/vtk/blob/master/GUISupport/Qt/
> QVTKOpenGLWidget.cxx#L340-351
> >
> >
> >
> >
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Search the list archives at: http://markmail.org/search/?q=
> vtk-developers
> >
> > Follow this link to subscribe/unsubscribe:
> > https://vtk.org/mailman/listinfo/vtk-developers
> >
> >
> >
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Search the list archives at: http://markmail.org/search/?q=
> vtk-developers
> >
> > Follow this link to subscribe/unsubscribe:
> > https://vtk.org/mailman/listinfo/vtk-developers
> >
> >
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/
> opensource/opensource.html
>
> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>
> Follow this link to subscribe/unsubscribe:
> https://vtk.org/mailman/listinfo/vtk-developers
>
>


-- 
Cory Quammen
Staff R&D Engineer
Kitware, Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://vtk.org/pipermail/vtk-developers/attachments/20180209/e523763e/attachment.html>


More information about the vtk-developers mailing list