查看源代码 wxGraphicsRenderer (wx v2.4.3)

wxGraphicsRenderer 是对应于所使用的渲染引擎的实例。

如果存在不同的渲染引擎,则系统上可能存在多个实例,但每个引擎始终只有一个实例。此实例由其创建的所有对象(wxGraphicsContextwxGraphicsPath 等)指回,并且可以通过它们的 wxGraphicsObject:getRenderer/1 方法检索。因此,您可以通过调用 wxGraphicsObject:getRenderer/1,然后使用该渲染器的适当 CreateXXX() 函数来创建路径等的其他实例。

wxWidgets 文档:wxGraphicsRenderer

摘要

函数

wxBrush 创建一个原生画刷。

wxFont 和文本颜色创建原生图形字体。

使用给定特征创建图形字体。

创建一个带有线性渐变的原生画刷。

从传入的值创建一个原生仿射变换矩阵。

创建一个初始为空的原生图形路径。

创建一个带有径向渐变的原生画刷。

返回此平台上的默认渲染器。

类型

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

函数

链接到此函数

createBrush(This, Brush)

查看源代码
-spec createBrush(This, Brush) -> wxGraphicsBrush:wxGraphicsBrush()
                     when This :: wxGraphicsRenderer(), Brush :: wxBrush:wxBrush().

wxBrush 创建一个原生画刷。

链接到此函数

createContext(This, WindowDC)

查看源代码
-spec createContext(This, WindowDC) -> wxGraphicsContext:wxGraphicsContext()
                       when
                           This :: wxGraphicsRenderer(),
                           WindowDC ::
                               wxWindowDC:wxWindowDC() | wxWindow:wxWindow() | wxMemoryDC:wxMemoryDC().

wxWindowDC 创建一个 wxGraphicsContext

链接到此函数

createFont(This, Font)

查看源代码
-spec createFont(This, Font) -> wxGraphicsFont:wxGraphicsFont()
                    when This :: wxGraphicsRenderer(), Font :: wxFont:wxFont().

等效于 createFont(This, Font, [])

-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()}.

使用给定特征创建图形字体。

如果可能,应该使用带有 wxFontcreateFont/4 重载。此重载的主要优点是,在使用 Cairo 时,它可以在 Unix 下无需 X 服务器连接的情况下使用。

自:2.9.3

链接到此函数

createLinearGradientBrush(This, X1, Y1, X2, Y2, Stops)

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

等效于 createMatrix(This, [])

-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().

创建一个初始为空的原生图形路径。

链接到此函数

createRadialGradientBrush(This, StartX, StartY, EndX, EndY, Radius, Stops)

查看源代码
-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 渲染器。