ID2D1RenderTarget_PushLayer

PopLayer が呼び出されるまでの後続のすべての描画操作を受け取るよう、指定したレイヤーをレンダーターゲットに追加する。(overload 1/2)

ID2D1RenderTarget_PushLayer this, layerParameters, layer

this : [comobj] ID2D1RenderTarget インターフェースの COM オブジェクト変数
layerParameters : [int] 型: const D2D1_LAYER_PARAMETERS* レイヤーのコンテンツ境界、ジオメトリックマスク、不透明度、不透明度マスク、およびアンチエイリアスオプション。
layer : [comobj] 型: ID2D1Layer* 後続の描画操作を受け取るレイヤー。注意 Windows 8 以降、このパラメーターは省略可能である。レイヤーを指定しない場合、Direct2D がレイヤーリソースを自動的に管理する。

(プラグイン / モジュール : com_misc.dll)

解説

PopLayer
が呼び出されるまでの後続のすべての描画操作を受け取るよう、指定したレイヤーをレンダーターゲットに追加する。(overload 1/2)

[備考]
PushLayer
メソッドは呼び出し側がレンダリングをレイヤーへリダイレクトし始めることを可能にする。レイヤー内ではすべてのレンダリング操作が有効である。レイヤーの位置はレンダーターゲットに設定されたワールド変換の影響を受ける。PushLayer
の呼び出しには対応する PopLayer の呼び出しが必要である。PopLayer の呼び出しが PushLayer
の呼び出しよりも多い場合、レンダーターゲットはエラー状態になる。未解決のレイヤーがすべてポップされる前に Flush
を呼び出すとレンダーターゲットはエラー状態になり、エラーが返される。このエラー状態は EndDraw の呼び出しでクリアできる。特定の
ID2D1Layer リソースは同時に 1 つしかアクティブにできない。つまり PushLayer
メソッドを呼び出した直後に同じレイヤーリソースで PushLayer メソッドを呼び出すことはできない。2 つ目の PushLayer
メソッドは別のレイヤーリソースで呼び出す必要がある。
このメソッドは失敗してもエラーコードを返さない。PushLayer
のような描画操作が失敗したかどうかを判定するには、ID2D1RenderTarget::EndDraw または
ID2D1RenderTarget::Flush の戻り値を確認する。

情報

プラグイン / モジュールcom_misc.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の com_misc.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_com_misc_gen2.hs