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

📄 draw.h

📁 泡泡堂单机版,可能被转载够很多次,不过这个是比较完整的,一个很好的学习材料.
💻 H
字号:
#ifndef DRAW_H
#define DRAW_H

#include <ddraw.h>
#pragma comment(lib,"ddraw.lib")
#pragma comment(lib,"dxguid.lib")

class CSurface;

class CDraw
{
public:

	CDraw(void);
	~CDraw(void);

	HWND                 GetHWnd()           { return m_hWnd; }
    LPDIRECTDRAW7        GetDirectDraw()     { return m_pDD; }
    LPDIRECTDRAWSURFACE7 GetFrontBuffer()    { return m_pddsFrontBuffer; }
    LPDIRECTDRAWSURFACE7 GetBackBuffer()     { return m_pddsBackBuffer; }
	BOOL				 IsWindowed()        { return m_bWindowed; }

	HRESULT CreateFullScreenDisplay( HWND hWnd, DWORD dwWidth, DWORD dwHeight,DWORD dwBPP );
	HRESULT CreateWindowedDisplay( HWND hWnd, DWORD dwWidth, DWORD dwHeight );
	HRESULT CreateSurface( CSurface** ppSurface, DWORD dwWidth,DWORD dwHeight );
	void	UpdateBounds();
	HRESULT Clear( DWORD dwColor = 0L );
    HRESULT Blt( DWORD x, DWORD y, CSurface* pSurface, RECT* prc = NULL );
	HRESULT AlphaBlt( DWORD x, DWORD y, CSurface* pSurface, RECT* prc, float rate );
	HRESULT Present();
	HRESULT DrawText( HFONT hFont, TCHAR* strText, DWORD dwX, DWORD dwY,
						COLORREF crBackground = RGB(255,255,255), COLORREF crForeground =RGB(0,0,0),int bkmode = TRANSPARENT);

protected:
	LPDIRECTDRAW7        m_pDD;
	LPDIRECTDRAWSURFACE7 m_pddsFrontBuffer;
	LPDIRECTDRAWSURFACE7 m_pddsBackBuffer;

	HWND                 m_hWnd;
	RECT                 m_rcWindow;
	BOOL                 m_bWindowed;

};

class CSurface
{
	LPDIRECTDRAWSURFACE7 m_pdds;
	DDSURFACEDESC2       m_ddsd;
	BOOL                 m_bColorKeyed;

public:
	CSurface();
	~CSurface();

	LPDIRECTDRAWSURFACE7 GetDDrawSurface() { return m_pdds; }
	BOOL                 IsColorKeyed()    { return m_bColorKeyed; }

	HRESULT DrawBitmap( TCHAR* strBMP, DWORD dwWidth = 0, DWORD dwHeight = 0 );
	HRESULT SetColorKey( COLORREF dwColorKeyLow, COLORREF dwColorKeyHig );
	HRESULT Create( LPDIRECTDRAW7 pDD, DDSURFACEDESC2* pddsd );
};

#endif

⌨️ 快捷键说明

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