// Author: Ryan Norton
// Modified by:
// Created: 2004-10-03
-// RCS-ID: $Id$
// Copyright: (c) Ryan Norton
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#if wxUSE_DISPLAY
+#include "wx/display.h"
+
#ifndef WX_PRECOMP
- #include "wx/dynarray.h"
+ #include "wx/dynarray.h"
+ #include "wx/string.h"
+ #include "wx/gdicmn.h"
#endif
-#include "wx/display.h"
#include "wx/display_impl.h"
-#include "wx/gdicmn.h"
-#include "wx/string.h"
#import <Foundation/Foundation.h>
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(); }
private:
CGDirectDisplayID m_id;
- DECLARE_NO_COPY_CLASS(wxDisplayImplMacOSX)
+ wxDECLARE_NO_COPY_CLASS(wxDisplayImplMacOSX);
};
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:
- DECLARE_NO_COPY_CLASS(wxDisplayFactoryMacOSX)
+ wxDECLARE_NO_COPY_CLASS(wxDisplayFactoryMacOSX);
};
// ============================================================================
// wxDisplayFactoryMacOSX implementation
// ============================================================================
-size_t wxDisplayFactoryMacOSX::GetCount()
+unsigned wxDisplayFactoryMacOSX::GetCount()
{
CGDisplayCount count;
-#ifdef __WXDEBUG__
- CGDisplayErr err =
-#endif
- CGGetActiveDisplayList(0, NULL, &count);
-
- wxASSERT(err == CGDisplayNoErr);
+ CGDisplayErr err = CGGetActiveDisplayList(0, NULL, &count);
+ wxCHECK_MSG( err != CGDisplayNoErr, 0, "CGGetActiveDisplayList() failed" );
return count;
}
return nWhich;
}
-wxDisplayImpl *wxDisplayFactoryMacOSX::CreateDisplay(size_t n)
+wxDisplayImpl *wxDisplayFactoryMacOSX::CreateDisplay(unsigned n)
{
CGDisplayCount theCount = GetCount();
CGDirectDisplayID* theIDs = new CGDirectDisplayID[theCount];
-#ifdef __WXDEBUG__
- CGDisplayErr err =
-#endif
- CGGetActiveDisplayList(theCount, theIDs, &theCount);
+ CGDisplayErr err = CGGetActiveDisplayList(theCount, theIDs, &theCount);
+ wxCHECK_MSG( err != CGDisplayNoErr, NULL, "CGGetActiveDisplayList() failed" );
- wxASSERT( err == CGDisplayNoErr );
wxASSERT( n < theCount );
- wxDisplayImplMacOSX *display = new wxDisplayImplMacOSX(theIDs[n]);
+ wxDisplayImplMacOSX *display = new wxDisplayImplMacOSX(n, theIDs[n]);
delete [] theIDs;
/* static */ wxDisplayFactory *wxDisplay::CreateFactory()
{
- return new wxDisplayFactoryMac;
+ return new wxDisplayFactoryMacOSX;
}
#endif // wxUSE_DISPLAY
-