QWMatrix &QWMatrix::rotate( double a ) { double b = deg2rad*a; // convert to radians #if defined(_WS_X11_) double sina = qsincos(b,FALSE); // fast and convenient double cosa = qsincos(b,TRUE); #else double sina = sin(b); double cosa = cos(b); #endif QWMatrix result( cosa, sina, -sina, cosa, 0.0F, 0.0F ); return bmul( result ); }
QWMatrix &QWMatrix::rotate( float a ) { double b = deg2rad*a; // convert to radians #if defined(_WS_X11_) float sina = qsincos(b,FALSE); // fast and convenient float cosa = qsincos(b,TRUE); #else float sina = (float)sin(b); float cosa = (float)cos(b); #endif QWMatrix result( cosa, sina, -sina, cosa, 0.0F, 0.0F ); return bmul( result ); }