?? directdraw.h
字號:
/*************************[ DirectDraw 模塊 ]*************************\
\*************************[ Start ]*************************/
// 版權(Copyright):
// Copyright by Verdure programming group. All Rights Reserved.
// 新綠軟件制作群. 版權所有。
// 模塊名(MODULE):
// DirectDraw.cpp
// 用途(PURPOSE):
// 一些操作DirectDraw的函數
// 平臺(PLATFORMS):
// 運行平臺:Windows95 + DirectX 5.0
// 編譯平臺:Visual C++ 6.0
// 函數(FUNCTIONS):
//
// 最后更改日期(Update):
// 1999.05.04 12:00:00
// 說明(COMMENTS):
// DirectX 下的16bit函數
/*----------------------------------------------------------------*\
函 數:
void DirectDrawError(HRESULT hErr)
功 能:
DirectDraw 錯誤信息顯示
參 數:
錯誤ID
返回值:
無
說明:
顯示調用DirectDraw函數出現的錯誤
\*----------------------------------------------------------------*/
void DirectDrawError(char *ModuleName, HRESULT hErr);
/*----------------------------------------------------------------*\
函 數:
void DestroyDirectDraw(void)
功 能:
銷毀創建的 DirectDraw 對象
參 數:
無
返回值:
無
說明:
\*----------------------------------------------------------------*/
void DestroyDirectDraw(void);
/*----------------------------------------------------------------*\
函 數:
BOOL InitializeDirectDraw(void)
功 能:
初始化 DirectDraw 對象
參 數:
無
返回值:
true - 成功
FALSE - 失敗
說明:
\*----------------------------------------------------------------*/
DllExport BOOL InitializeDirectDraw(void);
/*----------------------------------------------------------------*\
函 數:
void GetPixelFormat(void)
功 能:
判斷顯示卡的點格式是否為555
參 數:
無
返回值:
無
說明:
\*----------------------------------------------------------------*/
BOOL GetPixelFormat(void);
/*----------------------------------------------------------------*\
函 數:
IDirectDrawSurface3 * ddCreateSurface(int Width, int Height)
功 能:
創建DirectDraw Surface
參 數:
Width - 圖像面的指針
Height - 透明色
返回值:
!NULL - 成功,返回圖像面的指針
NULL - 失敗
\*----------------------------------------------------------------*/
DllExport IDirectDrawSurface3 * ddCreateSurface(int Width, int Height);
/*----------------------------------------------------------------*\
函 數:
BOOL SetDisplayMode(WORD Width, WORD Height, BYTE BPP)
功 能:
設置顯示模式
參 數:
Width - 屏幕寬度
Height - 屏幕高度
BPP - 顏色深度(Bit)
返回值:
TRUE - 成功
FALSE - 失敗
說明:
該函數必須在DirectDraw初始化成功后才能調用
\*----------------------------------------------------------------*/
DllExport BOOL ddSetDisplayMode(WORD Width, WORD Height);
/*----------------------------------------------------------------*\
函 數:
void ddUpdateVideo(void)
功 能:
更新屏幕
參 數:
無
返回值:
無
說明:
\*----------------------------------------------------------------*/
DllExport void ddUpdateVideo(void);
/*----------------------------------------------------------------*\
函 數:
HRESULT ddSetColorKey(IDirectDrawSurface3 *pdds, COLORREF rgb)
功 能:
設置圖像面的透明色
參 數:
pdds - 圖像面的指針
rgb - 透明色
返回值:
true - 成功
false - 失敗
\*----------------------------------------------------------------*/
DllExport BOOL ddSetColorKey(IDirectDrawSurface3 *pdds, COLORREF rgb);
/*----------------------------------------------------------------*\
| 函 數:DirectDraw系統函數 -- DDRAW.DLL |
\*----------------------------------------------------------------*/
/*----------------------------------------------------------------*\
IDirectDraw2::CreateSurface // 創建DirectDraw對象
HRESULT CreateSurface(
LPDDSURFACEDESC lpDDSurfaceDesc, // 圖像面屬性 結構
LPDIRECTDRAWSURFACE FAR *lplpDDSurface, // 圖像面指針
IUnknown FAR *pUnkOuter // 必須NULL
);
IDirectDraw2::SetCooperativeLevel // 設置協作層
HRESULT SetCooperativeLevel(
HWND hWnd, // 父窗口句柄
DWORD dwFlags // 控制標志
);
IDirectDraw2::SetDisplayMode // 設置顯示模式
HRESULT SetDisplayMode(
DWORD dwWidth, // 寬度
DWORD dwHeight, // 高度
DWORD dwBPP, // 顏色
DWORD dwRefreshRate, // 刷新率,缺省為0
DWORD dwFlags // 0
);
IDirectDrawSurface3::Blt // 位圖傳送
HRESULT Blt(
LPRECT lpDestRect, // 目標 Rect
LPDIRECTDRAWSURFACE3 lpDDSrcSurface, // 面指針
LPRECT lpSrcRect, // 源 Rect
DWORD dwFlags, // 操作方式
LPDDBLTFX lpDDBltFx // DDBLTFX指針
);
IDirectDrawSurface3::BltFast // 位圖傳送
HRESULT BltFast(
DWORD dwX,
DWORD dwY, // 目標坐標(x,y)
LPDIRECTDRAWSURFACE3 lpDDSrcSurface, // 面指針
LPRECT lpSrcRect, // 源 Rect
DWORD dwTrans // 操作方式
);
IDirectDrawSurface3::Flip // 頁翻轉
HRESULT Flip(
LPDIRECTDRAWSURFACE3 lpDDSurfaceTargetOverride, // 面指針, 缺省為NULL
DWORD dwFlags // 操作方式
);
IDirectDrawSurface3::GetDC // 獲取GDI句柄
HRESULT GetDC(
HDC FAR *lphDC // HDC指針
);
IDirectDrawSurface3::ReleaseDC // 與GetDC配套使用
HRESULT ReleaseDC(
HDC hDC // HDC句柄
);
IDirectDrawSurface3::Lock // 獲取面內存指針
HRESULT Lock(
LPRECT lpDestRect, // 目的Rect
LPDDSURFACEDESC lpDDSurfaceDesc, // DDSURFACEDESC指針
DWORD dwFlags, // 操作方式
HANDLE hEvent // 保留,必須為NULL
);
IDirectDrawSurface3::Unlock // 與Lock配套使用
HRESULT Unlock(
LPVOID lpSurfaceData // DDSURFACEDESC指針
);
IDirectDrawSurface3::SetColorKey // 設置透明色
HRESULT SetColorKey(
DWORD dwFlags, // 操作方式
LPDDCOLORKEY lpDDColorKey // 顏色RGB(紅,綠,藍)
);
IDirectDrawSurface3::Restore // 恢復丟失的面
HRESULT Restore(void);
\*----------------------------------------------------------------*/
/*----------------------------------------------------------------*\
| 函 數:DirectDraw系統函數 -- DDRAW.DLL |
\*----------------------------------------------------------------*/
/*************************[ End ]*************************\
\*************************[ DirectDraw 模塊 ]*************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -