| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: wx/affinematrix2d.h
- // Purpose: wxAffineMatrix2D class.
- // Author: Based on wxTransformMatrix by Chris Breeze, Julian Smart
- // Created: 2011-04-05
- // Copyright: (c) wxWidgets team
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- #ifndef _WX_AFFINEMATRIX2D_H_
- #define _WX_AFFINEMATRIX2D_H_
- #include "wx/defs.h"
- #if wxUSE_GEOMETRY
- #include "wx/affinematrix2dbase.h"
- // A simple implementation of wxAffineMatrix2DBase interface done entirely in
- // wxWidgets.
- class WXDLLIMPEXP_CORE wxAffineMatrix2D : public wxAffineMatrix2DBase
- {
- public:
- wxAffineMatrix2D() : m_11(1), m_12(0),
- m_21(0), m_22(1),
- m_tx(0), m_ty(0)
- {
- }
- // Implement base class pure virtual methods.
- virtual void Set(const wxMatrix2D& mat2D, const wxPoint2DDouble& tr);
- virtual void Get(wxMatrix2D* mat2D, wxPoint2DDouble* tr) const;
- virtual void Concat(const wxAffineMatrix2DBase& t);
- virtual bool Invert();
- virtual bool IsIdentity() const;
- virtual bool IsEqual(const wxAffineMatrix2DBase& t) const;
- virtual void Translate(wxDouble dx, wxDouble dy);
- virtual void Scale(wxDouble xScale, wxDouble yScale);
- virtual void Rotate(wxDouble cRadians);
- protected:
- virtual wxPoint2DDouble DoTransformPoint(const wxPoint2DDouble& p) const;
- virtual wxPoint2DDouble DoTransformDistance(const wxPoint2DDouble& p) const;
- private:
- wxDouble m_11, m_12, m_21, m_22, m_tx, m_ty;
- };
- #endif // wxUSE_GEOMETRY
- #endif // _WX_AFFINEMATRIX2D_H_
|