📄 easydraw.h
字号:
#ifndef EASY_DRAW_H
#define EASY_DRAW_H
#include <ddraw.h>
#include "normal.h"
#define CHANGE_565_TO_555( w ) (WORD)( ( w >> 1 ) & 0x7fe0 ) + ( w & 0x1f )
class EasyDraw
{
public:
EasyDraw();
~EasyDraw();
LPDIRECTDRAW7 GetLPDD(){ return lpDD;}
LPDIRECTDRAWSURFACE7& GetBackSurface(){ return lpDDSBack; }
LPDIRECTDRAWSURFACE7& GetTempSurface(){ return lpDDSTemp; }
int GetDeviceWidth(){ return m_iWidth; }
int GetDeviceHeight(){ return m_iHeight; }
void Filp();
DWORD ChangeColorKey( DWORD colorkey );
protected:
LPDIRECTDRAW7 lpDD;
LPDIRECTDRAWSURFACE7 lpDDSPrimary;
LPDIRECTDRAWSURFACE7 lpDDSBack;
LPDIRECTDRAWSURFACE7 lpDDSTemp; //一个离屏页面,用于完成各种特效
HWND GameHwnd;
int m_iWidth;
int m_iHeight;
public:
bool InitDDraw(HWND hwnd, bool isWindowed, int iW, int iH);
};
//DirectDraw各类函数
//-------------------------------------------------DDraw辅助函数---------------------------------------------------
EasyDraw *InitEasyDraw( HWND hwnd, bool isWindowed, int iW, int iH );
EasyDraw *GetEasyDrawPointer();
HRESULT CreateSurfaceHelp( LPDIRECTDRAW7 lpdd,LPDIRECTDRAWSURFACE7 *ppSurface,int iW, int iH, bool isSysMemory, bool isColorKey, DWORD ColorKey );
HRESULT CreateSurfaceOfBmp( LPDIRECTDRAW7 lpdd,LPDIRECTDRAWSURFACE7 *ppSurface,char *szFileName, bool isSysMemory, bool isColorKey, DWORD ColorKey );
LPDIRECTDRAWSURFACE7 LoadBmpToSurfaceFromHBmp( HBITMAP hBmp, LPDIRECTDRAWSURFACE7 lpDDSurface, int x, int y );
void SetColorKeyHelp( LPDIRECTDRAWSURFACE7 lpDDSurface, DWORD ColorKey);
bool CopySurfaceToBmp16( LPDIRECTDRAWSURFACE7 lpDDSurface, char *szFileName, RECT *pRect, bool is565 );
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -