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

IDCompositionVisual

COM
IID4d93059d-097b-4651-9a60-f0f25116e2f3継承元IUnknown自前メソッド開始 vtbl3

メソッド 17

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

vtbl 3 HRESULT SetOffsetX(IDCompositionAnimation* animation)
animationIDCompositionAnimation*inX方向オフセットを駆動するアニメーションへのポインタ。
vtbl 4 HRESULT SetOffsetX(FLOAT offsetX)
offsetXFLOATinビジュアルの水平方向オフセット(DIP)。
vtbl 5 HRESULT SetOffsetY(IDCompositionAnimation* animation)
animationIDCompositionAnimation*inY方向オフセットを駆動するアニメーションへのポインタ。
vtbl 6 HRESULT SetOffsetY(FLOAT offsetY)
offsetYFLOATinビジュアルの垂直方向オフセット(DIP)。
vtbl 7 HRESULT SetTransform(IDCompositionTransform* transform)
transformIDCompositionTransform*inoptionalビジュアルに適用する変換オブジェクトへのポインタ。NULLで解除。
vtbl 8 HRESULT SetTransform(D2D_MATRIX_3X2_F* matrix)
matrixD2D_MATRIX_3X2_F*inビジュアルに適用する2x3行列D2D_MATRIX_3X2_Fへのポインタ。
vtbl 9 HRESULT SetTransformParent(IDCompositionVisual* visual)
visualIDCompositionVisual*inoptional座標系の基準となる親ビジュアルへのポインタ。NULLでルート基準。
vtbl 10 HRESULT SetEffect(IDCompositionEffect* effect)
effectIDCompositionEffect*inoptionalビジュアルに適用するエフェクトへのポインタ。NULLで解除。
vtbl 11 HRESULT SetBitmapInterpolationMode(DCOMPOSITION_BITMAP_INTERPOLATION_MODE interpolationMode)
interpolationModeDCOMPOSITION_BITMAP_INTERPOLATION_MODEinビットマップ拡縮時の補間方法を示すDCOMPOSITION_BITMAP_INTERPOLATION_MODE。
vtbl 12 HRESULT SetBorderMode(DCOMPOSITION_BORDER_MODE borderMode)
borderModeDCOMPOSITION_BORDER_MODEin境界処理方法を示すDCOMPOSITION_BORDER_MODE。SOFTやHARDなど。
vtbl 13 HRESULT SetClip(IDCompositionClip* clip)
clipIDCompositionClip*inoptionalビジュアルに適用するクリップオブジェクトへのポインタ。NULLで解除。
vtbl 14 HRESULT SetClip(D2D_RECT_F* rect)
rectD2D_RECT_F*inクリップ矩形を示すD2D_RECT_Fへのポインタ。
vtbl 15 HRESULT SetContent(IUnknown* content)
contentIUnknown*inoptionalビジュアルの内容となるサーフェスやスワップチェーンのIUnknown。NULLで解除。
vtbl 16 HRESULT AddVisual(IDCompositionVisual* visual, BOOL insertAbove, IDCompositionVisual* referenceVisual)
visualIDCompositionVisual*in子として追加するIDCompositionVisualへのポインタ。
insertAboveBOOLin基準ビジュアルの上に挿入するか。TRUEで上、FALSEで下。
referenceVisualIDCompositionVisual*inoptional挿入位置の基準となる子ビジュアル。NULLで先頭/末尾を表す。
vtbl 17 HRESULT RemoveVisual(IDCompositionVisual* visual)
visualIDCompositionVisual*in削除する子IDCompositionVisualへのポインタ。
vtbl 18 HRESULT RemoveAllVisuals()
vtbl 19 HRESULT SetCompositeMode(DCOMPOSITION_COMPOSITE_MODE compositeMode)
compositeModeDCOMPOSITION_COMPOSITE_MODEinビジュアルの合成モードを示すDCOMPOSITION_COMPOSITE_MODE。

HSP用 COM定義

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

出力引数:
#define global IID_IDCompositionVisual "{4D93059D-097B-4651-9A60-F0F25116E2F3}"
#usecom global IDCompositionVisual IID_IDCompositionVisual "{}"
#comfunc global IDCompositionVisual_SetOffsetX                  3 sptr
#comfunc global IDCompositionVisual_SetOffsetX                  4 float
#comfunc global IDCompositionVisual_SetOffsetY                  5 sptr
#comfunc global IDCompositionVisual_SetOffsetY                  6 float
#comfunc global IDCompositionVisual_SetTransform                7 sptr
#comfunc global IDCompositionVisual_SetTransform                8 var
#comfunc global IDCompositionVisual_SetTransformParent          9 sptr
#comfunc global IDCompositionVisual_SetEffect                   10 sptr
#comfunc global IDCompositionVisual_SetBitmapInterpolationMode  11 int
#comfunc global IDCompositionVisual_SetBorderMode               12 int
#comfunc global IDCompositionVisual_SetClip                     13 sptr
#comfunc global IDCompositionVisual_SetClip                     14 var
#comfunc global IDCompositionVisual_SetContent                  15 sptr
#comfunc global IDCompositionVisual_AddVisual                   16 sptr,int,sptr
#comfunc global IDCompositionVisual_RemoveVisual                17 sptr
#comfunc global IDCompositionVisual_RemoveAllVisuals            18
#comfunc global IDCompositionVisual_SetCompositeMode            19 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。