Recent Changes for wxPython
=====================================================================
-2.7.1.0
+2.7.1.1
-------
-* 13-Oct-2006
+*
The following deprecated items have been removed:
IsOk(), use of the latter form is preferred although the former hasn't
been deprecated yet
-wx.BufferedDC and wx.BufferedPaintDC, if created with a reference to a
-window and no program supplied buffer bitmap, will not do its own
-buffering if the window is already double buffered by the system.
-Also added a wx.AutoBufferedPaintDC that is a subclass of wx.PaintDC
-on platforms that do double buffering by default, and a subclass of
-wx.BufferedPaintDC on the platforms that don't.
-
Added the wx.AboutBox() function and wx.AboutDialogInfo class. They
provide a way to show a standard About box for the application, which
will either be a native dialog or a generic one depending on what info
drawing via wxDC is done using the new APIs from apple, instead of the
old Quick Draw API. There are, however, a few places where Quartz and
wxDC don't fit together very well, mainly the lack of support for
-logical drawing operations such as XOR, but there work in progress to
-provide other ways to do the same sort of thing that will work with
+logical drawing operations such as XOR, but there is work in progress
+to provide other ways to do the same sort of thing that will work with
Quartz and also on the other platforms.
The first parts of a new 2D drawing API has been added with the
There is also a transitional wx.GCDC class that provides the wx.DC API
on top of wx.GraphicsContext. Docs and a demo are still MIA.
+Added a wx.AutoBufferedPaintDC that is a subclass of wx.PaintDC on
+platforms that do double buffering by default, and a subclass of
+wx.BufferedPaintDC on the platforms that don't. You can use this
+class to help avoid the overhead of buffering when it is not
+needed. There is also a wx.AutoBufferedPaintDCFactory function that
+does a little more and actually tests if the window has
+double-buffering enabled and then decides whether to return a
+wx.PaintDC or wx.BufferedPaintDC. This uses the new
+wx.Window.IsDoubleBuffered method.
+
+
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`");
unless an explicit buffer bitmap is given.
", "");
-class wxBufferedDC : public wxDC
+class wxBufferedDC : public wxMemoryDC
{
public:
%pythonAppend wxBufferedDC
wxBufferedDC( wxDC* dc,
const wxSize& area,
int style = wxBUFFER_CLIENT_AREA );
- wxBufferedDC(wxWindow* win,
- wxDC *dc,
- const wxSize &area,
- int style = wxBUFFER_CLIENT_AREA);
+// wxBufferedDC(wxWindow* win,
+// wxDC *dc,
+// const wxSize &area,
+// int style = wxBUFFER_CLIENT_AREA);
DocCtorStr(
"""
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