git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// 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 ccRadians);
 | 
						|
 | 
						|
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_
 |