%pythoncode { def __nonzero__(self): return self.IsOk() };
+ // RTL related functions
+ // ---------------------
+
+ DocDeclStr(
+ virtual wxLayoutDirection , GetLayoutDirection() const,
+ "Get the layout direction (LTR or RTL)_ for this dc. On platforms
+where RTL layout is supported, the return value will either be
+``wx.Layout_LeftToRight`` or ``wx.Layout_RightToLeft``.
+``wx.Layout_Default`` is returned if layout direction is not
+supported.", "");
+
+ DocDeclStr(
+ virtual void , SetLayoutDirection(wxLayoutDirection dir),
+ "Change the layout direction for this dc.", "");
+
+
+
+
#ifdef __WXMSW__
long GetHDC();
#endif
%property(TextExtent, GetTextExtent, doc="See `GetTextExtent`");
%property(TextForeground, GetTextForeground, SetTextForeground, doc="See `GetTextForeground` and `SetTextForeground`");
%property(UserScale, GetUserScale, SetUserScale, doc="See `GetUserScale` and `SetUserScale`");
+
+ %property(LayoutDirection, GetLayoutDirection, SetLayoutDirection);
};
dc = wx.MemoryDC()
dc.SelectObject(bitmap)
- # draw on the dc usign any of the Draw methods
+ # draw on the dc using any of the Draw methods
dc.SelectObject(wx.NullBitmap)
# the bitmap now contains wahtever was drawn upon it
class wxMemoryDC : public wxDC {
public:
DocCtorStr(
- wxMemoryDC(),
+ wxMemoryDC(const wxBitmap& bitmap = wxNullBitmap),
"Constructs a new memory device context.
Use the Ok member to test whether the constructor was successful in
-creating a usable device context. Don't forget to select a bitmap into
-the DC before drawing on it.", "
+creating a usable device context. If a bitmap is not given to this
+constructor then don't forget to select a bitmap into the DC before
+drawing on it.", "
:see: `MemoryDCFromDC`");
`wx.BufferedPaintDC`.
Please note that GTK+ 2.0 and OS X provide double buffering themselves
-natively so using this class on those platforms will normally result
-in an unneeded level of buffering.
+natively. wxBufferedDC is aware of this however, and will bypass the buffering
+unless an explicit buffer bitmap is given.
", "");
class wxBufferedDC : public wxMemoryDC
wxBufferedDC( wxDC* dc,
const wxSize& area,
int style = wxBUFFER_CLIENT_AREA );
+// wxBufferedDC(wxWindow* win,
+// wxDC *dc,
+// const wxSize &area,
+// int style = wxBUFFER_CLIENT_AREA);
+
DocCtorStr(
~wxBufferedDC(),
dc = wx.BufferedPaintDC(self, self.buffer)
-
-
", "");
class wxBufferedPaintDC : public wxBufferedDC
"Create a buffered paint DC. As with `wx.BufferedDC`, you may either
provide the bitmap to be used for buffering or let this object create
one internally (in the latter case, the size of the client part of the
-window is automatically used).
-
-", "");
+window is automatically used).", "");
};
-
//---------------------------------------------------------------------------
%newgroup
"Constructor. Pass the window on which you wish to paint.", "");
};
+
+
+//---------------------------------------------------------------------------
+%newgroup
+
+%pythoncode {
+ if 'wxMac' in wx.PlatformInfo or 'gtk2' in wx.PlatformInfo:
+ _AutoBufferedPaintDCBase = PaintDC
+ else:
+ _AutoBufferedPaintDCBase = BufferedPaintDC
+
+ class AutoBufferedPaintDC(_AutoBufferedPaintDCBase):
+ """
+ If the current platform double buffers by default then this DC is the
+ same as a plain `wx.PaintDC`, otherwise it is a `wx.BufferedPaintDC`.
+
+ :see: `wx.AutoBufferedPaintDCFactory`
+ """
+ def __init__(self, window):
+ _AutoBufferedPaintDCBase.__init__(self, window)
+}
+
+
+%newobject wxAutoBufferedPaintDCFactory;
+DocDeclStr(
+ wxDC* , wxAutoBufferedPaintDCFactory(wxWindow* window),
+ "Checks if the window is natively double buffered and will return a
+`wx.PaintDC` if it is, a `wx.BufferedPaintDC` otherwise. The
+advantage of this function over `wx.AutoBufferedPaintDC` is that this
+function will check if the the specified window supports has
+double-buffering enabled rather than just going by platform defaults.", "");
+
+
+
//---------------------------------------------------------------------------
%newgroup