查看源代码 wxGraphicsRenderer (wx v2.4.3)
wxGraphicsRenderer
是对应于所使用的渲染引擎的实例。
如果存在不同的渲染引擎,则系统上可能存在多个实例,但每个引擎始终只有一个实例。此实例由其创建的所有对象(wxGraphicsContext
,wxGraphicsPath
等)指回,并且可以通过它们的 wxGraphicsObject:getRenderer/1
方法检索。因此,您可以通过调用 wxGraphicsObject:getRenderer/1
,然后使用该渲染器的适当 CreateXXX() 函数来创建路径等的其他实例。
wxWidgets 文档:wxGraphicsRenderer
摘要
类型
-type wxGraphicsRenderer() :: wx:wx_object().
函数
-spec createBrush(This, Brush) -> wxGraphicsBrush:wxGraphicsBrush() when This :: wxGraphicsRenderer(), Brush :: wxBrush:wxBrush().
从 wxBrush
创建一个原生画刷。
-spec createContext(This, WindowDC) -> wxGraphicsContext:wxGraphicsContext() when This :: wxGraphicsRenderer(), WindowDC :: wxWindowDC:wxWindowDC() | wxWindow:wxWindow() | wxMemoryDC:wxMemoryDC().
从 wxWindowDC
创建一个 wxGraphicsContext
。
-spec createFont(This, Font) -> wxGraphicsFont:wxGraphicsFont() when This :: wxGraphicsRenderer(), Font :: wxFont:wxFont().
-spec createFont(This, SizeInPixels, Facename) -> wxGraphicsFont:wxGraphicsFont() when This :: wxGraphicsRenderer(), SizeInPixels :: number(), Facename :: unicode:chardata(); (This, Font, [Option]) -> wxGraphicsFont:wxGraphicsFont() when This :: wxGraphicsRenderer(), Font :: wxFont:wxFont(), Option :: {col, wx:wx_colour()}.
从 wxFont
和文本颜色创建原生图形字体。
-spec createFont(This, SizeInPixels, Facename, [Option]) -> wxGraphicsFont:wxGraphicsFont() when This :: wxGraphicsRenderer(), SizeInPixels :: number(), Facename :: unicode:chardata(), Option :: {flags, integer()} | {col, wx:wx_colour()}.
使用给定特征创建图形字体。
如果可能,应该使用带有 wxFont
的 createFont/4
重载。此重载的主要优点是,在使用 Cairo 时,它可以在 Unix 下无需 X 服务器连接的情况下使用。
自:2.9.3
-spec createLinearGradientBrush(This, X1, Y1, X2, Y2, Stops) -> wxGraphicsBrush:wxGraphicsBrush() when This :: wxGraphicsRenderer(), X1 :: number(), Y1 :: number(), X2 :: number(), Y2 :: number(), Stops :: wxGraphicsGradientStops:wxGraphicsGradientStops().
创建一个带有线性渐变的原生画刷。
自 wxWidgets 2.9.1 起支持 Stops,以前只能指定开始和结束颜色。
在 3.1.3 中添加了将变换矩阵应用于渐变的功能
-spec createMatrix(This) -> wxGraphicsMatrix:wxGraphicsMatrix() when This :: wxGraphicsRenderer().
-spec createMatrix(This, [Option]) -> wxGraphicsMatrix:wxGraphicsMatrix() when This :: wxGraphicsRenderer(), Option :: {a, number()} | {b, number()} | {c, number()} | {d, number()} | {tx, number()} | {ty, number()}.
从传入的值创建一个原生仿射变换矩阵。
默认值将产生一个单位矩阵。
-spec createPath(This) -> wxGraphicsPath:wxGraphicsPath() when This :: wxGraphicsRenderer().
创建一个初始为空的原生图形路径。
-spec createRadialGradientBrush(This, StartX, StartY, EndX, EndY, Radius, Stops) -> wxGraphicsBrush:wxGraphicsBrush() when This :: wxGraphicsRenderer(), StartX :: number(), StartY :: number(), EndX :: number(), EndY :: number(), Radius :: number(), Stops :: wxGraphicsGradientStops:wxGraphicsGradientStops().
创建一个带有径向渐变的原生画刷。
自 wxWidgets 2.9.1 起支持 Stops,以前只能指定开始和结束颜色。
在 3.1.3 中添加了将变换矩阵应用于渐变的功能
-spec getDefaultRenderer() -> wxGraphicsRenderer().
返回此平台上的默认渲染器。
在 macOS 上,这是 Core Graphics(又名 Quartz 2D)渲染器,在 MSW 上是 GDIPlus 渲染器,而在 GTK 上,我们目前默认为 Cairo 渲染器。