Added wxDisplay and wxVideoMode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26149 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
c6e801d3e6
commit
96d37ab547
@ -108,6 +108,8 @@ cd bld
|
||||
%endif
|
||||
--enable-geometry \
|
||||
--enable-optimise \
|
||||
--enable-sound \
|
||||
--enable-display \
|
||||
%if %{debug_flag}
|
||||
--enable-debug_flag \
|
||||
%endif
|
||||
|
@ -59,10 +59,12 @@ place, then do the same for wxPython.
|
||||
--disable-monolithic \
|
||||
--enable-debug \
|
||||
--enable-geometry \
|
||||
--enable-sound \
|
||||
--enable-display \
|
||||
|
||||
|
||||
On OS X of course you'll want to use --with-mac instead of
|
||||
--with-gtk. For GTK2 and unicode add:
|
||||
--with-gtk. For GTK2 and unicode add::
|
||||
|
||||
--enable-gtk2 \
|
||||
--enable-unicode \
|
||||
|
@ -1,7 +1,7 @@
|
||||
CHANGES.txt for wxPython
|
||||
=====================================================================
|
||||
|
||||
2.5.1.x
|
||||
2.5.1.1
|
||||
-------
|
||||
|
||||
(See also the MigrationGuide.txt file for details about some of the
|
||||
@ -78,6 +78,8 @@ it.
|
||||
Updated wx.lib.calendar with many fixes and enhancements from Joerg
|
||||
"Adi" Sieker.
|
||||
|
||||
Added wx.Display and wx.VideoMode.
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -107,6 +107,7 @@ WXPORT = 'gtk' # On Linux/Unix there are several ports of wxWindows availabl
|
||||
|
||||
BUILD_BASE = "build" # Directory to use for temporary build files.
|
||||
|
||||
CONTRIBS_INC = "" # A dir to add as an -I flag when compiling the contribs
|
||||
|
||||
|
||||
# Some MSW build settings
|
||||
@ -190,7 +191,8 @@ for flag in ['BUILD_GLCANVAS', 'BUILD_OGL', 'BUILD_STC', 'BUILD_XRC',
|
||||
sys.argv[x] = ''
|
||||
|
||||
# String options
|
||||
for option in ['WX_CONFIG', 'WXDLLVER', 'BUILD_BASE', 'WXPORT', 'SWIG']:
|
||||
for option in ['WX_CONFIG', 'WXDLLVER', 'BUILD_BASE', 'WXPORT', 'SWIG',
|
||||
'CONTRIBS_INC']:
|
||||
for x in range(len(sys.argv)):
|
||||
if sys.argv[x].find(option) == 0:
|
||||
pos = sys.argv[x].find('=') + 1
|
||||
@ -591,7 +593,7 @@ elif os.name == 'posix':
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
else:
|
||||
raise 'Sorry Charlie, platform not supported...'
|
||||
raise 'Sorry, platform not supported...'
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
@ -836,7 +838,7 @@ swig_sources = run_swig(['misc.i'], 'src', GENDIR, PKGDIR,
|
||||
'src/_sound.i', 'src/_mimetype.i',
|
||||
'src/_artprov.i', 'src/_config.i',
|
||||
'src/_datetime.i', 'src/_dataobj.i',
|
||||
'src/_dnd.i',
|
||||
'src/_dnd.i', 'src/_display.i',
|
||||
'src/_clipbrd.i',
|
||||
])
|
||||
ext = Extension('_misc', swig_sources,
|
||||
@ -914,8 +916,10 @@ ext = Extension('_wizard', swig_sources,
|
||||
wxpExtensions.append(ext)
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
|
||||
if CONTRIBS_INC:
|
||||
includes += [ CONTRIBS_INC ]
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# Define the GLCanvas extension module
|
||||
|
196
wxPython/src/_display.i
Normal file
196
wxPython/src/_display.i
Normal file
@ -0,0 +1,196 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: _display.i
|
||||
// Purpose: SWIG interface for wxVideoMode and wxDisplay
|
||||
//
|
||||
// Author: Robin Dunn
|
||||
//
|
||||
// Created: 9-Mar-2004
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2004 by Total Control Software
|
||||
// Licence: wxWindows license
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Not a %module
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
%{
|
||||
#include "wx/display.h"
|
||||
%}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup
|
||||
|
||||
|
||||
DocStr(wxVideoMode,
|
||||
"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)");
|
||||
|
||||
DocDeclStr(
|
||||
int , GetWidth() const,
|
||||
"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");
|
||||
|
||||
DocDeclStr(
|
||||
int , GetDepth() const,
|
||||
"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");
|
||||
|
||||
|
||||
|
||||
%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; }
|
||||
}
|
||||
|
||||
|
||||
// the screen size in pixels (e.g. 640*480), 0 means unspecified
|
||||
int w, h;
|
||||
|
||||
// bits per pixel (e.g. 32), 1 is monochrome and 0 means unspecified/known
|
||||
int bpp;
|
||||
|
||||
// refresh frequency in Hz, 0 means unspecified/unknown
|
||||
int refresh;
|
||||
};
|
||||
|
||||
|
||||
%immutable;
|
||||
const wxVideoMode wxDefaultVideoMode;
|
||||
%mutable;
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
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");
|
||||
|
||||
virtual ~wxDisplay();
|
||||
|
||||
DocDeclStr(
|
||||
static size_t , GetCount(),
|
||||
"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");
|
||||
|
||||
|
||||
DocStr(GetFromWindow,
|
||||
"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
|
||||
%extend {
|
||||
static int GetFromWindow(wxWindow *window)
|
||||
{ wxPyRaiseNotImplemented(); return wxNOT_FOUND; }
|
||||
}
|
||||
#endif
|
||||
|
||||
DocDeclStr(
|
||||
virtual 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.");
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
virtual 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.");
|
||||
|
||||
|
||||
|
||||
%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) {
|
||||
PyObject* pyList = NULL;
|
||||
wxArrayVideoModes arr = self->GetModes(mode);
|
||||
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);
|
||||
}
|
||||
wxPyEndBlockThreads();
|
||||
return pyList;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
virtual wxVideoMode , GetCurrentMode() const,
|
||||
"Get the current video mode.");
|
||||
|
||||
|
||||
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)");
|
||||
|
||||
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
@ -336,5 +336,8 @@
|
||||
%rename(Clipboard) wxClipboard;
|
||||
%rename(TheClipboard) wxTheClipboard;
|
||||
%rename(ClipboardLocker) wxClipboardLocker;
|
||||
%rename(VideoMode) wxVideoMode;
|
||||
%rename(DefaultVideoMode) wxDefaultVideoMode;
|
||||
%rename(Display) wxDisplay;
|
||||
|
||||
#endif
|
||||
|
@ -50,6 +50,6 @@ MAKE_CONST_WXSTRING_NOSWIG(EmptyString);
|
||||
%include _dataobj.i
|
||||
%include _dnd.i
|
||||
%include _clipbrd.i
|
||||
|
||||
%include _display.i
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user