This is the verbatim text of the q2matrix.h include file. It is is provided only for illustration; the copyright remains with Troll Tech.
/**************************************************************************** ** $Id: q2matrix.h,v 1.2 1995/05/19 23:12:25 eiriken Exp $ ** ** Definition of Q2DMatrix class ** ** Author : Haavard Nord ** Created : 941020 ** ** Copyright (C) 1994,1995 by Troll Tech AS. All rights reserved. ** *****************************************************************************/ #ifndef Q2MATRIX_H #define Q2MATRIX_H #include "qwindefs.h" #include "qpntarry.h" #include "qrect.h" class Q2DMatrix // 2D transform matrix { public: Q2DMatrix(); Q2DMatrix( float m11, float m12, float m21, float m22, float dx, float dy ); void setMatrix( float m11, float m12, float m21, float m22, float dx, float dy ); float m11() const { return _m11; } // get matrix values float m12() const { return _m12; } float m21() const { return _m21; } float m22() const { return _m22; } float dx() const { return _dx; } float dy() const { return _dy; } void map( int x, int y, int *tx, int *ty ) const; void map( float x, float y, float *tx, float *ty ) const; QPoint map( const QPoint & ) const; QPointArray map( const QPointArray & ) const; void reset(); // set to default matrix Q2DMatrix &translate( float dx, float dy );// translate matrix Q2DMatrix &scale( float sx, float sy ); // scale matrix Q2DMatrix &shear( float sh, float sv ); // set hor/ver shear Q2DMatrix &rotate( float a ); // rotate 0..360 degrees Q2DMatrix invert( bool * = 0 ) const; // invert matrix bool operator==( const Q2DMatrix & ) const; bool operator!=( const Q2DMatrix & ) const; Q2DMatrix &operator*=( const Q2DMatrix & ); QRect boundingRect( const QRect &r ) const; private: Q2DMatrix &bmul( const Q2DMatrix & ); float _m11, _m12; float _m21, _m22; float _dx, _dy; }; Q2DMatrix operator*( const Q2DMatrix &, const Q2DMatrix & ); // -------------------------------------------------------------------------- // Q2DMatrix stream functions // QDataStream &operator<<( QDataStream &, const Q2DMatrix & ); QDataStream &operator>>( QDataStream &, Q2DMatrix & ); #endif // Q2MATRIX_H