MvcBufferedWrapper_T Class
class MvcBufferedWrapper_T
The MvcBufferedWrapper_T class wraps a viewport and provides off-screen, flicker free rendering.Defined in: MvcBufferedWrapper.h
Class Template Arguments
base_t
The class of the viewport to derive from.
Class Members
Constructor.
virtual ~MvcBufferedWrapper_T()
Destructor.
BOOL m_bEnableBuffering
Turn screen buffering on or off
CDC* m_pBufferDC
Memory DC for offscreen buffer
CBitmap* m_pBufferBmp
Bitmap that is selected into offscreen DC
CPalette* m_pBufferPal
Palette used for offscreen buffer
HBITMAP m_hPrevBufferBmp
For restoring buffer DC
HPALETTE m_hPrevBufferPal
For restoring buffer DC
int m_nBufPadding
Extra width and height added to buffer to reduce reallocation.
CRect m_rcUpdate
Update rectangle.
void EnableBuffering(const BOOL bEnableBuffering)
Enable or disable use of the offscreen buffer.
virtual void DrawOffscreen()
Draws an area of the viewport to the offscreen buffer.
virtual void Refresh(CDC* pDC)
Transfers the entire offscreen buffer to a screen DC.
virtual void Refresh(CDC* pDC, const CRect &rcUpdate)
Transfers a rectangular area of the offscreen buffer to a screen DC.
void SetPalette(CPalette *pPal)
Set the palette to use for drawing to the offscreen buffer.
void SetBufferPadding(const int nBufPadding)
Set padding added to offscreen buffer to reduce reallocation when
virtual void Draw(CDC* pDC)
Draws the entire viewport to a device context.
virtual void OnInitialUpdate()
Initializes the viewport.
virtual void InvalidateRect(const CRect& rcLog, BOOL bErase = TRUE, BOOL bRepairNow = FALSE)
Invalidate the specified rectangle within the viewport.
virtual BOOL GetUpdateRect(LPRECT lpRect, BOOL bErase = FALSE)
Returns the current invalid region as a rectangle.
virtual CSize SetSize(int cx, int cy)
Set the width and height of the viewport in device units. Reallocates
BOOL CreateOffscreenBuffer()
Creates memory DC and bitmap for offscreen buffer.
BOOL NeedToResizeBuffer()
Compares the current buffer size to the viewport dimensions.
void DestroyOffscreenBuffer()
Deletes the bitmap and memory DC.
virtual void OnBufferedEraseBkgnd(CDC* pDC, CRect rcFill)
Clears the offscreen buffer before rendering.