查看源代码 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

摘要

函数

销毁对象

wxWindowDC 构造一个 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 时,情况并非如此)。