⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dcbuffer.h

📁 浙江大学的悟空嵌入式系统模拟器
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////
// Name:        wx/dcbuffer.h
// Purpose:     wxBufferedDC class
// Author:      Ron Lee <ron@debian.org>
// Modified by:
// Created:     16/03/02
// RCS-ID:      $Id: dcbuffer.h,v 1.1 2005/03/16 06:48:52 kehc Exp $
// Copyright:   (c) Ron Lee
// Licence:     wxWindows licence
/////////////////////////////////////////////////////////////////////////////

#ifndef _WX_DCBUFFER_H_
#define _WX_DCBUFFER_H_

#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "dcbuffer.h"
#endif

#include "wx/dcmemory.h"


// ==============================================================
//   Double buffering helper.
// --------------------------------------------------------------

class WXDLLEXPORT wxBufferedDC : public wxMemoryDC
{
private:

        // Without the existence of a wxNullDC, this must be
        // a pointer, else it could probably be a reference.

    wxDC        *m_dc;
    wxBitmap    m_buffer;

public:

        // Default ctor, must subsequently call Init for
        // two stage construction.

    wxBufferedDC()
        : m_dc( 0 )
    {}

        // Construct a wxBufferedDC using a user supplied buffer.

    wxBufferedDC( wxDC *dc, const wxBitmap &buffer );

        // Construct a wxBufferedDC with an internal buffer of 'area'
        // (where area is usually something like the size of the window
        // being buffered)

    wxBufferedDC( wxDC *dc, const wxSize &area );

    // default copy ctor ok.

        // The usually desired  action in the dtor is to blit the buffer.

    ~wxBufferedDC();

        // These reimplement the actions of the ctors for
        // two stage creation, but are not used by the ctors
        // themselves to save a few cpu cycles.

    void Init( wxDC *dc, const wxBitmap &bitmap );
    void Init( wxDC *dc, const wxSize &area );

        // Blits the buffer to the dc, and detaches the dc from
        // the buffer.  Usually called in the dtor or by the dtor
        // of derived classes if the BufferedDC must blit before
        // the derived class (which may own the dc it's blitting
        // to) is destroyed.

    void UnMask();
};


// ==============================================================
//   Double buffered PaintDC.
// --------------------------------------------------------------

// Creates a double buffered wxPaintDC, optionally allowing the
// user to specify their own buffer to use.

class WXDLLEXPORT wxBufferedPaintDC : public wxBufferedDC
{
private:

    wxPaintDC    m_paintdc;

public:

    wxBufferedPaintDC( wxWindow *window, const wxBitmap &buffer = wxNullBitmap );

    // default copy ctor ok.

    ~wxBufferedPaintDC();
};


#endif  // _WX_DCBUFFER_H_

// vi:sts=4:sw=4:et

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -