%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name:        graphicsmatrix.tex
%% Purpose:     wxGraphicsMatrix class documentation
%% Author:      Stefan Csomor
%% Modified by:
%% Created:     08.06.2004
%% RCS-ID:      $Id: graphicsmatrix.tex 43830 2006-12-05 23:42:52Z RD $
%% Copyright:   (c) Stefan Csomor
%% License:     wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{\class{wxGraphicsMatrix}}\label{wxgraphicsmatrix}

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 a CreateMatrix call on the graphics context or the renderer instance.

\wxheading{Derived from}

\helpref{wxGraphicsObject}{wxgraphicsobject}

\wxheading{Include files}

<wx/graphics.h>

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxGraphicsMatrix::Concat}\label{wxgraphicsmatrixconcat}

\func{void}{Concat}{\param{const wxGraphicsMatrix* }{t}}

Concatenates the matrix passed with the current matrix.

\func{void}{Concat}{\param{const wxGraphicsMatrix\& }{t}}


\membersection{wxGraphicsMatrix::Get}\label{wxgraphicsmatrixget}

\constfunc{void }{Get}{\param{wxDouble* }{a=NULL}, 
                       \param{wxDouble* }{b=NULL}, 
                       \param{wxDouble* }{c=NULL}, 
                       \param{wxDouble* }{d=NULL}, 
                       \param{wxDouble* }{tx=NULL}, 
                       \param{wxDouble* }{ty=NULL}}

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

\membersection{wxGraphicsMatrix::GetNativeMatrix}\label{wxgraphicsmatrixgetnativematrix}

\constfunc{void *}{GetNativeMatrix}{\void}

Returns the native representation of the matrix. For CoreGraphics this is a CFAffineMatrix pointer. For GDIPlus a Matrix Pointer and for Cairo a cairo\_matrix\_t pointer.

\membersection{wxGraphicsMatrix::Invert}\label{wxgraphicsmatrixinvert}

\func{void}{Invert}{\void}

Inverts the matrix.

\membersection{wxGraphicsMatrix::IsEqual}\label{wxgraphicsmatrixisequal}

\constfunc{bool}{IsEqual}{\param{const wxGraphicsMatrix\& }{t}}

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

\membersection{wxGraphicsMatrix::IsIdentity}\label{wxgraphicsmatrixisidentity}

\constfunc{bool}{IsIdentity}{\void}

Return true if this is the identity matrix.

\membersection{wxGraphicsMatrix::Rotate}\label{wxgraphicsmatrixrotate}

\func{void}{Rotate}{\param{wxDouble }{angle}}

Rotates this matrix (radians).

\membersection{wxGraphicsMatrix::Scale}\label{wxgraphicsmatrixscale}

\func{void}{Scale}{\param{wxDouble }{xScale}, \param{wxDouble }{yScale}}

Scales this matrix.

\membersection{wxGraphicsMatrix::Translate}\label{wxgraphicsmatrixtranslate}

\func{void}{Translate}{\param{wxDouble }{dx}, \param{wxDouble }{dy}}

Translates this matrix.

\membersection{wxGraphicsMatrix::Set}\label{wxgraphicsmatrixset}

\func{void}{Set}{\param{wxDouble }{a = 1.0}, \param{wxDouble }{b = 0.0}, \param{wxDouble }{c = 0.0}, \param{wxDouble }{d = 1.0}, \param{wxDouble }{tx = 0.0}, \param{wxDouble }{ty = 0.0}}

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

\membersection{wxGraphicsMatrix::TransformPoint}\label{wxgraphicsmatrixtransformpoint}

\constfunc{void}{TransformPoint}{\param{wxDouble* }{x}, \param{wxDouble* }{y}}

Applies this matrix to a point.

\membersection{wxGraphicsMatrix::TransformDistance}\label{wxgraphicsmatrixtransformdistance}

\constfunc{void}{TransformDistance}{\param{wxDouble* }{dx}, \param{wxDouble* }{dy}}

Applies this matrix to a distance (ie. performs all transforms except translations)



