1 ////////////////////////////////////////////////////////////////////////////// 2 // Name: SVGMatrix.h 3 // Author: Alex Thuering 4 // Copyright: (c) 2005 Alex Thuering 5 // Licence: wxWindows licence 6 // Notes: generated by generate.py 7 ////////////////////////////////////////////////////////////////////////////// 8 9 #ifndef WX_SVG_MATRIX_H 10 #define WX_SVG_MATRIX_H 11 12 class wxSVGMatrix 13 { 14 protected: 15 double m_a; 16 double m_b; 17 double m_c; 18 double m_d; 19 double m_e; 20 double m_f; 21 22 public: GetA()23 inline double GetA() const { return m_a; } SetA(double n)24 inline void SetA(double n) { m_a = n; } 25 GetB()26 inline double GetB() const { return m_b; } SetB(double n)27 inline void SetB(double n) { m_b = n; } 28 GetC()29 inline double GetC() const { return m_c; } SetC(double n)30 inline void SetC(double n) { m_c = n; } 31 GetD()32 inline double GetD() const { return m_d; } SetD(double n)33 inline void SetD(double n) { m_d = n; } 34 GetE()35 inline double GetE() const { return m_e; } SetE(double n)36 inline void SetE(double n) { m_e = n; } 37 GetF()38 inline double GetF() const { return m_f; } SetF(double n)39 inline void SetF(double n) { m_f = n; } 40 41 public: wxSVGMatrix()42 wxSVGMatrix(): m_a(1), m_b(0), m_c(0), m_d(1), m_e(0), m_f(0) {} wxSVGMatrix(double a,double b,double c,double d,double e,double f)43 wxSVGMatrix(double a, double b, double c, double d, double e, double f): 44 m_a(a), m_b(b), m_c(c), m_d(d), m_e(e), m_f(f) {} ~wxSVGMatrix()45 virtual ~wxSVGMatrix() {} 46 virtual wxSVGMatrix Multiply(const wxSVGMatrix& secondMatrix) const; 47 virtual wxSVGMatrix Inverse() const; 48 virtual wxSVGMatrix Translate(double x, double y) const; 49 virtual wxSVGMatrix Scale(double scaleFactor) const; 50 virtual wxSVGMatrix ScaleNonUniform(double scaleFactorX, double scaleFactorY) const; 51 virtual wxSVGMatrix Rotate(double angle) const; 52 virtual wxSVGMatrix RotateFromVector(double x, double y) const; 53 virtual wxSVGMatrix FlipX() const; 54 virtual wxSVGMatrix FlipY() const; 55 virtual wxSVGMatrix SkewX(double angle) const; 56 virtual wxSVGMatrix SkewY(double angle) const; 57 }; 58 59 #endif // WX_SVG_MATRIX_H 60