+//---------------------------------------------------------------------------
+
+class wxGraphicsMatrix : public wxGraphicsObject
+{
+public :
+ // wxGraphicsMatrix(wxGraphicsRenderer* renderer); *** This class is an ABC
+
+ virtual ~wxGraphicsMatrix();
+
+ DocDeclStr(
+ virtual void , Concat( const wxGraphicsMatrix& t ),
+ "concatenates the 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 respective values", "");
+
+
+ DocDeclStr(
+ virtual void , Invert(),
+ "makes this the inverse 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,
+ "return true if this is the identity matrix", "");
+
+
+ DocDeclStr(
+ virtual void , Translate( wxDouble dx , wxDouble dy ),
+ "add the translation to this matrix", "");
+
+
+ DocDeclStr(
+ virtual void , Scale( wxDouble xScale , wxDouble yScale ),
+ "add the scale to this matrix", "");
+
+
+ DocDeclStr(
+ virtual void , Rotate( wxDouble angle ),
+ "add the rotation to this matrix (radians)", "");
+
+
+ DocDeclAStr(
+ virtual void , TransformPoint( wxDouble *INOUT, wxDouble *INOUT ) const,
+ "TransformPoint(self, x, y) --> (x, y)",
+ "applies that matrix to the point", "");
+
+
+ DocDeclAStr(
+ virtual void , TransformDistance( wxDouble *INOUT, wxDouble *INOUT ) const,
+ "TransformDistance(self, dx, dy) --> (dx, dy)",
+ "applies the matrix except for translations", "");
+
+
+ DocDeclStr(
+ virtual void * , GetNativeMatrix() const,
+ "returns the native representation", "");
+};