📄 display.h
字号:
// Icer Game Engine v1.0
// Http://www.ngame2000.com
//
//Author:杨冰(源代码之光)
// E-mail: iceryeah2000@163.com
// QQ : 7746642
//
//Module:图形设备类
//
//Create:2003-2-6
//Updata:2003-3-5
//
//Describe:提供32bit显示图形设备的功能函数,比如创建图形引擎等函数。
//Remark: 2003-2-6: Preparatory step is complete
// 2003-2-15: Completing static picture function
// 2003-3-5: Release v1.0 alpha
#pragma once
class CDisplay
{
public:
~CDisplay(void);
static CDisplay* Instance(); //单件设计模式
//创建图形引擎
//创建窗口模式,指定的长宽是窗口客户区域长宽,不是整个窗口的长宽
bool Create(HWND hWnd,bool isFullScreen = false,DWORD Width = 640, DWORD Height = 480,DWORD ScreenColor = 32);
void Destroy(void); //销毁图形引擎
void ClearScreen(DWORD Color = 0); //清屏
void ClearBackBuffer(DWORD Color = 0); //清背景缓冲
void UpdataDisplay(void); //更新图形设备
public:
LPDIRECTDRAW7 GetDDraw(void) {return m_pDraw;}
LPDIRECTDRAWSURFACE7 GetMainSurface(void) {return m_pMainBuffer;} //获得主表面
LPDIRECTDRAWSURFACE7 GetBackSurface(void) {return m_pBackBuffer;} //获得缓冲表面
DWORD* GetEngineBuffer(void) {return m_pEngineBuffer;} //获得引擎背景缓冲
DWORD GetEngineBufferPitch(void) {return m_dwEngineBufferPitch;} //获得背景缓冲Pitch
DWORD GetScreenWidth(void) {return m_dwScreenWidth;} //获得窗口/屏幕宽
DWORD GetScreenHeight(void) {return m_dwScreenHeight;} //获得窗口/屏幕高
void SetFPSState(bool state) {m_dwFPSState = state;} //FPS开关设置
bool GetFPSState(void) {return m_dwFPSState;} //FPS开关状态
private:
//各种状态
bool m_bFullScreen; //窗口状态
DWORD m_dwWinX; //窗口矩形(位置、大小)
DWORD m_dwWinY;
DWORD m_dwWinWidth;
DWORD m_dwWinHeight;
bool m_dwFPSState; //FPS开关
DWORD m_dwTimer;
private:
static CDisplay* m_Instance;
CDisplay(void);
HWND m_hWnd;
private:
LPDIRECTDRAW7 m_pDraw; //DirectDraw7接口
LPDIRECTDRAWSURFACE7 m_pMainBuffer; //主缓冲表面
LPDIRECTDRAWSURFACE7 m_pBackBuffer; //后台缓冲表面
LPDIRECTDRAWCLIPPER m_pClipper;
DWORD m_dwScreenWidth; //屏幕宽度
DWORD m_dwScreenHeight; //屏幕高度
DWORD m_dwScreenColor; //屏幕色彩模式
DWORD* m_pEngineBuffer; //自定义缓冲
DWORD m_dwEngineBufferPitch; //自定义缓冲Pitch
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -