7#include <QtCore/qdebug.h>
8#include <QtCore/QDataStream>
9#include <QtCore/QPointF>
17 explicit QOpenVGMatrix(
const float *values);
19 const float& operator()(
int row,
int column)
const;
20 float& operator()(
int row,
int column);
22 bool isIdentity()
const;
25 bool isAffine()
const;
27 QPointF map(
const QPointF& point)
const;
29 void fill(
float value);
31 QOpenVGMatrix transposed()
const;
33 QOpenVGMatrix& operator+=(
const QOpenVGMatrix& other);
34 QOpenVGMatrix& operator-=(
const QOpenVGMatrix& other);
35 QOpenVGMatrix& operator*=(
const QOpenVGMatrix& other);
36 QOpenVGMatrix& operator*=(
float factor);
37 QOpenVGMatrix& operator/=(
float divisor);
38 friend QOpenVGMatrix operator*(
const QOpenVGMatrix& m1,
const QOpenVGMatrix& m2);
39 friend QPointF operator*(
const QPointF& point,
const QOpenVGMatrix& matrix);
40 friend QPointF operator*(
const QOpenVGMatrix& matrix,
const QPointF& point);
41#ifndef QT_NO_DEBUG_STREAM
42 friend QDebug operator<<(QDebug dbg,
const QOpenVGMatrix &m);
44 bool operator==(
const QOpenVGMatrix& other)
const;
45 bool operator!=(
const QOpenVGMatrix& other)
const;
47 void copyDataTo(
float *values)
const;
49 float *data() {
return *m; }
50 const float *data()
const {
return *m; }
51 const float *constData()
const {
return *m; }
57QOpenVGMatrix
operator*(
const QOpenVGMatrix& m1,
const QOpenVGMatrix& m2);
61#ifndef QT_NO_DEBUG_STREAM
65#ifndef QT_NO_DATASTREAM
QPointF operator*(const QOpenVGMatrix &matrix, const QPointF &point)
QDataStream & operator<<(QDataStream &stream, const QOpenVGMatrix &matrix)
QOpenVGMatrix operator*(const QOpenVGMatrix &m1, const QOpenVGMatrix &m2)
QDebug operator<<(QDebug dbg, const QOpenVGMatrix &m)
QDataStream & operator>>(QDataStream &stream, QOpenVGMatrix &matrix)
QPointF operator*(const QPointF &point, const QOpenVGMatrix &matrix)