ID2D1SvgElement
COM公式ドキュメント
すべての SVG 要素に対応するインターフェースです。
メソッド 30
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
この要素を含むドキュメントを取得します。
| document | ID2D1SvgDocument** | out | この要素を含むドキュメントを出力します。要素がツリーから削除されている場合、この引数は null になります。 |
タグ名を取得します。
| name | LPWSTR | out | タグ名。 |
| nameCount | DWORD | in | name 引数に格納される値の長さ。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。
タグ名の文字列長を取得します。
戻り値
Type: UINT32
タグ名の文字列長を返します。返される文字列長には null 終端文字分の領域は含まれません。
この要素がテキストコンテンツを表すかどうかを示すブール値を返します。
戻り値
Type: BOOL
この要素がテキストコンテンツ(例: 'title' 要素や 'desc' 要素の内容)を表す場合は TRUE を返します。テキストコンテンツはタグ名を持ちません。
親要素を取得します。
| parent | ID2D1SvgElement** | out | 親要素を出力します。 |
この要素が子を持つかどうかを示すブール値を返します。
戻り値
Type: BOOL
この要素が子を持つ場合は TRUE を返します。
この要素の最初の子を取得します。
| child | ID2D1SvgElement** | out | この要素の最初の子を出力します。 |
この要素の最後の子を取得します。
| child | ID2D1SvgElement** | out | この要素の最後の子を出力します。 |
referenceChild 要素の前の兄弟要素を取得します。
| referenceChild | ID2D1SvgElement* | in | referenceChild はこの要素の直接の子である必要があります。 |
| previousChild | ID2D1SvgElement** | out | referenceChild に前の兄弟要素がある場合、出力される previousChild 要素は非 null になります。referenceChild が最初の子である場合、出力は null になります。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。
referenceChild 要素の次の兄弟要素を取得します。
| referenceChild | ID2D1SvgElement* | in | referenceChild はこの要素の直接の子である必要があります。 |
| nextChild | ID2D1SvgElement** | out | referenceChild に次の兄弟要素がある場合、出力される nextChild 要素は非 null になります。referenceChild が最後の子である場合、出力は null になります。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。
newChild を、referenceChild 要素の前に、この要素の子として挿入します。
| newChild | ID2D1SvgElement* | in | 挿入する要素。 |
| referenceChild | ID2D1SvgElement* | inoptional | 子を挿入する位置の直前となる要素。 referenceChild が null の場合、newChild は最後の子として配置されます。 referenceChild が非 null の場合、それはこの要素の直接の子である必要があります。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。この要素が newChild の型の子を受け入れられない 場合はエラーを返します。newChild がこの要素の祖先である場合はエラーを 返します。
子のリストに要素を追加します。
| newChild | ID2D1SvgElement* | in | 追加する要素。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。 この要素が newChild の型の子を受け入れられない場合はエラーを返します。 newChild がこの要素の祖先である場合はエラーを返します。
oldChild 要素を newChild で置き換えます。
| newChild | ID2D1SvgElement* | in | 挿入する要素。 |
| oldChild | ID2D1SvgElement* | in | 置き換えられる子要素。oldChild 要素はこの要素の直接の子である必要があります。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。この要素が newChild の型の子を受け入れられない 場合はエラーを返します。newChild がこの要素の祖先である場合はエラーを 返します。
oldChild をツリーから削除します。oldChild の子は oldChild の子のまま残ります。
| oldChild | ID2D1SvgElement* | in | 削除される子要素。oldChild 要素はこの要素の直接の子である必要があります。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。
タグ名から要素を作成します。作成された要素は子のリストに追加されます。
| tagName | LPWSTR | in | 新しい子のタグ名。空文字列はテキストコンテンツ要素として解釈されます。 |
| newChild | ID2D1SvgElement** | out | 新しい子要素。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。 この要素が指定された型の子を受け入れられない場合はエラーを返します。
属性がこの要素に明示的に設定されているかどうかを示すブール値を返します。
| name | LPWSTR | in | 属性の名前。 |
| inherited | BOOL* | outoptional | 属性が inherit 値に設定されているかどうかを出力します。 |
戻り値
Type: BOOL
属性がこの要素に明示的に設定されている場合、またはインラインスタイル内に存在する場合は TRUE を返します。属性がこの要素で有効な 属性でない場合は FALSE を返します。
この要素に指定されている属性の数を返します。
戻り値
Type: UINT32
この要素に指定されている属性の数を返します。
指定されたインデックスにある属性の名前を取得します。
| index | DWORD | in | 属性のインデックス。 |
| name | LPWSTR | out | 属性の名前を出力します。 |
| nameCount | DWORD | in | name 引数に返される文字列の長さ。 |
| inherited | BOOL* | outoptional | 属性が inherit 値に設定されているかどうかを出力します。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。
指定されたインデックスにある指定属性の名前の文字列長を取得します。
| index | DWORD | in | 属性のインデックス。 |
| nameLength | DWORD* | out | 指定属性の名前の文字列長を出力します。 |
| inherited | BOOL* | outoptional | 属性が inherit 値に設定されているかどうかを示します。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。
この要素から属性を削除します。
| name | LPWSTR | in | 削除する属性の名前。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。属性名がこの要素で有効でない 場合はエラーを返します。
テキストコンテンツ要素の値を設定します。
| name | LPWSTR | in | テキストコンテンツ要素の新しい値。 |
| nameCount | DWORD | in |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。
テキストコンテンツ要素の値を取得します。
| name | LPWSTR | out | テキストコンテンツ要素の値。 |
| nameCount | DWORD | in | name 引数に格納される値の長さ。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。
テキストコンテンツの値の長さを取得します。
戻り値
Type: UINT32
テキストコンテンツの値の長さを返します。返される文字列長には null 終端文字分の領域は含まれません。
| name | LPWSTR | in | 設定する属性名を表すワイド文字列。 |
| value | ID2D1SvgAttribute* | in | 属性に設定するオブジェクト型属性のインターフェイスポインター。 |
| name | LPWSTR | in | 設定する属性名を表すワイド文字列。 |
| type | D2D1_SVG_ATTRIBUTE_POD_TYPE | in | 属性値の型を示す列挙値(POD型または文字列型の指定)。 |
| value | void* | in | 属性に設定するオブジェクト型属性のインターフェイスポインター。 |
| valueSizeInBytes | DWORD | in | POD型値のサイズをバイト単位で指定する。 |
| name | LPWSTR | in | 設定する属性名を表すワイド文字列。 |
| type | D2D1_SVG_ATTRIBUTE_STRING_TYPE | in | 属性値の型を示す列挙値(POD型または文字列型の指定)。 |
| value | LPWSTR | in | 属性に設定するオブジェクト型属性のインターフェイスポインター。 |
| name | LPWSTR | in | 取得する属性名を表すワイド文字列。 |
| riid | GUID* | in | 取得するインターフェイスを識別するGUIDへのポインター。 |
| value | void** | out | 取得した属性値またはインターフェイスを受け取る出力ポインター。 |
| name | LPWSTR | in | 取得する属性名を表すワイド文字列。 |
| type | D2D1_SVG_ATTRIBUTE_POD_TYPE | in | 取得する属性値の型を示す列挙値(POD型または文字列型)。 |
| value | void* | out | 取得した属性値またはインターフェイスを受け取る出力ポインター。 |
| valueSizeInBytes | DWORD | in | POD型値を受け取るバッファのサイズをバイト単位で指定する。 |
| name | LPWSTR | in | 取得する属性名を表すワイド文字列。 |
| type | D2D1_SVG_ATTRIBUTE_STRING_TYPE | in | 取得する属性値の型を示す列挙値(POD型または文字列型)。 |
| value | LPWSTR | out | 取得した属性値またはインターフェイスを受け取る出力ポインター。 |
| valueCount | DWORD | in | 文字列型値を受け取るバッファの容量を文字数で指定する。 |
この要素の属性の文字列長を取得します。
| name | LPWSTR | in | 属性の名前。 |
| type | D2D1_SVG_ATTRIBUTE_STRING_TYPE | in | 属性の文字列型。 |
| valueLength | DWORD* | out | 属性の長さ。返される文字列長には null 終端文字分の領域は含まれません。 |
戻り値
Type: HRESULT
このメソッドは HRESULT の成功コードまたはエラーコードを返します。 属性が指定されていない場合はエラーを返します。 属性名がこの要素で有効でない場合はエラーを返します。 属性を指定された文字列型で表現できない場合はエラーを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ID2D1SvgElement "{AC7B67A6-183E-49C1-A823-0EBE40B0DB29}" #usecom global ID2D1SvgElement IID_ID2D1SvgElement "{}" #comfunc global ID2D1SvgElement_GetDocument 4 sptr #comfunc global ID2D1SvgElement_GetTagName 5 var,int #comfunc global ID2D1SvgElement_GetTagNameLength 6 #comfunc global ID2D1SvgElement_IsTextContent 7 #comfunc global ID2D1SvgElement_GetParent 8 sptr #comfunc global ID2D1SvgElement_HasChildren 9 #comfunc global ID2D1SvgElement_GetFirstChild 10 sptr #comfunc global ID2D1SvgElement_GetLastChild 11 sptr #comfunc global ID2D1SvgElement_GetPreviousChild 12 sptr,sptr #comfunc global ID2D1SvgElement_GetNextChild 13 sptr,sptr #comfunc global ID2D1SvgElement_InsertChildBefore 14 sptr,sptr #comfunc global ID2D1SvgElement_AppendChild 15 sptr #comfunc global ID2D1SvgElement_ReplaceChild 16 sptr,sptr #comfunc global ID2D1SvgElement_RemoveChild 17 sptr #comfunc global ID2D1SvgElement_CreateChild 18 wstr,sptr #comfunc global ID2D1SvgElement_IsAttributeSpecified 19 wstr,var #comfunc global ID2D1SvgElement_GetSpecifiedAttributeCount 20 #comfunc global ID2D1SvgElement_GetSpecifiedAttributeName 21 int,var,int,var #comfunc global ID2D1SvgElement_GetSpecifiedAttributeNameLength 22 int,var,var #comfunc global ID2D1SvgElement_RemoveAttribute 23 wstr #comfunc global ID2D1SvgElement_SetTextValue 24 wstr,int #comfunc global ID2D1SvgElement_GetTextValue 25 var,int #comfunc global ID2D1SvgElement_GetTextValueLength 26 #comfunc global ID2D1SvgElement_SetAttributeValue 27 wstr,sptr #comfunc global ID2D1SvgElement_SetAttributeValue 28 wstr,int,sptr,int #comfunc global ID2D1SvgElement_SetAttributeValue 29 wstr,int,wstr #comfunc global ID2D1SvgElement_GetAttributeValue 30 wstr,var,sptr #comfunc global ID2D1SvgElement_GetAttributeValue 31 wstr,int,sptr,int #comfunc global ID2D1SvgElement_GetAttributeValue 32 wstr,int,var,int #comfunc global ID2D1SvgElement_GetAttributeValueLength 33 wstr,int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID2D1SvgElement "{AC7B67A6-183E-49C1-A823-0EBE40B0DB29}" #usecom global ID2D1SvgElement IID_ID2D1SvgElement "{}" #comfunc global ID2D1SvgElement_GetDocument 4 sptr #comfunc global ID2D1SvgElement_GetTagName 5 sptr,int #comfunc global ID2D1SvgElement_GetTagNameLength 6 #comfunc global ID2D1SvgElement_IsTextContent 7 #comfunc global ID2D1SvgElement_GetParent 8 sptr #comfunc global ID2D1SvgElement_HasChildren 9 #comfunc global ID2D1SvgElement_GetFirstChild 10 sptr #comfunc global ID2D1SvgElement_GetLastChild 11 sptr #comfunc global ID2D1SvgElement_GetPreviousChild 12 sptr,sptr #comfunc global ID2D1SvgElement_GetNextChild 13 sptr,sptr #comfunc global ID2D1SvgElement_InsertChildBefore 14 sptr,sptr #comfunc global ID2D1SvgElement_AppendChild 15 sptr #comfunc global ID2D1SvgElement_ReplaceChild 16 sptr,sptr #comfunc global ID2D1SvgElement_RemoveChild 17 sptr #comfunc global ID2D1SvgElement_CreateChild 18 wstr,sptr #comfunc global ID2D1SvgElement_IsAttributeSpecified 19 wstr,sptr #comfunc global ID2D1SvgElement_GetSpecifiedAttributeCount 20 #comfunc global ID2D1SvgElement_GetSpecifiedAttributeName 21 int,sptr,int,sptr #comfunc global ID2D1SvgElement_GetSpecifiedAttributeNameLength 22 int,sptr,sptr #comfunc global ID2D1SvgElement_RemoveAttribute 23 wstr #comfunc global ID2D1SvgElement_SetTextValue 24 wstr,int #comfunc global ID2D1SvgElement_GetTextValue 25 sptr,int #comfunc global ID2D1SvgElement_GetTextValueLength 26 #comfunc global ID2D1SvgElement_SetAttributeValue 27 wstr,sptr #comfunc global ID2D1SvgElement_SetAttributeValue 28 wstr,int,sptr,int #comfunc global ID2D1SvgElement_SetAttributeValue 29 wstr,int,wstr #comfunc global ID2D1SvgElement_GetAttributeValue 30 wstr,sptr,sptr #comfunc global ID2D1SvgElement_GetAttributeValue 31 wstr,int,sptr,int #comfunc global ID2D1SvgElement_GetAttributeValue 32 wstr,int,sptr,int #comfunc global ID2D1SvgElement_GetAttributeValueLength 33 wstr,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。