+//---------------------------------------------------------------------------
+
+DocStr(wxGraphicsMatrix,
+"A wx.GraphicsMatrix is a native representation of an affine
+matrix. The contents are specific an private to the respective
+renderer. The only way to get a valid instance is via a CreateMatrix
+call on the graphics context or the renderer instance.", "");
+class wxGraphicsMatrix : public wxGraphicsObject
+{
+public :
+ wxGraphicsMatrix();
+ virtual ~wxGraphicsMatrix();
+
+ DocDeclStr(
+ virtual void , Concat( const wxGraphicsMatrix& t ),
+ "Concatenates the passed in matrix to the current matrix.", "");
+
+// %extend {
+// DocStr(Copy,
+// "Copy the passed in matrix to this one.", "");
+// void Copy( const wxGraphicsMatrix& t ) {
+// *self = t;
+// }
+// }
+
+
+ DocDeclStr(
+ virtual void , Set(wxDouble a=1.0, wxDouble b=0.0, wxDouble c=0.0, wxDouble d=1.0,
+ wxDouble tx=0.0, wxDouble ty=0.0),
+ "Sets the matrix to the specified values (default values are the
+identity matrix.)", "");
+
+
+ DocDeclStr(
+ virtual void , Invert(),
+ "Inverts the matrix.", "");
+
+
+ DocDeclStr(
+ virtual bool , IsEqual( const wxGraphicsMatrix& t) const,
+ "Returns ``True`` if the elements of the transformation matrix are equal", "");
+
+
+ DocDeclStr(
+ virtual bool , IsIdentity() const,
+ "Returns ``True`` if this is the identity matrix", "");
+
+
+ DocDeclStr(
+ virtual void , Translate( wxDouble dx , wxDouble dy ),
+ "Add a translation to this matrix.", "");
+
+
+ DocDeclStr(
+ virtual void , Scale( wxDouble xScale , wxDouble yScale ),
+ "Scales this matrix.", "");
+
+
+ DocDeclStr(
+ virtual void , Rotate( wxDouble angle ),
+ "Rotates this matrix. The angle should be specified in radians.", "");
+
+
+ DocDeclAStr(
+ virtual void , TransformPoint( wxDouble *INOUT, wxDouble *INOUT ) const,
+ "TransformPoint(self, x, y) --> (x, y)",
+ "Applies this matrix to a point, returns the resulting point values", "");
+
+
+ DocDeclAStr(
+ virtual void , TransformDistance( wxDouble *INOUT, wxDouble *INOUT ) const,
+ "TransformDistance(self, dx, dy) --> (dx, dy)",
+ "Applies this matrix to a distance (ie. performs all transforms except
+translations)", "");
+
+
+ DocDeclStr(
+ virtual void * , GetNativeMatrix() const,
+ "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. NOTE: For wxPython we still need a
+way to make this value usable.", "");
+};