檢視原始碼 wxGCDC (wx v2.4.3)

wxGCDC 是一個在 wxGraphicsContext 上繪圖的裝置上下文。

wxGCDC 盡力實作 wxDC API,但由於 wxGraphicsContext 不支援,因此下列功能未(完全)實作:

  • wxDC:getPixel/2 方法未實作,且永遠返回 false,因為現代圖形層不支援檢索繪製像素的內容。

  • wxDC:floodFill/4 方法未實作,也無法實作,因為其功能依賴從 wxGraphicsContext 讀取像素。

  • wxDC:setLogicalFunction/2 方法僅適用於 wxCOPYwxORwxNO_OPwxCLEARwxXOR 函式,嘗試使用任何其他函式(包括 wxINVERT)都不會有任何作用。

  • 類似地,wxDC:blit/6StretchBlit()(在 wx 中未實作)的 ?wxRasterOperationMode 參數只能是上面列出的支援邏輯函式之一,使用任何其他函式將導致斷言失敗,且不會繪製任何內容。

  • 對於基於 Direct2D 的 wxGraphicsContext,在字型相關函式中只能使用 TrueType 字型。

參見

此類別繼承自,且可以使用下列類別的函式:

wxWidgets 文件:wxGCDC

摘要

函式

銷毀物件

設定此 wxGCDC 要使用的圖形上下文。

型別

-type wxGCDC() :: wx:wx_object().

函式

-spec destroy(This :: wxGCDC()) -> ok.

銷毀物件

連結到此函式

getGraphicsContext(This)

檢視原始碼
-spec getGraphicsContext(This) -> wxGraphicsContext:wxGraphicsContext() when This :: wxGCDC().

檢索關聯的 wxGraphicsContext

-spec new() -> wxGCDC().
-spec new(WindowDC) -> wxGCDC()
             when
                 WindowDC ::
                     wxWindowDC:wxWindowDC() |
                     wxMemoryDC:wxMemoryDC() |
                     wxGraphicsContext:wxGraphicsContext().

wxWindowDC 構建 wxGCDC

連結到此函式

setGraphicsContext(This, Context)

檢視原始碼
-spec setGraphicsContext(This, Context) -> ok
                            when This :: wxGCDC(), Context :: wxGraphicsContext:wxGraphicsContext().

設定此 wxGCDC 要使用的圖形上下文。

請注意,此物件取得 context 的所有權,並將在銷毀時或再次呼叫 setGraphicsContext/2 時刪除它。

此外,與採用 wxGraphicsContext 的建構函式不同,此方法會重新套用目前的字型、畫筆和筆刷,以便此物件繼續使用它們(如果它們之前已變更過),直接從 wxGraphicsContext 構建 wxGCDC 時絕不會發生這種情況。