Version: 3.3.0
wxGraphicsMatrix Class Reference

#include <wx/graphics.h>

+ Inheritance diagram for wxGraphicsMatrix:

Detailed Description

A wxGraphicsMatrix is a native representation of an affine matrix.

The contents are specific and private to the respective renderer. Instances are ref counted and can therefore be assigned as usual. The only way to get a valid instance is via wxGraphicsContext::CreateMatrix() or wxGraphicsRenderer::CreateMatrix().

Library:  wxCore
Category:  Graphics Device Interface (GDI)

Public Member Functions

virtual void Concat (const wxGraphicsMatrix *t)
 Concatenates the matrix passed with the current matrix. More...
 
void Concat (const wxGraphicsMatrix &t)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual void Get (wxDouble *a=nullptr, wxDouble *b=nullptr, wxDouble *c=nullptr, wxDouble *d=nullptr, wxDouble *tx=nullptr, wxDouble *ty=nullptr) const
 Returns the component values of the matrix via the argument pointers. More...
 
virtual void * GetNativeMatrix () const
 Returns the native representation of the matrix. More...
 
virtual void Invert ()
 Inverts the matrix. More...
 
virtual bool IsEqual (const wxGraphicsMatrix *t) const
 Returns true if the elements of the transformation matrix are equal. More...
 
bool IsEqual (const wxGraphicsMatrix &t) const
 Returns true if the elements of the transformation matrix are equal. More...
 
virtual bool IsIdentity () const
 Return true if this is the identity matrix. More...
 
virtual void Rotate (wxDouble angle)
 Rotates this matrix clockwise (in radians). More...
 
virtual void Scale (wxDouble xScale, wxDouble yScale)
 Scales this matrix. More...
 
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 (default values are the identity matrix). More...
 
virtual void TransformDistance (wxDouble *dx, wxDouble *dy) const
 Applies this matrix to a distance (ie. More...
 
virtual void TransformPoint (wxDouble *x, wxDouble *y) const
 Applies this matrix to a point. More...
 
virtual void Translate (wxDouble dx, wxDouble dy)
 Translates this matrix. More...
 
- Public Member Functions inherited from wxGraphicsObject
wxGraphicsRendererGetRenderer () const
 Returns the renderer that was used to create this instance, or nullptr if it has not been initialized yet. More...
 
bool IsNull () const
 
- Public Member Functions inherited from wxObject
 wxObject ()
 Default ctor; initializes to nullptr the internal reference data. More...
 
 wxObject (const wxObject &other)
 Copy ctor. More...
 
virtual ~wxObject ()
 Destructor. More...
 
virtual wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () const
 Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
 
bool IsKindOf (const wxClassInfo *info) const
 Determines whether this class is a subclass of (or the same class as) the given class. More...
 
bool IsSameAs (const wxObject &obj) const
 Returns true if this object has the same data pointer as obj. More...
 
void Ref (const wxObject &clone)
 Makes this object refer to the data in clone. More...
 
void SetRefData (wxObjectRefData *data)
 Sets the wxObject::m_refData pointer. More...
 
void UnRef ()
 Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
 
void UnShare ()
 This is the same of AllocExclusive() but this method is public. More...
 
void operator delete (void *buf)
 The delete operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 
void * operator new (size_t size, const wxString &filename=nullptr, int lineNum=0)
 The new operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 

Additional Inherited Members

- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Member Function Documentation

◆ Concat() [1/2]

void wxGraphicsMatrix::Concat ( const wxGraphicsMatrix t)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Concat() [2/2]

virtual void wxGraphicsMatrix::Concat ( const wxGraphicsMatrix t)
virtual

Concatenates the matrix passed with the current matrix.

The effect of the resulting transformation is to first apply the transformation in t to the coordinates and then apply the transformation in the current matrix to the coordinates.

// matrix = t x matrix
Parameters
tThe parameter matrix is the multiplicand.

◆ Get()

virtual void wxGraphicsMatrix::Get ( wxDouble a = nullptr,
wxDouble b = nullptr,
wxDouble c = nullptr,
wxDouble d = nullptr,
wxDouble tx = nullptr,
wxDouble ty = nullptr 
) const
virtual

Returns the component values of the matrix via the argument pointers.

◆ GetNativeMatrix()

virtual void* wxGraphicsMatrix::GetNativeMatrix ( ) const
virtual

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.

◆ Invert()

virtual void wxGraphicsMatrix::Invert ( )
virtual

Inverts the matrix.

◆ IsEqual() [1/2]

bool wxGraphicsMatrix::IsEqual ( const wxGraphicsMatrix t) const

Returns true if the elements of the transformation matrix are equal.

◆ IsEqual() [2/2]

virtual bool wxGraphicsMatrix::IsEqual ( const wxGraphicsMatrix t) const
virtual

Returns true if the elements of the transformation matrix are equal.

◆ IsIdentity()

virtual bool wxGraphicsMatrix::IsIdentity ( ) const
virtual

Return true if this is the identity matrix.

◆ Rotate()

virtual void wxGraphicsMatrix::Rotate ( wxDouble  angle)
virtual

Rotates this matrix clockwise (in radians).

Parameters
angleRotation angle in radians, clockwise.

◆ Scale()

virtual void wxGraphicsMatrix::Scale ( wxDouble  xScale,
wxDouble  yScale 
)
virtual

Scales this matrix.

◆ Set()

virtual void wxGraphicsMatrix::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 
)
virtual

Sets the matrix to the respective values (default values are the identity matrix).

◆ TransformDistance()

virtual void wxGraphicsMatrix::TransformDistance ( wxDouble dx,
wxDouble dy 
) const
virtual

Applies this matrix to a distance (ie.

performs all transforms except translations).

◆ TransformPoint()

virtual void wxGraphicsMatrix::TransformPoint ( wxDouble x,
wxDouble y 
) const
virtual

Applies this matrix to a point.

◆ Translate()

virtual void wxGraphicsMatrix::Translate ( wxDouble  dx,
wxDouble  dy 
)
virtual

Translates this matrix.