ID2D1SvgDocument
COM公式ドキュメント
SVG ドキュメントを表します。
メソッド 11
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
初期ビューポートのサイズを設定します。
| viewportSize | D2D_SIZE_F | in | ビューポートのサイズ。 |
戻り値
Type: HRESULT
このメソッドは、成功または失敗を示す HRESULT コードを返します。
初期ビューポートのサイズを返します。
戻り値
Type: D2D1_SIZE_F
初期ビューポートのサイズを返します。
ドキュメントのルート要素を設定します。
| root | ID2D1SvgElement* | inoptional | ドキュメントの新しいルート要素。 |
戻り値
Type: HRESULT
このメソッドは、成功または失敗を示す HRESULT コードを返します。
ドキュメントのルート要素を取得します。
| root | ID2D1SvgElement** | out | ドキュメントのルート要素を出力します。 |
指定された ID を持つ SVG 要素を取得します。
| id | LPWSTR | in | 取得する要素の ID。 |
| svgElement | ID2D1SvgElement** | out | 指定された ID に一致する要素。要素が見つからない場合、返される要素は null になります。 |
戻り値
Type: HRESULT
このメソッドは、成功または失敗を示す HRESULT コードを返します。
要素とそのサブツリーを XML にシリアル化します。出力される XML は UTF-8 でエンコードされます。
| outputXmlStream | IStream* | in | SVG XML サブツリーを格納する出力ストリーム。 |
| subtree | ID2D1SvgElement* | inoptional | サブツリーのルート。null の場合、ドキュメント全体がシリアル化されます。 |
戻り値
Type: HRESULT
このメソッドは、成功または失敗を示す HRESULT コードを返します。
ストリームからサブツリーをデシリアライズします。ストリームはルート要素を 1 つだけ持つ必要がありますが、そのルート要素は 'svg' 要素である必要はありません。出力される要素は、このドキュメントツリーには挿入されません。
| inputXmlStream | IStream* | in | SVG XML サブツリーを含む入力ストリーム。 |
| subtree | ID2D1SvgElement** | out | サブツリーのルート。 |
戻り値
Type: HRESULT
このメソッドは、成功または失敗を示す HRESULT コードを返します。
| paintType | D2D1_SVG_PAINT_TYPE | in | 生成する塗りの種別(color/uri等)を指定する列挙値。 |
| color | D2D1_COLOR_F* | inoptional | 塗りの色を表すD2D1_COLOR_F構造体へのポインター。NULL可。 |
| id | LPWSTR | inoptional | uri参照に用いる要素IDを表すワイド文字列。NULL可。 |
| paint | ID2D1SvgPaint** | out | 生成されたペイントオブジェクトを受け取る出力ポインター。 |
stroke-dasharray プロパティの設定に使用できるダッシュ配列オブジェクトを作成します。
| dashes | D2D1_SVG_LENGTH* | inoptional | ダッシュの配列。 |
| dashesCount | DWORD | in | dashes 引数の配列のサイズ。 |
| strokeDashArray | ID2D1SvgStrokeDashArray** | out | 作成された ID2D1SvgStrokeDashArray。 |
戻り値
Type: HRESULT
このメソッドは、成功または失敗を示す HRESULT コードを返します。
polygon 要素または polyline 要素に points 属性を設定するために使用できる points オブジェクトを作成します。
| points | D2D_POINT_2F* | inoptional | ポイントコレクション内のポイント。 |
| pointsCount | DWORD | in | points 引数内のポイントの数。 |
| pointCollection | ID2D1SvgPointCollection** | out | 作成された ID2D1SvgPointCollection オブジェクト。 |
戻り値
Type: HRESULT
このメソッドは、成功または失敗を示す HRESULT コードを返します。
'path' 要素に 'd' 属性を設定するために使用できるパスデータオブジェクトを作成します。
| segmentData | FLOAT* | inoptional | セグメントデータの配列。 |
| segmentDataCount | DWORD | in | segmentData 内の項目数。 |
| commands | D2D1_SVG_PATH_COMMAND* | inoptional | パスコマンドの配列。 |
| commandsCount | DWORD | in | commands 内の項目数。 |
| pathData | ID2D1SvgPathData** | out | このメソッドが完了すると、作成されたパスデータを指します。 |
戻り値
Type: HRESULT
このメソッドは、成功または失敗を示す HRESULT コードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ID2D1SvgDocument "{86B88E4D-AFA4-4D7B-88E4-68A51C4A0AEC}" #usecom global ID2D1SvgDocument IID_ID2D1SvgDocument "{}" #comfunc global ID2D1SvgDocument_SetViewportSize 4 int #comfunc global ID2D1SvgDocument_GetViewportSize 5 #comfunc global ID2D1SvgDocument_SetRoot 6 sptr #comfunc global ID2D1SvgDocument_GetRoot 7 sptr #comfunc global ID2D1SvgDocument_FindElementById 8 wstr,sptr #comfunc global ID2D1SvgDocument_Serialize 9 sptr,sptr #comfunc global ID2D1SvgDocument_Deserialize 10 sptr,sptr #comfunc global ID2D1SvgDocument_CreatePaint 11 int,var,wstr,sptr #comfunc global ID2D1SvgDocument_CreateStrokeDashArray 12 var,int,sptr #comfunc global ID2D1SvgDocument_CreatePointCollection 13 var,int,sptr #comfunc global ID2D1SvgDocument_CreatePathData 14 var,int,var,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID2D1SvgDocument "{86B88E4D-AFA4-4D7B-88E4-68A51C4A0AEC}" #usecom global ID2D1SvgDocument IID_ID2D1SvgDocument "{}" #comfunc global ID2D1SvgDocument_SetViewportSize 4 int #comfunc global ID2D1SvgDocument_GetViewportSize 5 #comfunc global ID2D1SvgDocument_SetRoot 6 sptr #comfunc global ID2D1SvgDocument_GetRoot 7 sptr #comfunc global ID2D1SvgDocument_FindElementById 8 wstr,sptr #comfunc global ID2D1SvgDocument_Serialize 9 sptr,sptr #comfunc global ID2D1SvgDocument_Deserialize 10 sptr,sptr #comfunc global ID2D1SvgDocument_CreatePaint 11 int,sptr,wstr,sptr #comfunc global ID2D1SvgDocument_CreateStrokeDashArray 12 sptr,int,sptr #comfunc global ID2D1SvgDocument_CreatePointCollection 13 sptr,int,sptr #comfunc global ID2D1SvgDocument_CreatePathData 14 sptr,int,sptr,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。