MCPcopy Create free account
hub / github.com/SOUI2/soui / setSinCos

Method setSinCos

third-part/SkMatrix/src/SkMatrix.cpp:393–409  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

391////////////////////////////////////////////////////////////////////////////////////
392
393void SkMatrix::setSinCos(SkScalar sinV, SkScalar cosV,
394 SkScalar px, SkScalar py) {
395 const SkScalar oneMinusCosV = 1 - cosV;
396
397 fMat[kMScaleX] = cosV;
398 fMat[kMSkewX] = -sinV;
399 fMat[kMTransX] = sdot(sinV, py, oneMinusCosV, px);
400
401 fMat[kMSkewY] = sinV;
402 fMat[kMScaleY] = cosV;
403 fMat[kMTransY] = sdot(-sinV, px, oneMinusCosV, py);
404
405 fMat[kMPersp0] = fMat[kMPersp1] = 0;
406 fMat[kMPersp2] = 1;
407
408 this->setTypeMask(kUnknown_Mask | kOnlyPerspectiveValid_Mask);
409}
410
411float SkMatrix::SkScalarSinCos(float radians, float* cosValue) {
412 float sinValue = sk_float_sin(radians);

Callers 1

setRotateMethod · 0.95

Calls 1

sdotFunction · 0.70

Tested by

no test coverage detected