documented wxBuffered[Paint]DC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
c7a9b22eeb
commit
d6af57d4d2
134
docs/latex/wx/bufferdc.tex
Normal file
134
docs/latex/wx/bufferdc.tex
Normal file
@ -0,0 +1,134 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% Name: bufferdc.tex
|
||||
%% Purpose: wxBufferedDC documentation
|
||||
%% Author: Vadim Zeitlin
|
||||
%% Modified by:
|
||||
%% Created: 07.02.04
|
||||
%% RCS-ID: $Id$
|
||||
%% Copyright: (c) 2004 Vadim Zeitlin
|
||||
%% License: wxWindows 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
|
||||
object is destroyed.
|
||||
|
||||
It can be used in the same way as any other device context. wxBufferedDC itself
|
||||
typically replaces \helpref{wxClientDC}{wxclientdc}, if you want to use it in
|
||||
your \texttt{OnPaint()} handler, you should look at
|
||||
\helpref{wxBufferedPaintDC}{wxbufferedpaintdc}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxMemoryDC}{wxmemorydc}
|
||||
\helpref{wxDC}{wxdc}
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/dcbuffer.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDC}{wxdc}
|
||||
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBufferedDC::wxBufferedDC}\label{wxbufferedtdcctor}
|
||||
|
||||
\func{}{wxBufferedDC}{\void}
|
||||
|
||||
\func{}{wxBufferedDC}{\param{wxDC *}{dc}, \param{const wxSize\& }{area}, \param{int }{flags}}
|
||||
|
||||
\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.
|
||||
|
||||
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.}
|
||||
|
||||
\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).}
|
||||
|
||||
\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
|
||||
time but it also requires more memory as the bitmap is never freed. The bitmap
|
||||
should have appropriate size, anything drawn outside of its bounds is clipped.}
|
||||
|
||||
|
||||
\membersection{wxBufferedDC::Init}\label{wxbufferedtdcinit}
|
||||
|
||||
\func{void}{Init}{\param{wxDC *}{dc}, \param{const wxSize\& }{area}, \param{int }{flags}}
|
||||
|
||||
\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.
|
||||
|
||||
|
||||
% 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.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\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
|
||||
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
|
||||
already does this internally for the real underlying wxPaintDC.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxMemoryDC}{wxmemorydc}
|
||||
\helpref{wxDC}{wxdc}
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/dcbuffer.h>
|
||||
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBufferedPaintDC::wxBufferedPaintDC}\label{wxbufferedpaintdcctor}
|
||||
|
||||
\func{}{wxBufferedPaintDC}{\param{wxWindow *}{window}, \param{int }{flags}}
|
||||
|
||||
\func{}{wxBufferedPaintDC}{\param{wxWindow *}{window}, \param{const wxBitmap\& }{buffer}}
|
||||
|
||||
As with \helpref{wxBufferedDC}{wxbuffereddcctor}, 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 used).
|
||||
|
||||
|
||||
\membersection{wxBufferedPaintDC::\destruct{wxBufferedPaintDC}}\label{wxbufferedpaintdcdtor}
|
||||
|
||||
Copies everything drawn on the DC so far to the window associated with this
|
||||
object.
|
||||
|
||||
|
@ -162,6 +162,8 @@ by passing different device contexts.
|
||||
|
||||
\twocolwidtha{6cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxBufferedDC}{wxbuffereddc}}{A helper device context for double buffered drawing.}
|
||||
\twocolitem{\helpref{wxBufferedPaintDC}{wxbufferedpaintdc}}{A helper device context for double buffered drawing inside \textbf{OnPaint}.}
|
||||
\twocolitem{\helpref{wxClientDC}{wxclientdc}}{A device context to access the client area outside {\bf OnPaint} events}
|
||||
\twocolitem{\helpref{wxPaintDC}{wxpaintdc}}{A device context to access the client area inside {\bf OnPaint} events}
|
||||
\twocolitem{\helpref{wxWindowDC}{wxwindowdc}}{A device context to access the non-client area}
|
||||
|
@ -19,6 +19,7 @@
|
||||
\input bmphand.tex
|
||||
\input boxsizer.tex
|
||||
\input brush.tex
|
||||
\input bufferdc.tex
|
||||
\input strmbfrd.tex
|
||||
\input busycurs.tex
|
||||
\input busyinfo.tex
|
||||
|
@ -1,6 +1,6 @@
|
||||
\section{Device context overview}\label{dcoverview}
|
||||
|
||||
Classes: \helpref{wxDC}{wxdc}, \helpref{wxPostScriptDC}{wxpostscriptdc},\rtfsp
|
||||
Classes: \helpref{wxBufferedDC}{wxbuffereddc}, \helpref{wxBufferedPaintDC}{wxbufferedpaintdc}, \helpref{wxDC}{wxdc}, \helpref{wxPostScriptDC}{wxpostscriptdc},\rtfsp
|
||||
\rtfsp\helpref{wxMetafileDC}{wxmetafiledc}, \helpref{wxMemoryDC}{wxmemorydc}, \helpref{wxPrinterDC}{wxprinterdc},\rtfsp
|
||||
\helpref{wxScreenDC}{wxscreendc}, \helpref{wxClientDC}{wxclientdc}, \helpref{wxPaintDC}{wxpaintdc},\rtfsp
|
||||
\helpref{wxWindowDC}{wxwindowdc}.
|
||||
|
Loading…
Reference in New Issue
Block a user