ホーム › Graphics.DirectDraw › IDirectDrawSurface
IDirectDrawSurface
COMメソッド 33
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT AddAttachedSurface(IDirectDrawSurface* param0)
| param0 | IDirectDrawSurface* | in | このサーフェスに付加(アタッチ)する別サーフェスへのポインタである。 |
| param0 | RECT* | inout | オーバーレイの更新対象として追加するダーティ矩形へのポインタである。 |
vtbl 5 HRESULT Blt(RECT* param0, IDirectDrawSurface* param1, RECT* param2, DWORD param3, DDBLTFX* param4)
| param0 | RECT* | inout | 転送先となる本サーフェス上の宛先矩形。NULLでサーフェス全体を指す。 |
| param1 | IDirectDrawSurface* | in | 転送元となるソースサーフェスへのポインタである。NULL可(塗りつぶし等)。 |
| param2 | RECT* | inout | ソースサーフェス上の転送元矩形。NULLでソース全体を指す。 |
| param3 | DWORD | in | 転送方法を制御するフラグ(DDBLT_系)である。 |
| param4 | DDBLTFX* | inout | カラーキーやROP等の追加効果を指定するDDBLTFXへのポインタである。NULL可。 |
vtbl 6 HRESULT BltBatch(DDBLTBATCH* param0, DWORD param1, DWORD param2)
| param0 | DDBLTBATCH* | inout | 一括実行するBlt操作の配列(DDBLTBATCH)へのポインタである。 |
| param1 | DWORD | in | param0配列に含まれるBlt操作の個数を指定する。 |
| param2 | DWORD | in | 動作フラグ。現状は予約で0を指定する。 |
vtbl 7 HRESULT BltFast(DWORD param0, DWORD param1, IDirectDrawSurface* param2, RECT* param3, DWORD param4)
| param0 | DWORD | in | 転送先のX座標(ピクセル)である。 |
| param1 | DWORD | in | 転送先のY座標(ピクセル)である。 |
| param2 | IDirectDrawSurface* | in | 転送元となるソースサーフェスへのポインタである。 |
| param3 | RECT* | inout | ソースサーフェス上の転送元矩形。NULLでソース全体を指す。 |
| param4 | DWORD | in | 高速転送の方法を制御するフラグ(DDBLTFAST_系)である。 |
vtbl 8 HRESULT DeleteAttachedSurface(DWORD param0, IDirectDrawSurface* param1)
| param0 | DWORD | in | 削除動作のフラグ。現状は予約で0を指定する。 |
| param1 | IDirectDrawSurface* | in | 切り離す対象の付加サーフェスへのポインタである。 |
vtbl 9 HRESULT EnumAttachedSurfaces(void* param0, LPDDENUMSURFACESCALLBACK param1)
| param0 | void* | inout | コールバックに渡されるアプリ定義のコンテキストである。NULL可。 |
| param1 | LPDDENUMSURFACESCALLBACK | in | 各付加サーフェスごとに呼ばれる列挙コールバック関数である。 |
vtbl 10 HRESULT EnumOverlayZOrders(DWORD param0, void* param1, LPDDENUMSURFACESCALLBACK param2)
| param0 | DWORD | in | 列挙順序(前方/後方)を指定するフラグ(DDENUMOVERLAYZ_系)である。 |
| param1 | void* | inout | コールバックに渡されるアプリ定義のコンテキストである。NULL可。 |
| param2 | LPDDENUMSURFACESCALLBACK | in | 各オーバーレイごとに呼ばれる列挙コールバック関数である。 |
vtbl 11 HRESULT Flip(IDirectDrawSurface* param0, DWORD param1)
| param0 | IDirectDrawSurface* | in | 切り替え先とする特定のバックバッファ。NULLで次バッファを自動選択する。 |
| param1 | DWORD | in | フリップ動作を制御するフラグ(DDFLIP_系)である。 |
vtbl 12 HRESULT GetAttachedSurface(DDSCAPS* param0, IDirectDrawSurface** param1)
| param0 | DDSCAPS* | inout | 取得したい付加サーフェスの能力条件を示すDDSCAPSへのポインタである。 |
| param1 | IDirectDrawSurface** | out | 条件に一致した付加サーフェスを受け取る出力ポインタである。 |
| param0 | DWORD | in | 問い合わせ対象を指定するフラグ(DDGBS_系)である。 |
| param0 | DDSCAPS* | inout | このサーフェスの能力を受け取るDDSCAPSへのポインタである。 |
vtbl 15 HRESULT GetClipper(IDirectDrawClipper** param0)
| param0 | IDirectDrawClipper** | out | このサーフェスに設定されたクリッパーを受け取る出力ポインタである。 |
vtbl 16 HRESULT GetColorKey(DWORD param0, DDCOLORKEY* param1)
| param0 | DWORD | in | 取得するカラーキーの種別を示すフラグ(DDCKEY_系)である。 |
| param1 | DDCOLORKEY* | inout | 取得したカラーキー値を受け取るDDCOLORKEYへのポインタである。 |
| param0 | HDC* | inout | サーフェスに対応するGDIデバイスコンテキスト(HDC)を受け取る出力ポインタである。 |
| param0 | DWORD | in | 問い合わせ対象を指定するフラグ(DDGFS_系)である。 |
| param0 | INT* | inout | オーバーレイの表示位置X座標を受け取る出力ポインタである。 |
| param1 | INT* | inout | オーバーレイの表示位置Y座標を受け取る出力ポインタである。 |
vtbl 20 HRESULT GetPalette(IDirectDrawPalette** param0)
| param0 | IDirectDrawPalette** | out | このサーフェスに関連付けられたパレットを受け取る出力ポインタである。 |
vtbl 21 HRESULT GetPixelFormat(DDPIXELFORMAT* param0)
| param0 | DDPIXELFORMAT* | inout | サーフェスのピクセル形式を受け取るDDPIXELFORMATへのポインタである。 |
vtbl 22 HRESULT GetSurfaceDesc(DDSURFACEDESC* param0)
| param0 | DDSURFACEDESC* | inout | サーフェスの記述情報を受け取るDDSURFACEDESCへのポインタである。 |
vtbl 23 HRESULT Initialize(IDirectDraw* param0, DDSURFACEDESC* param1)
| param0 | IDirectDraw* | in | このサーフェスを関連付けるIDirectDrawオブジェクトへのポインタである。 |
| param1 | DDSURFACEDESC* | inout | サーフェス構成を記述するDDSURFACEDESCへのポインタである。 |
vtbl 24 HRESULT IsLost()
vtbl 25 HRESULT Lock(RECT* param0, DDSURFACEDESC* param1, DWORD param2, HANDLE param3)
| param0 | RECT* | inout | ロックするサーフェス上の領域矩形。NULLで全体をロックする。 |
| param1 | DDSURFACEDESC* | inout | ロック結果(メモリポインタやピッチ等)を受け取るDDSURFACEDESCへのポインタである。 |
| param2 | DWORD | in | ロック動作を制御するフラグ(DDLOCK_系)である。 |
| param3 | HANDLE | in | ブロッキング制御に用いるイベントハンドルである。現状未使用でNULL可。 |
| param0 | HDC | in | GetDCで取得したデバイスコンテキスト(HDC)を解放対象として指定する。 |
vtbl 27 HRESULT Restore()
vtbl 28 HRESULT SetClipper(IDirectDrawClipper* param0)
| param0 | IDirectDrawClipper* | in | このサーフェスに設定するクリッパーへのポインタである。NULLで解除する。 |
vtbl 29 HRESULT SetColorKey(DWORD param0, DDCOLORKEY* param1)
| param0 | DWORD | in | 設定するカラーキーの種別を示すフラグ(DDCKEY_系)である。 |
| param1 | DDCOLORKEY* | inout | 設定するカラーキー値を示すDDCOLORKEYへのポインタである。NULLで削除する。 |
| param0 | INT | in | オーバーレイを表示する位置のX座標(ピクセル)である。 |
| param1 | INT | in | オーバーレイを表示する位置のY座標(ピクセル)である。 |
vtbl 31 HRESULT SetPalette(IDirectDrawPalette* param0)
| param0 | IDirectDrawPalette* | in | このサーフェスに関連付けるパレットへのポインタである。NULLで解除する。 |
vtbl 32 HRESULT Unlock(void* param0)
| param0 | void* | inout | Lockで返されたロック領域のメモリポインタ。NULL可で全体解除となる。 |
vtbl 33 HRESULT UpdateOverlay(RECT* param0, IDirectDrawSurface* param1, RECT* param2, DWORD param3, DDOVERLAYFX* param4)
| param0 | RECT* | inout | ソース側のオーバーレイ矩形。NULLでソース全体を指す。 |
| param1 | IDirectDrawSurface* | in | オーバーレイ表示先のサーフェスへのポインタである。NULLで非表示にする。 |
| param2 | RECT* | inout | 表示先の宛先矩形。NULLで表示先全体を指す。 |
| param3 | DWORD | in | オーバーレイ表示を制御するフラグ(DDOVER_系)である。 |
| param4 | DDOVERLAYFX* | inout | カラーキー等の追加効果を指定するDDOVERLAYFXへのポインタである。NULL可。 |
| param0 | DWORD | in | オーバーレイ表示の再描画方法を制御するフラグ(DDOVER_REFRESH系)である。 |
vtbl 35 HRESULT UpdateOverlayZOrder(DWORD param0, IDirectDrawSurface* param1)
| param0 | DWORD | in | Z順序の挿入位置を指定するフラグ(DDOVERZ_系)である。 |
| param1 | IDirectDrawSurface* | in | 挿入位置の基準とする参照サーフェスへのポインタである。NULL可。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDirectDrawSurface "{6C14DB81-A733-11CE-A521-0020AF0BE560}" #usecom global IDirectDrawSurface IID_IDirectDrawSurface "{}" #comfunc global IDirectDrawSurface_AddAttachedSurface 3 sptr #comfunc global IDirectDrawSurface_AddOverlayDirtyRect 4 var #comfunc global IDirectDrawSurface_Blt 5 var,sptr,var,int,var #comfunc global IDirectDrawSurface_BltBatch 6 var,int,int #comfunc global IDirectDrawSurface_BltFast 7 int,int,sptr,var,int #comfunc global IDirectDrawSurface_DeleteAttachedSurface 8 int,sptr #comfunc global IDirectDrawSurface_EnumAttachedSurfaces 9 sptr,sptr #comfunc global IDirectDrawSurface_EnumOverlayZOrders 10 int,sptr,sptr #comfunc global IDirectDrawSurface_Flip 11 sptr,int #comfunc global IDirectDrawSurface_GetAttachedSurface 12 var,sptr #comfunc global IDirectDrawSurface_GetBltStatus 13 int #comfunc global IDirectDrawSurface_GetCaps 14 var #comfunc global IDirectDrawSurface_GetClipper 15 sptr #comfunc global IDirectDrawSurface_GetColorKey 16 int,var #comfunc global IDirectDrawSurface_GetDC 17 sptr #comfunc global IDirectDrawSurface_GetFlipStatus 18 int #comfunc global IDirectDrawSurface_GetOverlayPosition 19 var,var #comfunc global IDirectDrawSurface_GetPalette 20 sptr #comfunc global IDirectDrawSurface_GetPixelFormat 21 var #comfunc global IDirectDrawSurface_GetSurfaceDesc 22 var #comfunc global IDirectDrawSurface_Initialize 23 sptr,var #comfunc global IDirectDrawSurface_IsLost 24 #comfunc global IDirectDrawSurface_Lock 25 var,var,int,sptr #comfunc global IDirectDrawSurface_ReleaseDC 26 sptr #comfunc global IDirectDrawSurface_Restore 27 #comfunc global IDirectDrawSurface_SetClipper 28 sptr #comfunc global IDirectDrawSurface_SetColorKey 29 int,var #comfunc global IDirectDrawSurface_SetOverlayPosition 30 int,int #comfunc global IDirectDrawSurface_SetPalette 31 sptr #comfunc global IDirectDrawSurface_Unlock 32 sptr #comfunc global IDirectDrawSurface_UpdateOverlay 33 var,sptr,var,int,var #comfunc global IDirectDrawSurface_UpdateOverlayDisplay 34 int #comfunc global IDirectDrawSurface_UpdateOverlayZOrder 35 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDirectDrawSurface "{6C14DB81-A733-11CE-A521-0020AF0BE560}" #usecom global IDirectDrawSurface IID_IDirectDrawSurface "{}" #comfunc global IDirectDrawSurface_AddAttachedSurface 3 sptr #comfunc global IDirectDrawSurface_AddOverlayDirtyRect 4 sptr #comfunc global IDirectDrawSurface_Blt 5 sptr,sptr,sptr,int,sptr #comfunc global IDirectDrawSurface_BltBatch 6 sptr,int,int #comfunc global IDirectDrawSurface_BltFast 7 int,int,sptr,sptr,int #comfunc global IDirectDrawSurface_DeleteAttachedSurface 8 int,sptr #comfunc global IDirectDrawSurface_EnumAttachedSurfaces 9 sptr,sptr #comfunc global IDirectDrawSurface_EnumOverlayZOrders 10 int,sptr,sptr #comfunc global IDirectDrawSurface_Flip 11 sptr,int #comfunc global IDirectDrawSurface_GetAttachedSurface 12 sptr,sptr #comfunc global IDirectDrawSurface_GetBltStatus 13 int #comfunc global IDirectDrawSurface_GetCaps 14 sptr #comfunc global IDirectDrawSurface_GetClipper 15 sptr #comfunc global IDirectDrawSurface_GetColorKey 16 int,sptr #comfunc global IDirectDrawSurface_GetDC 17 sptr #comfunc global IDirectDrawSurface_GetFlipStatus 18 int #comfunc global IDirectDrawSurface_GetOverlayPosition 19 sptr,sptr #comfunc global IDirectDrawSurface_GetPalette 20 sptr #comfunc global IDirectDrawSurface_GetPixelFormat 21 sptr #comfunc global IDirectDrawSurface_GetSurfaceDesc 22 sptr #comfunc global IDirectDrawSurface_Initialize 23 sptr,sptr #comfunc global IDirectDrawSurface_IsLost 24 #comfunc global IDirectDrawSurface_Lock 25 sptr,sptr,int,sptr #comfunc global IDirectDrawSurface_ReleaseDC 26 sptr #comfunc global IDirectDrawSurface_Restore 27 #comfunc global IDirectDrawSurface_SetClipper 28 sptr #comfunc global IDirectDrawSurface_SetColorKey 29 int,sptr #comfunc global IDirectDrawSurface_SetOverlayPosition 30 int,int #comfunc global IDirectDrawSurface_SetPalette 31 sptr #comfunc global IDirectDrawSurface_Unlock 32 sptr #comfunc global IDirectDrawSurface_UpdateOverlay 33 sptr,sptr,sptr,int,sptr #comfunc global IDirectDrawSurface_UpdateOverlayDisplay 34 int #comfunc global IDirectDrawSurface_UpdateOverlayZOrder 35 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。