directsurface.h

来自「C++编程实践与技巧一书各章节的源码」· C头文件 代码 · 共 41 行

H
41
字号
// -------------------------------------------------------------------------
// CDirectSurface Class
// -------------------------------------------------------------------------

#pragma once

#include "DDraw.h"
#include "DirectObject.h"

class CDirectSurface : public CDirectObject
{
private:
	BOOL m_bRender;
private:
	int m_nXPos;
	int m_nYPos;
private:
	LPDDSURFACEDESC m_pSurfaceInfo;
	LPDIRECTDRAWSURFACE m_pSurface;
public:
	LPDIRECTDRAWSURFACE GetSurface(){return m_pSurface;};
	BOOL Clear(int nColor);
	BOOL Create(LPDIRECTDRAW2 pDD,int nWidth,int nHeight);
	BOOL IsRenderable(){return m_bRender;};
	int  GetXPosition(){return m_nXPos;};
	int  GetYPosition(){return m_nYPos;};
	int  GetWidth(){return m_pSurfaceInfo->dwWidth;};
	int  GetHeight(){return m_pSurfaceInfo->dwHeight;};
	void SetPosition(int nXPos,int nYPos);
	void SetRender(BOOL bRender);
private:
	BOOL Unlock();
	BOOL Lock();
public:
	BOOL Create(LPDIRECTDRAW2 pDD,UINT uiResBmpId);
	CDirectSurface();
	virtual ~CDirectSurface();
};

typedef CTypedPtrList<CObList,CDirectSurface*> CDirectSurfaceList;

⌨️ 快捷键说明

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