X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/96d37ab54733776a855ee3aadaf35aee087d14c0..260c9c7df3a2968f93a4c474024c60b425fdea12:/wxPython/src/_display.i diff --git a/wxPython/src/_display.i b/wxPython/src/_display.i index 04ad845301..938c85ada3 100644 --- a/wxPython/src/_display.i +++ b/wxPython/src/_display.i @@ -16,7 +16,7 @@ //--------------------------------------------------------------------------- %{ -#include "wx/display.h" +#include %} @@ -25,7 +25,7 @@ DocStr(wxVideoMode, - "A simple struct containing video mode parameters for a display"); + "A simple struct containing video mode parameters for a display", ""); struct wxVideoMode { @@ -34,36 +34,35 @@ struct 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"); +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; } } @@ -85,36 +84,81 @@ const wxVideoMode wxDefaultVideoMode; //--------------------------------------------------------------------------- -DocStr(wxDisplay, - "Represents a display/monitor attached to the system"); + +%{ +// dummy version of wxDisplay for when it is not enabled in the wxWidgets build +#if !wxUSE_DISPLAY +#include +#include + +WX_DECLARE_OBJARRAY(wxVideoMode, wxArrayVideoModes); +#include "wx/arrimpl.cpp" +WX_DEFINE_OBJARRAY(wxArrayVideoModes); +const wxVideoMode wxDefaultVideoMode; + +class wxDisplay +{ +public: + wxDisplay(size_t index = 0) { wxPyRaiseNotImplemented(); } + ~wxDisplay() {} + + static size_t GetCount() + { wxPyRaiseNotImplemented(); return 0; } + + static int GetFromPoint(const wxPoint& pt) + { wxPyRaiseNotImplemented(); return wxNOT_FOUND; } + static int GetFromWindow(wxWindow *window) + { wxPyRaiseNotImplemented(); return wxNOT_FOUND; } + + virtual bool IsOk() const { return false; } + virtual wxRect GetGeometry() const { wxRect r; return r; } + virtual wxString GetName() const { return wxEmptyString; } + bool IsPrimary() const { return false; } + + wxArrayVideoModes GetModes(const wxVideoMode& mode = wxDefaultVideoMode) + { wxArrayVideoModes a; return a; } + + virtual wxVideoMode GetCurrentMode() const + { return wxDefaultVideoMode; } + + virtual bool ChangeMode(const wxVideoMode& mode = wxDefaultVideoMode) + { return false; } + + void ResetMode() {} +}; +#endif +%} + +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", ""); 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."); + "Find the display where the given window lies, return wx.NOT_FOUND if +it is not shown at all.", ""); #ifdef __WXMSW__ static int GetFromWindow(wxWindow *window); #else @@ -126,51 +170,51 @@ if it is not shown at all."); DocDeclStr( virtual bool , IsOk() const, - "Return true if the object was initialized successfully"); + "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."); + "Returns the bounding rectangle of the display whose index was passed +to the constructor.", ""); DocDeclStr( virtual wxString , GetName() const, - "Returns the display's name. A name is not available on all platforms."); + "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."); +display is the one whose index is 0.", ""); %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."); + "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) { PyObject* pyList = NULL; wxArrayVideoModes arr = self->GetModes(mode); - wxPyBeginBlockThreads(); + bool blocked = wxPyBeginBlockThreads(); pyList = PyList_New(0); for (int 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; } } @@ -178,17 +222,32 @@ platform."); DocDeclStr( virtual wxVideoMode , GetCurrentMode() const, - "Get the current video mode."); + "Get the current video mode.", ""); DocDeclStr( virtual bool , ChangeMode(const wxVideoMode& mode = wxDefaultVideoMode), - "Change current mode, return true if succeeded, false otherwise"); + "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", ""); DocDeclStr( void , ResetMode(), - "Restore the default video mode (just a more readable synonym)"); + "Restore the default video mode (just a more readable synonym)", ""); };