查看源代码 wxGCDC (wx v2.4.3)
wxGCDC
是一个在 wxGraphicsContext
上绘制的设备上下文。
wxGCDC
尽力实现 wxDC
API,但以下功能未(完全)实现,因为 wxGraphicsContext
不支持它们
wxDC:getPixel/2
方法未实现,并且始终返回 false,因为现代图形层不支持检索绘制像素的内容。wxDC:floodFill/4
方法未实现,也无法实现,因为它的功能依赖于从wxGraphicsContext
读取像素。wxDC:setLogicalFunction/2
方法仅适用于wxCOPY
、wxOR
、wxNO_OP
、wxCLEAR
和wxXOR
函数,尝试使用任何其他函数(包括wxINVERT
)不会产生任何效果。类似地,
wxDC:blit/6
和StretchBlit()
(wx 中未实现)的 ?wxRasterOperationMode 参数只能是上面列出的支持的逻辑函数之一,使用任何其他函数将导致断言失败并且不绘制任何内容。对于基于 Direct2D 的
wxGraphicsContext
,只有 TrueType 字体才能在字体相关函数中使用。
参见
此类派生自,并且可以使用以下函数
wxWidgets 文档: wxGCDC
摘要
类型
-type wxGCDC() :: wx:wx_object().
函数
-spec destroy(This :: wxGCDC()) -> ok.
销毁对象
-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
。
-spec setGraphicsContext(This, Context) -> ok when This :: wxGCDC(), Context :: wxGraphicsContext:wxGraphicsContext().
设置用于此 wxGCDC
的图形上下文。
请注意,此对象拥有 context
的所有权,并在其销毁或再次调用 setGraphicsContext/2
时将其删除。
此外,与接受 wxGraphicsContext
的构造函数不同,此方法将重新应用当前的字体、画笔和笔刷,以便此对象继续使用它们,如果它们之前已更改(当直接从 wxGraphicsContext
构造 wxGCDC
时,情况并非如此)。