查看源码 wxGraphicsMatrix (wx v2.4.3)

wxGraphicsMatrix 是一个仿射矩阵的本地表示。

其内容对于各个渲染器是特定的且私有的。实例是引用计数的,因此可以像往常一样进行赋值。获取有效实例的唯一方法是通过 wxGraphicsContext:createMatrix/2wxGraphicsRenderer:createMatrix/2

此类派生自,并且可以使用以下类中的函数:

wxWidgets 文档:wxGraphicsMatrix

概要

函数

将传入的矩阵与当前矩阵连接。

通过参数指针返回矩阵的组件值。

反转矩阵。

如果变换矩阵的元素相等,则返回 true。

如果此矩阵是单位矩阵,则返回 true。

将此矩阵顺时针旋转(以弧度为单位)。

缩放此矩阵。

等效于 set(This, [])

将矩阵设置为相应的值(默认值为单位矩阵)。

将此矩阵应用于距离(即,

将此矩阵应用于一个点。

平移此矩阵。

类型

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

函数

-spec concat(This, T) -> ok when This :: wxGraphicsMatrix(), T :: wxGraphicsMatrix().

将传入的矩阵与当前矩阵连接。

结果变换的效果是首先将 t 中的变换应用于坐标,然后将当前矩阵中的变换应用于坐标。

-spec get(This) -> Result
             when
                 Result ::
                     {A :: number(),
                      B :: number(),
                      C :: number(),
                      D :: number(),
                      Tx :: number(),
                      Ty :: number()},
                 This :: wxGraphicsMatrix().

通过参数指针返回矩阵的组件值。

-spec invert(This) -> ok when This :: wxGraphicsMatrix().

反转矩阵。

-spec isEqual(This, T) -> boolean() when This :: wxGraphicsMatrix(), T :: wxGraphicsMatrix().

如果变换矩阵的元素相等,则返回 true。

-spec isIdentity(This) -> boolean() when This :: wxGraphicsMatrix().

如果此矩阵是单位矩阵,则返回 true。

-spec rotate(This, Angle) -> ok when This :: wxGraphicsMatrix(), Angle :: number().

将此矩阵顺时针旋转(以弧度为单位)。

链接到此函数

scale(This, XScale, YScale)

查看源码
-spec scale(This, XScale, YScale) -> ok
               when This :: wxGraphicsMatrix(), XScale :: number(), YScale :: number().

缩放此矩阵。

-spec set(This) -> ok when This :: wxGraphicsMatrix().

等效于 set(This, [])

-spec set(This, [Option]) -> ok
             when
                 This :: wxGraphicsMatrix(),
                 Option ::
                     {a, number()} |
                     {b, number()} |
                     {c, number()} |
                     {d, number()} |
                     {tx, number()} |
                     {ty, number()}.

将矩阵设置为相应的值(默认值为单位矩阵)。

链接到此函数

transformDistance(This)

查看源码
-spec transformDistance(This) -> {Dx :: number(), Dy :: number()} when This :: wxGraphicsMatrix().

将此矩阵应用于距离(即,

执行除平移之外的所有变换)。

链接到此函数

transformPoint(This)

查看源码
-spec transformPoint(This) -> {X :: number(), Y :: number()} when This :: wxGraphicsMatrix().

将此矩阵应用于一个点。

链接到此函数

translate(This, Dx, Dy)

查看源码
-spec translate(This, Dx, Dy) -> ok when This :: wxGraphicsMatrix(), Dx :: number(), Dy :: number().

平移此矩阵。