#ifndef QMATRIX_H
#define QMATRIX_H 
#include <QtGui/qpolygon.h>
#include <QtGui/qregion.h>
#include <QtGui/qwindowdefs.h>
#include <QtCore/qline.h>
#include <QtCore/qpoint.h>
#include <QtCore/qrect.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
struct QPainterPath;
class QMatrix{
   public: QMatrix();
   public: QMatrix(qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy);
   public: QMatrix(class QMatrix const & matrix);
   public: void setMatrix(qreal m11, qreal m12, qreal m21, qreal m22, qreal dx, qreal dy);
   public: inline qreal m11() const
   public: inline qreal m12() const
   public: inline qreal m21() const
   public: inline qreal m22() const
   public: inline qreal dx() const
   public: inline qreal dy() const
   public: void map(int x, int y, int* tx, int* ty) const
   public: void map(qreal x, qreal y, qreal* tx, qreal* ty) const
   public: class QRect mapRect(class QRect const &) const
   public: class QRectF mapRect(class QRectF const &) const
   public: class QPoint map(class QPoint const & p) const
   public: class QPointF map(class QPointF const & p) const
   public: class QLine map(class QLine const & l) const
   public: class QLineF map(class QLineF const & l) const
   public: class QPolygonF map(class QPolygonF const & a) const
   public: class QPolygon map(class QPolygon const & a) const
   public: class QRegion map(class QRegion const & r) const
   public: struct QPainterPath map(struct QPainterPath const & p) const
   public: class QPolygon mapToPolygon(class QRect const & r) const
   public: void reset();
   public: class QMatrix& translate(qreal dx, qreal dy);
   public: class QMatrix& scale(qreal sx, qreal sy);
   public: class QMatrix& shear(qreal sh, qreal sv);
   public: class QMatrix& rotate(qreal a);
   public: inline bool isInvertible() const
   public: inline qreal det() const
   public: class QMatrix inverted(bool* invertible = 0) const
   public: bool operator ==(class QMatrix const &) const
   public: bool operator !=(class QMatrix const &) const
   public: class QMatrix& operator *=(class QMatrix const &);
   public: class QMatrix operator *(class QMatrix const & o) const
   public: class QMatrix& operator =(class QMatrix const &);
   public: operator struct QVariant () const
   private: qreal _m11;
   private: qreal _m12;
   private: qreal _m21;
   private: qreal _m22;
   private: qreal _dx;
   private: qreal _dy;
   public: inline bool isIdentity() const
};
template < > class QTypeInfo < class QMatrix >{
   public: static inline char const * name();
   public: enum /*anonymous*/{
      isComplex = 1,
      isStatic = 0,
      isLarge = 1,
      isPointer = 0,
      isDummy = 0,
   };
};
inline class QPoint operator *(class QPoint const & p, class QMatrix const & m);
inline class QPointF operator *(class QPointF const & p, class QMatrix const & m);
inline class QLineF operator *(class QLineF const & l, class QMatrix const & m);
inline class QLine operator *(class QLine const & l, class QMatrix const & m);
inline class QPolygon operator *(class QPolygon const & a, class QMatrix const & m);
inline class QPolygonF operator *(class QPolygonF const & a, class QMatrix const & m);
inline class QRegion operator *(class QRegion const & r, class QMatrix const & m);
struct QPainterPath operator *(struct QPainterPath const & p, class QMatrix const & m);
struct QDataStream& operator <<(struct QDataStream&, class QMatrix const &);
struct QDataStream& operator >>(struct QDataStream&, class QMatrix&);
#ifndef QT_NO_DEBUG_STREAM
struct QDebug operator <<(struct QDebug, class QMatrix const &);
#endif
#endif // QMATRIX_H