# wxGraphicsMatrix

###
Module

wxGraphicsMatrix

###
Module Summary

Functions for wxGraphicsMatrix class

###
Description

A wxGraphicsMatrix is a native representation of an affine matrix. The contents are specific and private to the respective renderer. Instances are ref counted and can therefore be assigned as usual. The only way to get a valid instance is via wxGraphicsContext:createMatrix/2 or wxGraphicsRenderer:createMatrix/2.

This class is derived (and can use functions) from: wxGraphicsObject

wxWidgets docs: wxGraphicsMatrix

###
Data Types

####
wxGraphicsMatrix() = wx:wx_object()

###
Exports

####
concat(This, T) -> ok

### Types

This = T = wxGraphicsMatrix()

Concatenates the matrix passed with the current matrix.

The effect of the resulting transformation is to first apply the transformation in t to the coordinates and then apply the transformation in the current matrix to the coordinates.

####
get(This) -> Result

### Types

Result =
{A :: number(),
B :: number(),
C :: number(),
D :: number(),
Tx :: number(),
Ty :: number()}
This = wxGraphicsMatrix()

Returns the component values of the matrix via the argument pointers.

####
invert(This) -> ok

### Types

This = wxGraphicsMatrix()

Inverts the matrix.

####
isEqual(This, T) -> boolean()

### Types

This = T = wxGraphicsMatrix()

Returns true if the elements of the transformation matrix are equal.

####
isIdentity(This) -> boolean()

### Types

This = wxGraphicsMatrix()

Return true if this is the identity matrix.

####
rotate(This, Angle) -> ok

### Types

This = wxGraphicsMatrix()
Angle = number()

Rotates this matrix clockwise (in radians).

####
scale(This, XScale, YScale) -> ok

### Types

This = wxGraphicsMatrix()
XScale = YScale = number()

Scales this matrix.

####
translate(This, Dx, Dy) -> ok

### Types

This = wxGraphicsMatrix()
Dx = Dy = number()

Translates this matrix.

####
set(This) -> ok

### Types

This = wxGraphicsMatrix()

####
set(This, Options :: [Option]) -> ok

### Types

This = wxGraphicsMatrix()
Option =
{a, number()} |
{b, number()} |
{c, number()} |
{d, number()} |
{tx, number()} |
{ty, number()}

Sets the matrix to the respective values (default values are the identity matrix).

####
transformPoint(This) -> {X :: number(), Y :: number()}

### Types

This = wxGraphicsMatrix()

Applies this matrix to a point.

####
transformDistance(This) -> {Dx :: number(), Dy :: number()}

### Types

This = wxGraphicsMatrix()

Applies this matrix to a distance (ie.

performs all transforms except translations).