git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			129 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | |
| %% Name:        bufferdc.tex
 | |
| %% Purpose:     wxBufferedDC documentation
 | |
| %% Author:      Vadim Zeitlin
 | |
| %% Modified by:
 | |
| %% Created:     07.02.04
 | |
| %% RCS-ID:      $Id$
 | |
| %% Copyright:   (c) 2004 Vadim Zeitlin
 | |
| %% 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 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
 | |
| 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{wxbuffereddcctor}
 | |
| 
 | |
| \func{}{wxBufferedDC}{\void}
 | |
| 
 | |
| \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}{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.  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{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{wxbuffereddcinit}
 | |
| 
 | |
| \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}{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, if any.
 | |
| 
 | |
| 
 | |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | |
| 
 | |
| \section{\class{wxBufferedPaintDC}}\label{wxbufferedpaintdc}
 | |
| 
 | |
| This is a subclass of \helpref{wxBufferedDC}{wxbuffereddc} which can be used
 | |
| 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}{wxscrolledwindowpreparedc} 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{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
 | |
| 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, using a \helpref{wxPaintDC}{wxpaintdc}.
 | |
| 
 | |
| 
 |