From 0d045709bcd64c28a155a2a9fb29d95f56a0ff7b Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 7 Mar 2007 00:25:27 +0000 Subject: [PATCH] return correct client area for at least the primary display, fixes the problems with incorrect positioning of the Center()d windows git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 1 + src/mac/carbon/display.cpp | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/docs/changes.txt b/docs/changes.txt index f4befaa0dc..a018768214 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -66,6 +66,7 @@ wxMSW wxMac +- Fix position of the centered windows (didn't take menu bar size into account) - Added support for the wxFRAME_FLOAT_ON_PARENT style. wxX11: diff --git a/src/mac/carbon/display.cpp b/src/mac/carbon/display.cpp index a69b111ae8..3e9d8d50a1 100644 --- a/src/mac/carbon/display.cpp +++ b/src/mac/carbon/display.cpp @@ -63,6 +63,7 @@ public: } virtual wxRect GetGeometry() const; + virtual wxRect GetClientArea() const; virtual wxString GetName() const { return wxString(); } virtual wxArrayVideoModes GetModes(const wxVideoMode& mode) const; @@ -173,6 +174,17 @@ wxRect wxDisplayImplMacOSX::GetGeometry() const (int)theRect.size.height ); //floats } +wxRect wxDisplayImplMacOSX::GetClientArea() const +{ + // VZ: I don't know how to get client area for arbitrary display but + // wxGetClientDisplayRect() does work correctly for at least the main + // one (TODO: do it correctly for the other displays too) + if ( IsPrimary() ) + return wxGetClientDisplayRect(); + + return wxDisplayImpl::GetClientArea(); +} + static int wxCFDictKeyToInt( CFDictionaryRef desc, CFStringRef key ) { CFNumberRef value = (CFNumberRef) CFDictionaryGetValue( desc, key ); -- 2.45.2