Implement GetDPIScaleFactor() more directly for wxMSW too

Use the existing GetDPI() implementation instead of forwarding to
wxDisplay.
This commit is contained in:
Vadim Zeitlin
2020-08-14 14:59:23 +02:00
parent 6a820a8f9a
commit 4e6df3f7b2
2 changed files with 8 additions and 0 deletions

View File

@@ -100,6 +100,8 @@ public:
virtual bool Reparent(wxWindowBase *newParent) wxOVERRIDE; virtual bool Reparent(wxWindowBase *newParent) wxOVERRIDE;
virtual wxSize GetDPI() const wxOVERRIDE; virtual wxSize GetDPI() const wxOVERRIDE;
virtual double GetDPIScaleFactor() const wxOVERRIDE;
virtual void WarpPointer(int x, int y) wxOVERRIDE; virtual void WarpPointer(int x, int y) wxOVERRIDE;
virtual bool EnableTouchEvents(int eventsMask) wxOVERRIDE; virtual bool EnableTouchEvents(int eventsMask) wxOVERRIDE;

View File

@@ -105,6 +105,7 @@
#include "wx/notebook.h" #include "wx/notebook.h"
#include "wx/listctrl.h" #include "wx/listctrl.h"
#include "wx/dynlib.h" #include "wx/dynlib.h"
#include "wx/display.h"
#include <string.h> #include <string.h>
@@ -4858,6 +4859,11 @@ wxSize wxWindowMSW::GetDPI() const
return dpi; return dpi;
} }
double wxWindowMSW::GetDPIScaleFactor() const
{
return GetDPI().y / (double)wxDisplay::GetStdPPIValue();
}
void wxWindowMSW::MSWUpdateFontOnDPIChange(const wxSize& newDPI) void wxWindowMSW::MSWUpdateFontOnDPIChange(const wxSize& newDPI)
{ {
if ( m_font.IsOk() ) if ( m_font.IsOk() )