]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/display.cpp
switching from native rtti to wxrtti
[wxWidgets.git] / src / mac / carbon / display.cpp
index 79c727f1f10ff95fed73452bf2c78f7930030d41..a69b111ae8a36cf6c0f64fbfa3ca6ba2c96f4161 100644 (file)
 
 #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(CGDirectDisplayID id) : m_id(id) { }
+    wxDisplayImplMacOSX(unsigned n, CGDirectDisplayID id)
+        : wxDisplayImpl(n),
+          m_id(id)
+    {
+    }
 
     virtual wxRect GetGeometry() const;
     virtual wxString GetName() const { return wxString(); }
@@ -73,10 +78,10 @@ private:
 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:
@@ -87,7 +92,7 @@ protected:
 // wxDisplayFactoryMacOSX implementation
 // ============================================================================
 
-size_t wxDisplayFactoryMacOSX::GetCount()
+unsigned wxDisplayFactoryMacOSX::GetCount()
 {
     CGDisplayCount count;
 #ifdef __WXDEBUG__
@@ -135,7 +140,7 @@ int wxDisplayFactoryMacOSX::GetFromPoint(const wxPoint& p)
     return nWhich;
 }
 
-wxDisplayImpl *wxDisplayFactoryMacOSX::CreateDisplay(size_t n)
+wxDisplayImpl *wxDisplayFactoryMacOSX::CreateDisplay(unsigned n)
 {
     CGDisplayCount theCount = GetCount();
     CGDirectDisplayID* theIDs = new CGDirectDisplayID[theCount];
@@ -148,7 +153,7 @@ wxDisplayImpl *wxDisplayFactoryMacOSX::CreateDisplay(size_t n)
     wxASSERT( err == CGDisplayNoErr );
     wxASSERT( n < theCount );
 
-    wxDisplayImplMacOSX *display = new wxDisplayImplMacOSX(theIDs[n]);
+    wxDisplayImplMacOSX *display = new wxDisplayImplMacOSX(n, theIDs[n]);
 
     delete [] theIDs;
 
@@ -251,7 +256,11 @@ bool wxDisplayImplMacOSX::ChangeMode( const wxVideoMode& mode )
 class wxDisplayImplMac : public wxDisplayImpl
 {
 public:
-    wxDisplayImplMac(GDHandle hndl) : m_hndl(hndl) { }
+    wxDisplayImplMac(unsigned n, GDHandle hndl)
+        : wxDisplayImpl(n),
+          m_hndl(hndl)
+    {
+    }
 
     virtual wxRect GetGeometry() const;
     virtual wxString GetName() const { return wxString(); }
@@ -271,8 +280,8 @@ class wxDisplayFactoryMac : public wxDisplayFactory
 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:
@@ -283,9 +292,9 @@ protected:
 // wxDisplayFactoryMac implementation
 // ============================================================================
 
-size_t wxDisplayFactoryMac::GetCount()
+unsigned wxDisplayFactoryMac::GetCount()
 {
-    size_t num = 0;
+    unsigned num = 0;
     GDHandle hndl = DMGetFirstScreenDevice(true);
     while(hndl)
     {
@@ -297,7 +306,7 @@ size_t wxDisplayFactoryMac::GetCount()
 
 int wxDisplayFactoryMac::GetFromPoint(const wxPoint &p)
 {
-    size_t num = 0;
+    unsigned num = 0;
     GDHandle hndl = DMGetFirstScreenDevice(true);
     while(hndl)
     {
@@ -316,14 +325,16 @@ int wxDisplayFactoryMac::GetFromPoint(const wxPoint &p)
     return wxNOT_FOUND;
 }
 
-wxDisplayImpl *wxDisplayFactoryMac::CreateDisplay(size_t n)
+wxDisplayImpl *wxDisplayFactoryMac::CreateDisplay(unsigned n)
 {
+    unsigned nOrig = n;
+
     GDHandle hndl = DMGetFirstScreenDevice(true);
     while(hndl)
     {
         if (n == 0)
         {
-            return new wxDisplayImplMac(hndl);
+            return new wxDisplayImplMac(nOrig, hndl);
         }
         n--;
         hndl = DMGetNextScreenDevice(hndl, true);