diff --git a/src/osx/core/display.cpp b/src/osx/core/display.cpp index 796a7ef7cb..1892743377 100644 --- a/src/osx/core/display.cpp +++ b/src/osx/core/display.cpp @@ -104,6 +104,7 @@ public: virtual wxRect GetClientArea() const wxOVERRIDE; virtual int GetDepth() const wxOVERRIDE; virtual wxSize GetSizeMM() const wxOVERRIDE; + virtual double GetScaleFactor() const wxOVERRIDE; virtual wxArrayVideoModes GetModes(const wxVideoMode& mode) const wxOVERRIDE; virtual wxVideoMode GetCurrentMode() const wxOVERRIDE; @@ -270,6 +271,14 @@ wxSize wxDisplayImplMacOSX::GetSizeMM() const return wxGetDisplaySizeMM(m_id); } +double wxDisplayImplMacOSX::GetScaleFactor() const +{ + wxCFRef mode = CGDisplayCopyDisplayMode(m_id); + size_t width = CGDisplayModeGetWidth(mode); + size_t pixelsw = CGDisplayModeGetPixelWidth(mode); + return (double)pixelsw / width; +} + static int wxOSXCGDisplayModeGetBitsPerPixel( CGDisplayModeRef theValue ) { wxCFRef pixelEncoding( CGDisplayModeCopyPixelEncoding(theValue) );