%% Created: 07.02.04
%% RCS-ID: $Id$
%% Copyright: (c) 2004 Vadim Zeitlin
-%% License: wxWindows license
+%% License: wxWidgets license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxBufferedDC}}\label{wxbuffereddc}
This simple class provides a simple way to avoid flicker: when drawing on it,
-everything is in fact drawn on an in-memory buffer (a
-\helpref{wxBitmap}{wxbitmap}) and copied to the screen only once, when this
+everything is in fact first drawn on an in-memory buffer (a
+\helpref{wxBitmap}{wxbitmap}) and then copied to the screen only once, when this
object is destroyed.
It can be used in the same way as any other device context. wxBufferedDC itself
\wxheading{Derived from}
-\helpref{wxMemoryDC}{wxmemorydc}
-\helpref{wxDC}{wxdc}
+\helpref{wxMemoryDC}{wxmemorydc}\\
+\helpref{wxDC}{wxdc}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxBufferedDC::wxBufferedDC}\label{wxbufferedtdcctor}
+\membersection{wxBufferedDC::wxBufferedDC}\label{wxbuffereddcctor}
\func{}{wxBufferedDC}{\void}
-\func{}{wxBufferedDC}{\param{wxDC *}{dc}, \param{const wxSize\& }{area}, \param{int }{flags}}
+\func{}{wxBufferedDC}{\param{wxDC *}{dc}, \param{const wxSize\& }{area}}
\func{}{wxBufferedDC}{\param{wxDC *}{dc}, \param{const wxBitmap\& }{buffer}}
If you use the first, default, constructor, you must call one of the
-\helpref{Init}{wxbufferedtdcinit} methods later in order to use the object.
+\helpref{Init}{wxbuffereddcinit} methods later in order to use the object.
The other constructors initialize the object immediately and \texttt{Init()}
must not be called after using them.
\wxheading{Parameters}
\docparam{dc}{The underlying DC: everything drawn to this object will be
-flushed to this DC when this object is destroyed.}
+flushed to this DC when this object is destroyed. You may pass NULL
+in order to just initialize the buffer, and not flush it.}
\docparam{area}{The size of the bitmap to be used for buffering (this bitmap is
-created internally when it is not given explicitely).}
-
-\docparam{flags}{Can currently only include the flag
-\texttt{wxBUFFER\_DC\_PRESERVE\_BG} which means that the existing background
-of \arg{dc} must be copied to this object before doing anything else, otherwise
-the background is overwritten (which is more efficient).}
+created internally when it is not given explicitly).}
\docparam{buffer}{Explicitly provided bitmap to be used for buffering: this is
the most efficient solution as the bitmap doesn't have to be recreated each
should have appropriate size, anything drawn outside of its bounds is clipped.}
-\membersection{wxBufferedDC::Init}\label{wxbufferedtdcinit}
+\membersection{wxBufferedDC::Init}\label{wxbuffereddcinit}
-\func{void}{Init}{\param{wxDC *}{dc}, \param{const wxSize\& }{area}, \param{int }{flags}}
+\func{void}{Init}{\param{wxDC *}{dc}, \param{const wxSize\& }{area}}
\func{void}{Init}{\param{wxDC *}{dc}, \param{const wxBitmap\& }{buffer}}
These functions initialize the object created using the default constructor.
-Please see \helpref{constructors documentation}{wxbufferedtdcctor} for details.
+Please see \helpref{constructors documentation}{wxbuffereddcctor} for details.
% VZ: UnMask() intentionally not documented, we might want to make it private
\membersection{wxBufferedDC::\destruct{wxBufferedDC}}\label{wxbuffereddcdtor}
Copies everything drawn on the DC so far to the underlying DC associated with
-this object.
+this object, if any.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxBufferedPaintDC}}\label{wxbufferedpaintdc}
This is a subclass of \helpref{wxBufferedDC}{wxbuffereddc} which can be used
-inside \texttt{OnPaint()} handler. Just create an object of this class instead
+inside of an \texttt{OnPaint()} event handler. Just create an object of this class instead
of \helpref{wxPaintDC}{wxpaintdc} and that's all you have to do to (mostly)
avoid flicker. The only thing to watch out for is that if you are using this
class together with \helpref{wxScrolledWindow}{wxscrolledwindow}, you probably
-do \textbf{not} want to call \helpref{PrepareDC}{wxwindowpreparedc} on it as it
+do \textbf{not} want to call \helpref{PrepareDC}{wxscrolledwindowpreparedc} on it as it
already does this internally for the real underlying wxPaintDC.
\wxheading{Derived from}
-\helpref{wxMemoryDC}{wxmemorydc}
-\helpref{wxDC}{wxdc}
+\helpref{wxMemoryDC}{wxmemorydc}\\
+\helpref{wxDC}{wxdc}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
\membersection{wxBufferedPaintDC::wxBufferedPaintDC}\label{wxbufferedpaintdcctor}
-\func{}{wxBufferedPaintDC}{\param{wxWindow *}{window}, \param{int }{flags}}
-
-\func{}{wxBufferedPaintDC}{\param{wxWindow *}{window}, \param{const wxBitmap\& }{buffer}}
+\func{}{wxBufferedPaintDC}{\param{wxWindow *}{window}, \param{const wxBitmap\& }{buffer = wxNullBitmap}}
As with \helpref{wxBufferedDC}{wxbuffereddcctor}, you may either provide the
bitmap to be used for buffering or let this object create one internally (in
\membersection{wxBufferedPaintDC::\destruct{wxBufferedPaintDC}}\label{wxbufferedpaintdcdtor}
Copies everything drawn on the DC so far to the window associated with this
-object.
+object, using a \helpref{wxPaintDC}{wxpaintdc}.