#if wxUSE_DISPLAY
+#include "wx/display.h"
+
#ifndef WX_PRECOMP
- #include "wx/dynarray.h"
- #include "wx/log.h"
+ #include "wx/dynarray.h"
+ #include "wx/log.h"
+ #include "wx/string.h"
+ #include "wx/gdicmn.h"
#endif
#ifdef __DARWIN__
#include <Debugging.h>
#endif
-#include "wx/display.h"
#include "wx/display_impl.h"
-#include "wx/gdicmn.h"
-#include "wx/string.h"
// ----------------------------------------------------------------------------
// display classes implementation
class wxDisplayImplMacOSX : public wxDisplayImpl
{
public:
- wxDisplayImplMacOSX(size_t n, CGDirectDisplayID id)
+ wxDisplayImplMacOSX(unsigned n, CGDirectDisplayID id)
: wxDisplayImpl(n),
m_id(id)
{
}
virtual wxRect GetGeometry() const;
+ virtual wxRect GetClientArea() const;
virtual wxString GetName() const { return wxString(); }
virtual wxArrayVideoModes GetModes(const wxVideoMode& mode) const;
class wxDisplayFactoryMacOSX : public wxDisplayFactory
{
public:
- wxDisplayFactoryMacOSX();
+ wxDisplayFactoryMacOSX() {}
- virtual wxDisplayImpl *CreateDisplay(size_t n);
- virtual size_t GetCount();
+ virtual wxDisplayImpl *CreateDisplay(unsigned n);
+ virtual unsigned GetCount();
virtual int GetFromPoint(const wxPoint& pt);
protected:
// wxDisplayFactoryMacOSX implementation
// ============================================================================
-size_t wxDisplayFactoryMacOSX::GetCount()
+unsigned wxDisplayFactoryMacOSX::GetCount()
{
CGDisplayCount count;
#ifdef __WXDEBUG__
return nWhich;
}
-wxDisplayImpl *wxDisplayFactoryMacOSX::CreateDisplay(size_t n)
+wxDisplayImpl *wxDisplayFactoryMacOSX::CreateDisplay(unsigned n)
{
CGDisplayCount theCount = GetCount();
CGDirectDisplayID* theIDs = new CGDirectDisplayID[theCount];
(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 );
class wxDisplayImplMac : public wxDisplayImpl
{
public:
- wxDisplayImplMac(size_t n, GDHandle hndl)
+ wxDisplayImplMac(unsigned n, GDHandle hndl)
: wxDisplayImpl(n),
m_hndl(hndl)
{
public:
wxDisplayFactoryMac();
- virtual wxDisplayImpl *CreateDisplay(size_t n);
- virtual size_t GetCount();
+ virtual wxDisplayImpl *CreateDisplay(unsigned n);
+ virtual unsigned GetCount();
virtual int GetFromPoint(const wxPoint& pt);
protected:
// wxDisplayFactoryMac implementation
// ============================================================================
-size_t wxDisplayFactoryMac::GetCount()
+unsigned wxDisplayFactoryMac::GetCount()
{
- size_t num = 0;
+ unsigned num = 0;
GDHandle hndl = DMGetFirstScreenDevice(true);
while(hndl)
{
int wxDisplayFactoryMac::GetFromPoint(const wxPoint &p)
{
- size_t num = 0;
+ unsigned num = 0;
GDHandle hndl = DMGetFirstScreenDevice(true);
while(hndl)
{
return wxNOT_FOUND;
}
-wxDisplayImpl *wxDisplayFactoryMac::CreateDisplay(size_t n)
+wxDisplayImpl *wxDisplayFactoryMac::CreateDisplay(unsigned n)
{
- size_t nOrig = n;
+ unsigned nOrig = n;
GDHandle hndl = DMGetFirstScreenDevice(true);
while(hndl)