]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_display.i
Added the PseudoDC class from Paul Lanier. It provides a way to
[wxWidgets.git] / wxPython / src / _display.i
index 04ad8453013bd6446f90db889a7639b6b2f5e345..6277cad3f58db4278bc2817a16a27b7acfa9bb12 100644 (file)
@@ -16,7 +16,7 @@
 //---------------------------------------------------------------------------
 
 %{
-#include "wx/display.h"
+#include <wx/display.h>
 %}
 
 
 
 
 DocStr(wxVideoMode,
-       "A simple struct containing video mode parameters for a display");
+       "A simple struct containing video mode parameters for a display", "");
 
 struct wxVideoMode
 {
     wxVideoMode(int width = 0, int height = 0, int depth = 0, int freq = 0);
     ~wxVideoMode();
-    
+
     DocDeclStr(
         bool , Matches(const wxVideoMode& other) const,
-        "Returns true if this mode matches the other one in the sense that
-all non zero fields of the other mode have the same value in this
-one (except for refresh which is allowed to have a greater value)");
+        "Returns True if this mode matches the other one in the sense that all
+non-zero fields of the other mode have the same value in this
+one (except for refresh which is allowed to have a greater value)", "");
 
     DocDeclStr(
         int , GetWidth() const,
-        "Returns the screen width in pixels (e.g. 640*480), 0 means
-unspecified");
-    
+        "Returns the screen width in pixels (e.g. 640*480), 0 means unspecified", "");
+
     DocDeclStr(
         int , GetHeight() const,
-        "Returns the screen width in pixels (e.g. 640*480), 0 means
-unspecified");
-    
+        "Returns the screen height in pixels (e.g. 640*480), 0 means unspecified", "");
+
     DocDeclStr(
         int , GetDepth() const,
-        "Returns the screen's bits per pixel (e.g. 32), 1 is monochrome
-and 0 means unspecified/known");
-    
+        "Returns the screen's bits per pixel (e.g. 32), 1 is monochrome and 0
+means unspecified/known", "");
+
 
     DocDeclStr(
         bool , IsOk() const,
-        "returns true if the object has been initialized");
-    
+        "returns true if the object has been initialized", "");
 
 
     %pythoncode { def __nonzero__(self): return self.IsOk() }
     %extend {
-        bool __eq__(const wxVideoMode* other) { return other ? (*self == *other) : False; }
-        bool __ne__(const wxVideoMode* other) { return other ? (*self != *other) : True;  }
+        bool __eq__(const wxVideoMode* other) { return other ? (*self == *other) : false; }
+        bool __ne__(const wxVideoMode* other) { return other ? (*self != *other) : true;  }
     }
 
-    
+
     // the screen size in pixels (e.g. 640*480), 0 means unspecified
     int w, h;
 
@@ -78,6 +75,12 @@ and 0 means unspecified/known");
 };
 
 
+%{
+#if !wxUSE_DISPLAY
+const wxVideoMode     wxDefaultVideoMode;
+#endif
+%}
+
 %immutable;
 const wxVideoMode     wxDefaultVideoMode;
 %mutable;
@@ -85,112 +88,152 @@ const wxVideoMode     wxDefaultVideoMode;
 
 //---------------------------------------------------------------------------
 
-DocStr(wxDisplay,
-       "Represents a display/monitor attached to the system");
 
 
+DocStr(wxDisplay,
+       "Represents a display/monitor attached to the system", "");
 class wxDisplay
 {
 public:
-    // 
     DocCtorStr(
         wxDisplay(size_t index = 0),
-        "Set up a Display instance with the specified display.  The
-displays are numbered from 0 to GetCount() - 1, 0 is always the
-primary display and the only one which is always supported");
+        "Set up a Display instance with the specified display.  The displays
+are numbered from 0 to GetCount() - 1, 0 is always the primary display
+and the only one which is always supported", "");
+
+    ~wxDisplay();
 
-    virtual ~wxDisplay();
-    
     DocDeclStr(
         static size_t , GetCount(),
-        "Return the number of available displays.");
-    
+        "Return the number of available displays.", "");
 
     DocDeclStr(
         static int , GetFromPoint(const wxPoint& pt),
-        "Find the display where the given point lies, return wx.NOT_FOUND
-if it doesn't belong to any display");
-    
+        "Find the display where the given point lies, return wx.NOT_FOUND if it
+doesn't belong to any display", "");
 
     DocStr(GetFromWindow,
-           "Find the display where the given window lies, return wx.NOT_FOUND
-if it is not shown at all.");
-#ifdef __WXMSW__
+           "Find the display where the given window lies, return wx.NOT_FOUND if
+it is not shown at all.", "");
+
     static int GetFromWindow(wxWindow *window);
-#else
-    %extend {
-        static int GetFromWindow(wxWindow *window) 
-            { wxPyRaiseNotImplemented(); return wxNOT_FOUND; }
-    }
-#endif
-    
+
+
     DocDeclStr(
-        virtual bool , IsOk() const,
-        "Return true if the object was initialized successfully");
+        bool , IsOk() const,
+        "Return true if the object was initialized successfully", "");
     %pythoncode { def __nonzero__(self): return self.IsOk() }
 
     DocDeclStr(
-        virtual wxRect , GetGeometry() const,
-        "Returns the bounding rectangle of the display whose index was
-passed to the constructor.");
-    
+        wxRect , GetGeometry() const,
+        "Returns the bounding rectangle of the display whose index was passed
+to the constructor.", "");
+
+    DocDeclStr(
+        wxRect , GetClientArea() const,
+        "Returns the bounding rectangle the client area of the display,
+i.e., without taskbars and such.", "");
 
     DocDeclStr(
-        virtual wxString , GetName() const,
-        "Returns the display's name. A name is not available on all platforms.");
-    
+        wxString , GetName() const,
+        "Returns the display's name. A name is not available on all platforms.", "");
 
     DocDeclStr(
         bool , IsPrimary() const,
-        "Returns true if the display is the primary display. The primary
-display is the one whose index is 0.");
-    
+        "Returns True if the display is the primary display. The primary
+display is the one whose index is 0.", "");
 
 
-    %extend {
+    %extend
+    {
         DocAStr(GetModes,
                 "GetModes(VideoMode mode=DefaultVideoMode) -> [videoMode...]",
-                "Enumerate all video modes supported by this display matching the
-given one (in the sense of VideoMode.Match()).
-
-As any mode matches the default value of the argument and there
-is always at least one video mode supported by display, the
-returned array is only empty for the default value of the
-argument if this function is not supported at all on this
-platform.");
-        
-        PyObject* GetModes(const wxVideoMode& mode = wxDefaultVideoMode) {
+                "Enumerate all video modes supported by this display matching the given
+one (in the sense of VideoMode.Match()).
+
+As any mode matches the default value of the argument and there is
+always at least one video mode supported by display, the returned
+array is only empty for the default value of the argument if this
+function is not supported at all on this platform.", "");
+
+        PyObject* GetModes(const wxVideoMode& mode = wxDefaultVideoMode)
+        {
+%#if wxUSE_DISPLAY
             PyObject* pyList = NULL;
             wxArrayVideoModes arr = self->GetModes(mode);
-            wxPyBeginBlockThreads();
+            wxPyBlock_t blocked = wxPyBeginBlockThreads();
             pyList = PyList_New(0);
-            for (int i=0; i < arr.GetCount(); i++) {
+            for (size_t i=0; i < arr.GetCount(); i++)
+            {
                 wxVideoMode* m = new wxVideoMode(arr.Item(i));
                 PyObject* pyObj = wxPyConstructObject(m, wxT("wxVideoMode"), true);
                 PyList_Append(pyList, pyObj);
+                Py_DECREF(pyObj);
             }
-            wxPyEndBlockThreads();
+            wxPyEndBlockThreads(blocked);
             return pyList;
+%#else
+        wxPyRaiseNotImplemented();
+        return NULL;
+%#endif
         }
-    }
-    
 
-    DocDeclStr(
-        virtual wxVideoMode , GetCurrentMode() const,
-        "Get the current video mode.");
-    
+        DocStr(GetCurrentMode,
+               "Get the current video mode.", "");
+        wxVideoMode GetCurrentMode() const
+        {
+%#if wxUSE_DISPLAY
+            return self->GetCurrentMode();
+%#else
+            wxPyRaiseNotImplemented();
+            return wxDefaultVideoMode;
+%#endif
+        }
 
-    DocDeclStr(
-        virtual bool , ChangeMode(const wxVideoMode& mode = wxDefaultVideoMode),
-        "Change current mode, return true if succeeded, false otherwise");
-    
 
-    DocDeclStr(
-        void , ResetMode(),
-        "Restore the default video mode (just a more readable synonym)");
-    
+        DocStr(
+            ChangeMode,
+            "Changes the video mode of this display to the mode specified in the
+mode parameter.
+
+If wx.DefaultVideoMode is passed in as the mode parameter, the defined
+behaviour is that wx.Display will reset the video mode to the default
+mode used by the display.  On Windows, the behavior is normal.
+However, there are differences on other platforms. On Unix variations
+using X11 extensions it should behave as defined, but some
+irregularities may occur.
+
+On wxMac passing in wx.DefaultVideoMode as the mode parameter does
+nothing.  This happens because Carbon no longer has access to
+DMUseScreenPrefs, an undocumented function that changed the video mode
+to the system default by using the system's 'scrn' resource.
+
+Returns True if succeeded, False otherwise", "");
+
+        bool ChangeMode(const wxVideoMode& mode = wxDefaultVideoMode)
+        {
+%#if wxUSE_DISPLAY
+            return self->ChangeMode(mode);
+%#else
+            wxPyRaiseNotImplemented();
+            return false;
+%#endif
+        }
+
+
+        DocStr(
+            ResetMode,
+            "Restore the default video mode (just a more readable synonym)", "");
+        void ResetMode()
+        {
+%#if wxUSE_DISPLAY
+            self->ResetMode();
+%#else
+            wxPyRaiseNotImplemented();
+%#endif
+        }
 
+    } // end of %extend
 };
 
 //---------------------------------------------------------------------------