Win32 API 日本語リファレンス
ホームGraphics.DirectManipulation › IDirectManipulationContent

IDirectManipulationContent

COM
IIDb89962cb-3d89-442b-bb58-5098fa0f9f16継承元IUnknown自前メソッド開始 vtbl3

メソッド 8

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetContentRect(RECT* contentSize)
contentSizeRECT*outコンテンツの現在のサイズ矩形を受け取るRECT出力ポインタ。
vtbl 4 HRESULT SetContentRect(RECT* contentSize)
contentSizeRECT*inコンテンツのサイズ矩形を指定するRECTポインタ。
vtbl 5 HRESULT GetViewport(GUID* riid, void** object)
riidGUID*in取得したいビューポートインターフェイスのIID(GUID)を指すポインタ。
objectvoid**outこのコンテンツを保持するビューポートを受け取る出力ポインタの格納先。
vtbl 6 HRESULT GetTag(GUID* riid, void** object, DWORD* id)
riidGUID*in取得したいタグオブジェクトのIID(GUID)を指すポインタ。
objectvoid**outoptional関連付けられたタグオブジェクトを受け取る出力ポインタの格納先。
idDWORD*outoptionalタグに付与された識別IDを受け取る出力ポインタ。
vtbl 7 HRESULT SetTag(IUnknown* object, DWORD id)
objectIUnknown*inoptionalコンテンツに関連付けるユーザー定義オブジェクトのIUnknownポインタ。
idDWORDinタグに付与する任意の識別IDを指定する。
vtbl 8 HRESULT GetOutputTransform(FLOAT* matrix, DWORD pointCount)
matrixFLOAT*outコンテンツの出力変換行列(2x3アフィン)を受け取るFLOAT配列ポインタ。
pointCountDWORDin行列配列の要素数を指定する。通常は6を指定する。
vtbl 9 HRESULT GetContentTransform(FLOAT* matrix, DWORD pointCount)
matrixFLOAT*out操作のみによるコンテンツ変換行列を受け取るFLOAT配列ポインタ。
pointCountDWORDin行列配列の要素数を指定する。通常は6を指定する。
vtbl 10 HRESULT SyncContentTransform(FLOAT* matrix, DWORD pointCount)
matrixFLOAT*in外部適用済み変換と同期させる変換行列を表すFLOAT配列ポインタ。
pointCountDWORDin行列配列の要素数を指定する。通常は6を指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDirectManipulationContent "{B89962CB-3D89-442B-BB58-5098FA0F9F16}"
#usecom global IDirectManipulationContent IID_IDirectManipulationContent "{}"
#comfunc global IDirectManipulationContent_GetContentRect        3 var
#comfunc global IDirectManipulationContent_SetContentRect        4 var
#comfunc global IDirectManipulationContent_GetViewport           5 var,sptr
#comfunc global IDirectManipulationContent_GetTag                6 var,sptr,var
#comfunc global IDirectManipulationContent_SetTag                7 sptr,int
#comfunc global IDirectManipulationContent_GetOutputTransform    8 var,int
#comfunc global IDirectManipulationContent_GetContentTransform   9 var,int
#comfunc global IDirectManipulationContent_SyncContentTransform  10 var,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。