#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"
#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(size_t n, CGDirectDisplayID id)
+ : wxDisplayImpl(n),
+ m_id(id)
+ {
+ }
virtual wxRect GetGeometry() const;
virtual wxString GetName() const { return wxString(); }
class wxDisplayFactoryMacOSX : public wxDisplayFactory
{
public:
- wxDisplayFactoryMacOSX();
+ wxDisplayFactoryMacOSX() {}
virtual wxDisplayImpl *CreateDisplay(size_t n);
virtual size_t GetCount();
wxASSERT( err == CGDisplayNoErr );
wxASSERT( n < theCount );
- wxDisplayImplMacOSX *display = new wxDisplayImplMacOSX(theIDs[n]);
+ wxDisplayImplMacOSX *display = new wxDisplayImplMacOSX(n, theIDs[n]);
delete [] theIDs;
class wxDisplayImplMac : public wxDisplayImpl
{
public:
- wxDisplayImplMac(GDHandle hndl) : m_hndl(hndl) { }
+ wxDisplayImplMac(size_t n, GDHandle hndl)
+ : wxDisplayImpl(n),
+ m_hndl(hndl)
+ {
+ }
virtual wxRect GetGeometry() const;
virtual wxString GetName() const { return wxString(); }
wxDisplayImpl *wxDisplayFactoryMac::CreateDisplay(size_t n)
{
+ size_t 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);