ホーム › Storage.Xps › IXpsOMGeometry
IXpsOMGeometry
COMメソッド 9
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 5 HRESULT GetFigures(IXpsOMGeometryFigureCollection** figures)
| figures | IXpsOMGeometryFigureCollection** | out | このジオメトリを構成するフィギュア群のコレクションへのポインタを受け取る。 |
vtbl 6 HRESULT GetFillRule(XPS_FILL_RULE* fillRule)
| fillRule | XPS_FILL_RULE* | out | ジオメトリの塗りつぶし規則(XPS_FILL_RULE)を受け取る。 |
vtbl 7 HRESULT SetFillRule(XPS_FILL_RULE fillRule)
| fillRule | XPS_FILL_RULE | in | 設定する塗りつぶし規則(XPS_FILL_RULE)を指定する。 |
vtbl 8 HRESULT GetTransform(IXpsOMMatrixTransform** transform)
| transform | IXpsOMMatrixTransform** | out | ジオメトリに適用される行列変換へのポインタを受け取る。ローカルとルックアップのいずれかが解決された有効な変換である。 |
vtbl 9 HRESULT GetTransformLocal(IXpsOMMatrixTransform** transform)
| transform | IXpsOMMatrixTransform** | out | ローカルに設定された行列変換へのポインタを受け取る。設定されていない場合は NULL を受け取る。 |
vtbl 10 HRESULT SetTransformLocal(IXpsOMMatrixTransform* transform)
| transform | IXpsOMMatrixTransform* | in | 設定するローカルの行列変換を指定する。NULL を指定するとローカル変換を解除する。 |
| lookup | LPWSTR* | out | リソースディクショナリ内の共有変換を参照するルックアップキー文字列を受け取る。 |
| lookup | LPWSTR | in | 設定する変換ルックアップキー文字列を指定する。 |
vtbl 13 HRESULT Clone(IXpsOMGeometry** geometry)
| geometry | IXpsOMGeometry** | out | 複製された新しいジオメトリオブジェクトへのポインタを受け取る。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IXpsOMGeometry "{64FCF3D7-4D58-44BA-AD73-A13AF6492072}" #usecom global IXpsOMGeometry IID_IXpsOMGeometry "{}" #comfunc global IXpsOMGeometry_GetFigures 5 sptr #comfunc global IXpsOMGeometry_GetFillRule 6 var #comfunc global IXpsOMGeometry_SetFillRule 7 int #comfunc global IXpsOMGeometry_GetTransform 8 sptr #comfunc global IXpsOMGeometry_GetTransformLocal 9 sptr #comfunc global IXpsOMGeometry_SetTransformLocal 10 sptr #comfunc global IXpsOMGeometry_GetTransformLookup 11 var #comfunc global IXpsOMGeometry_SetTransformLookup 12 wstr #comfunc global IXpsOMGeometry_Clone 13 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IXpsOMGeometry "{64FCF3D7-4D58-44BA-AD73-A13AF6492072}" #usecom global IXpsOMGeometry IID_IXpsOMGeometry "{}" #comfunc global IXpsOMGeometry_GetFigures 5 sptr #comfunc global IXpsOMGeometry_GetFillRule 6 sptr #comfunc global IXpsOMGeometry_SetFillRule 7 int #comfunc global IXpsOMGeometry_GetTransform 8 sptr #comfunc global IXpsOMGeometry_GetTransformLocal 9 sptr #comfunc global IXpsOMGeometry_SetTransformLocal 10 sptr #comfunc global IXpsOMGeometry_GetTransformLookup 11 sptr #comfunc global IXpsOMGeometry_SetTransformLookup 12 wstr #comfunc global IXpsOMGeometry_Clone 13 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。