]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/display_impl.h
Don't create multiple parent-less top level frames in layout sample.
[wxWidgets.git] / include / wx / display_impl.h
index aa7e05ff0d678bedf03558a14a5a95cbeb7adc71..95a9da8a7e779a92a07f54dc8256c36cde1dcd74 100644 (file)
 #ifndef _WX_DISPLAY_IMPL_H_BASE_
 #define _WX_DISPLAY_IMPL_H_BASE_
 
+#include "wx/gdicmn.h"      // for wxRect
+
 // ----------------------------------------------------------------------------
 // wxDisplayFactory: allows to create wxDisplay objects
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxDisplayFactory
+class WXDLLIMPEXP_CORE wxDisplayFactory
 {
 public:
     wxDisplayFactory() { }
@@ -24,10 +26,10 @@ public:
     // create a new display object
     //
     // it can return a NULL pointer if the display creation failed
-    virtual wxDisplayImpl *CreateDisplay(size_t n) = 0;
+    virtual wxDisplayImpl *CreateDisplay(unsigned n) = 0;
 
     // get the total number of displays
-    virtual size_t GetCount() = 0;
+    virtual unsigned GetCount() = 0;
 
     // return the display for the given point or wxNOT_FOUND
     virtual int GetFromPoint(const wxPoint& pt) = 0;
@@ -35,14 +37,14 @@ public:
     // return the display for the given window or wxNOT_FOUND
     //
     // the window pointer must not be NULL (i.e. caller should check it)
-    virtual int GetFromWindow(wxWindow *window);
+    virtual int GetFromWindow(const wxWindow *window);
 };
 
 // ----------------------------------------------------------------------------
 // wxDisplayImpl: base class for all wxDisplay implementations
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxDisplayImpl
+class WXDLLIMPEXP_CORE wxDisplayImpl
 {
 public:
     // virtual dtor for this base class
@@ -52,11 +54,14 @@ public:
     // return the full area of this display
     virtual wxRect GetGeometry() const = 0;
 
+    // return the area of the display available for normal windows
+    virtual wxRect GetClientArea() const { return GetGeometry(); }
+
     // return the name (may be empty)
     virtual wxString GetName() const = 0;
 
     // return the index of this display
-    size_t GetIndex() const { return m_index; }
+    unsigned GetIndex() const { return m_index; }
 
     // return true if this is the primary monitor (usually one with index 0)
     virtual bool IsPrimary() const { return GetIndex() == 0; }
@@ -75,16 +80,16 @@ public:
 
 protected:
     // create the object providing access to the display with the given index
-    wxDisplayImpl(size_t n) : m_index(n) { }
+    wxDisplayImpl(unsigned n) : m_index(n) { }
 
 
     // the index of this display (0 is always the primary one)
-    const size_t m_index;
+    const unsigned m_index;
 
 
     friend class wxDisplayFactory;
 
-    DECLARE_NO_COPY_CLASS(wxDisplayImpl)
+    wxDECLARE_NO_COPY_CLASS(wxDisplayImpl);
 };
 
 // ----------------------------------------------------------------------------
@@ -93,11 +98,11 @@ protected:
 
 // this is a stub implementation using single/main display only, it is
 // available even if wxUSE_DISPLAY == 0
-class WXDLLEXPORT wxDisplayFactorySingle : public wxDisplayFactory
+class WXDLLIMPEXP_CORE wxDisplayFactorySingle : public wxDisplayFactory
 {
 public:
-    virtual wxDisplayImpl *CreateDisplay(size_t n);
-    virtual size_t GetCount() { return 1; }
+    virtual wxDisplayImpl *CreateDisplay(unsigned n);
+    virtual unsigned GetCount() { return 1; }
     virtual int GetFromPoint(const wxPoint& pt);
 };