QMatrix4x4 AffineTransform::matrix(QVector3D const& _center) const { QMatrix4x4 _m; _m.translate(_center); if (translationEnabled()) _m.translate(translation_); if (rotationEnabled()) _m *= rotation_.matrix(); if (scaleEnabled()) { _m.scale(scale()); } _m.translate(-_center); return _m; }
void QgsMapCanvas::setRotation( double degrees ) { if ( !rotationEnabled() ) return; double current = rotation(); if ( degrees == current ) return; mSettings.setRotation( degrees ); emit rotationChanged( degrees ); emit extentsChanged(); // visible extent changes with rotation // notify canvas items of change (needed?) updateCanvasItemPositions(); } // setRotation