GollyGang / ready

A cross-platform implementation of various reaction-diffusion systems and PDEs.
GNU General Public License v3.0
776 stars 60 forks source link

Resizing panes causes visual artefacts on Windows #78

Closed timhutton closed 4 years ago

timhutton commented 4 years ago

image

The xor line's offset varies with the horizontal position of the mouse - is small offset on the left and increases as the mouse moves right.

Only occurs with WxWidgets 3.1.3. Not an issue on wxWidgets 3.0.5. Now need to understand if this is a known issue and whether has been fixed. Pending a fix we will need to build against 3.0.5.

timhutton commented 4 years ago

Ah, this is https://trac.wxwidgets.org/ticket/18090

Looks like we need to make Ready DPI-aware. @andykt - thoughts?

timhutton commented 4 years ago

With my laptop at full resolution, if I tell Windows that Ready will handle its own DPI I get this:

image

So we've got some work to do with our icons and dialog sizing, at the very least.

(In this mode it does fix the xor splitter thing.)

timhutton commented 4 years ago

Will push a workaround for now (live resizing of content, wxAUI_MGR_LIVE_RESIZE) but need to handle high-DPI displays at some point.

andykt commented 4 years ago

The wx devs have been fixing quite a lot of high-DPI problems recently so it would be worth building Ready with the latest wx code which you can get by doing:

git clone --recurse-submodules https://github.com/wxWidgets/wxWidgets.git wxWidgets-git

Then do "git pull --ff-only" to get the latest changes.

If that doesn't fix the problems then report the issues to the wx-dev google group. I know almost nothing about high-DPI support on Windows. How exactly did you "tell Windows that Ready will handle its own DPI"?

Andrew

timhutton commented 4 years ago

Thanks Andrew, I'll try it.

In Windows (I learnt today) you can right-click an exe and tell it that the application will handle its own scaling, as an alternative for including a manifest with this information:

image