ID2D1RenderTarget::P ushLayer (constD2D1_LAYER_PARAMETERS*,ID2D1Layer*) 方法 (d2d1.h)

將指定的圖層新增至轉譯目標,使其接收所有後續的繪圖作業,直到呼叫 PopLayer 為止。

語法

void PushLayer(
  [in] const D2D1_LAYER_PARAMETERS *layerParameters,
  [in] ID2D1Layer                  *layer
);

參數

[in] layerParameters

類型: const D2D1_LAYER_PARAMETERS*

圖層的內容界限、幾何遮罩、不透明度、不透明度遮罩和反鋸齒選項。

[in] layer

類型: ID2D1Layer*

接收後續繪圖作業的圖層。

注意從 Windows 8 開始,這個參數是選擇性的。 如果未指定圖層,Direct2D 會自動管理層次資源。
 

傳回值

備註

PushLayer 方法可讓呼叫端開始將轉譯重新導向至圖層。 所有轉譯作業在圖層中都是有效的。 圖層的位置會受到轉譯目標上設定的世界轉換所影響。

每個 PushLayer 都必須有相符的 PopLayer 呼叫。 如果 PopLayer 呼叫比 PushLayer 呼叫還多,轉譯目標就會進入錯誤狀態。 如果在快顯所有未完成的圖層之前呼叫 Flush ,則會將轉譯目標置於錯誤狀態,並傳回錯誤。 呼叫 EndDraw 即可清除錯誤狀態。

特定 ID2D1Layer 資源一次只能作用中。 換句話說,您無法呼叫 PushLayer 方法,然後緊接在具有相同層次資源的另一個 PushLayer 方法之後。 相反地,您必須使用不同的圖層資源呼叫第二個 PushLayer 方法。

如果此方法失敗,此方法不會傳回錯誤碼。 若要判斷繪圖作業 (例如 PushLayer) 失敗,請檢查 ID2D1RenderTarget::EndDrawID2D1RenderTarget::Flush 方法所傳回的結果。

規格需求

需求
最低支援的用戶端 適用於 Windows Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 d2d1.h
程式庫 D2d1.lib
Dll D2d1.dll

另請參閱

ID2D1RenderTarget

層次概觀

PopLayer