• Home
  • Raw
  • Download

Lines Matching refs:fMat

30     if (0 == fMat[SkMatrix::kMPersp0] && 0 == fMat[SkMatrix::kMPersp1]) {  in doNormalizePerspective()
31 SkScalar p2 = fMat[SkMatrix::kMPersp2]; in doNormalizePerspective()
35 fMat[i] = SkDoubleToScalar(fMat[i] * inv); in doNormalizePerspective()
37 fMat[SkMatrix::kMPersp2] = 1; in doNormalizePerspective()
66 memcpy(fMat, buffer, 9 * sizeof(SkScalar)); in set9()
72 fMat[kMScaleX] = buffer[kAScaleX]; in setAffine()
73 fMat[kMSkewX] = buffer[kASkewX]; in setAffine()
74 fMat[kMTransX] = buffer[kATransX]; in setAffine()
75 fMat[kMSkewY] = buffer[kASkewY]; in setAffine()
76 fMat[kMScaleY] = buffer[kAScaleY]; in setAffine()
77 fMat[kMTransY] = buffer[kATransY]; in setAffine()
78 fMat[kMPersp0] = 0; in setAffine()
79 fMat[kMPersp1] = 0; in setAffine()
80 fMat[kMPersp2] = 1; in setAffine()
100 if (fMat[kMPersp0] != 0 || fMat[kMPersp1] != 0 || fMat[kMPersp2] != 1) { in computePerspectiveTypeMask()
114 if (fMat[kMPersp0] != 0 || fMat[kMPersp1] != 0 || fMat[kMPersp2] != 1) { in computeTypeMask()
120 if (fMat[kMTransX] != 0 || fMat[kMTransY] != 0) { in computeTypeMask()
124 int m00 = SkScalarAs2sCompliment(fMat[SkMatrix::kMScaleX]); in computeTypeMask()
125 int m01 = SkScalarAs2sCompliment(fMat[SkMatrix::kMSkewX]); in computeTypeMask()
126 int m10 = SkScalarAs2sCompliment(fMat[SkMatrix::kMSkewY]); in computeTypeMask()
127 int m11 = SkScalarAs2sCompliment(fMat[SkMatrix::kMScaleY]); in computeTypeMask()
175 const SkScalar* SK_RESTRICT ma = a.fMat; in operator ==()
176 const SkScalar* SK_RESTRICT mb = b.fMat; in operator ==()
204 SkScalar mx = fMat[kMScaleX]; in isSimilarity()
205 SkScalar my = fMat[kMScaleY]; in isSimilarity()
210 SkScalar sx = fMat[kMSkewX]; in isSimilarity()
211 SkScalar sy = fMat[kMSkewY]; in isSimilarity()
236 SkScalar mx = fMat[kMScaleX]; in preservesRightAngles()
237 SkScalar my = fMat[kMScaleY]; in preservesRightAngles()
238 SkScalar sx = fMat[kMSkewX]; in preservesRightAngles()
239 SkScalar sy = fMat[kMSkewY]; in preservesRightAngles()
281 fMat[kMTransX] += dx; in preTranslate()
282 fMat[kMTransY] += dy; in preTranslate()
288 fMat[kMTransX] += sdot(fMat[kMScaleX], dx, fMat[kMSkewX], dy); in preTranslate()
289 fMat[kMTransY] += sdot(fMat[kMSkewY], dx, fMat[kMScaleY], dy); in preTranslate()
301 fMat[kMTransX] += dx; in postTranslate()
302 fMat[kMTransY] += dy; in postTranslate()
348 fMat[kMScaleX] *= sx; in preScale()
349 fMat[kMSkewY] *= sx; in preScale()
350 fMat[kMPersp0] *= sx; in preScale()
352 fMat[kMSkewX] *= sy; in preScale()
353 fMat[kMScaleY] *= sy; in preScale()
354 fMat[kMPersp1] *= sy; in preScale()
360 if (fMat[kMScaleX] == 1 && fMat[kMScaleY] == 1 in preScale()
397 fMat[kMScaleX] *= invX; in postIDiv()
398 fMat[kMSkewX] *= invX; in postIDiv()
399 fMat[kMTransX] *= invX; in postIDiv()
401 fMat[kMScaleY] *= invY; in postIDiv()
402 fMat[kMSkewY] *= invY; in postIDiv()
403 fMat[kMTransY] *= invY; in postIDiv()
414 fMat[kMScaleX] = cosV; in setSinCos()
415 fMat[kMSkewX] = -sinV; in setSinCos()
416 fMat[kMTransX] = sdot(sinV, py, oneMinusCosV, px); in setSinCos()
418 fMat[kMSkewY] = sinV; in setSinCos()
419 fMat[kMScaleY] = cosV; in setSinCos()
420 fMat[kMTransY] = sdot(-sinV, px, oneMinusCosV, py); in setSinCos()
422 fMat[kMPersp0] = fMat[kMPersp1] = 0; in setSinCos()
423 fMat[kMPersp2] = 1; in setSinCos()
430 fMat[kMScaleX] = xform.fSCos; in setRSXform()
431 fMat[kMSkewX] = -xform.fSSin; in setRSXform()
432 fMat[kMTransX] = xform.fTx; in setRSXform()
434 fMat[kMSkewY] = xform.fSSin; in setRSXform()
435 fMat[kMScaleY] = xform.fSCos; in setRSXform()
436 fMat[kMTransY] = xform.fTy; in setRSXform()
438 fMat[kMPersp0] = fMat[kMPersp1] = 0; in setRSXform()
439 fMat[kMPersp2] = 1; in setRSXform()
446 fMat[kMScaleX] = cosV; in setSinCos()
447 fMat[kMSkewX] = -sinV; in setSinCos()
448 fMat[kMTransX] = 0; in setSinCos()
450 fMat[kMSkewY] = sinV; in setSinCos()
451 fMat[kMScaleY] = cosV; in setSinCos()
452 fMat[kMTransY] = 0; in setSinCos()
454 fMat[kMPersp0] = fMat[kMPersp1] = 0; in setSinCos()
455 fMat[kMPersp2] = 1; in setSinCos()
506 fMat[kMScaleX] = 1; in setSkew()
507 fMat[kMSkewX] = sx; in setSkew()
508 fMat[kMTransX] = 0; in setSkew()
510 fMat[kMSkewY] = sy; in setSkew()
511 fMat[kMScaleY] = 1; in setSkew()
512 fMat[kMTransY] = 0; in setSkew()
514 fMat[kMPersp0] = fMat[kMPersp1] = 0; in setSkew()
515 fMat[kMPersp2] = 1; in setSkew()
554 sk_bzero(fMat, 8 * sizeof(SkScalar)); in setRectToRect()
555 fMat[kMPersp2] = 1; in setRectToRect()
621 this->setScaleTranslate(a.fMat[kMScaleX] * b.fMat[kMScaleX], in setConcat()
622 a.fMat[kMScaleY] * b.fMat[kMScaleY], in setConcat()
623 a.fMat[kMScaleX] * b.fMat[kMTransX] + a.fMat[kMTransX], in setConcat()
624 a.fMat[kMScaleY] * b.fMat[kMTransY] + a.fMat[kMTransY]); in setConcat()
629 tmp.fMat[kMScaleX] = rowcol3(&a.fMat[0], &b.fMat[0]); in setConcat()
630 tmp.fMat[kMSkewX] = rowcol3(&a.fMat[0], &b.fMat[1]); in setConcat()
631 tmp.fMat[kMTransX] = rowcol3(&a.fMat[0], &b.fMat[2]); in setConcat()
632 tmp.fMat[kMSkewY] = rowcol3(&a.fMat[3], &b.fMat[0]); in setConcat()
633 tmp.fMat[kMScaleY] = rowcol3(&a.fMat[3], &b.fMat[1]); in setConcat()
634 tmp.fMat[kMTransY] = rowcol3(&a.fMat[3], &b.fMat[2]); in setConcat()
635 tmp.fMat[kMPersp0] = rowcol3(&a.fMat[6], &b.fMat[0]); in setConcat()
636 tmp.fMat[kMPersp1] = rowcol3(&a.fMat[6], &b.fMat[1]); in setConcat()
637 tmp.fMat[kMPersp2] = rowcol3(&a.fMat[6], &b.fMat[2]); in setConcat()
641 tmp.fMat[kMScaleX] = muladdmul(a.fMat[kMScaleX], in setConcat()
642 b.fMat[kMScaleX], in setConcat()
643 a.fMat[kMSkewX], in setConcat()
644 b.fMat[kMSkewY]); in setConcat()
646 tmp.fMat[kMSkewX] = muladdmul(a.fMat[kMScaleX], in setConcat()
647 b.fMat[kMSkewX], in setConcat()
648 a.fMat[kMSkewX], in setConcat()
649 b.fMat[kMScaleY]); in setConcat()
651 tmp.fMat[kMTransX] = muladdmul(a.fMat[kMScaleX], in setConcat()
652 b.fMat[kMTransX], in setConcat()
653 a.fMat[kMSkewX], in setConcat()
654 b.fMat[kMTransY]) + a.fMat[kMTransX]; in setConcat()
656 tmp.fMat[kMSkewY] = muladdmul(a.fMat[kMSkewY], in setConcat()
657 b.fMat[kMScaleX], in setConcat()
658 a.fMat[kMScaleY], in setConcat()
659 b.fMat[kMSkewY]); in setConcat()
661 tmp.fMat[kMScaleY] = muladdmul(a.fMat[kMSkewY], in setConcat()
662 b.fMat[kMSkewX], in setConcat()
663 a.fMat[kMScaleY], in setConcat()
664 b.fMat[kMScaleY]); in setConcat()
666 tmp.fMat[kMTransY] = muladdmul(a.fMat[kMSkewY], in setConcat()
667 b.fMat[kMTransX], in setConcat()
668 a.fMat[kMScaleY], in setConcat()
669 b.fMat[kMTransY]) + a.fMat[kMTransY]; in setConcat()
671 tmp.fMat[kMPersp0] = 0; in setConcat()
672 tmp.fMat[kMPersp1] = 0; in setConcat()
673 tmp.fMat[kMPersp2] = 1; in setConcat()
769 affine[kAScaleX] = this->fMat[kMScaleX]; in asAffine()
770 affine[kASkewY] = this->fMat[kMSkewY]; in asAffine()
771 affine[kASkewX] = this->fMat[kMSkewX]; in asAffine()
772 affine[kAScaleY] = this->fMat[kMScaleY]; in asAffine()
773 affine[kATransX] = this->fMat[kMTransX]; in asAffine()
774 affine[kATransY] = this->fMat[kMTransY]; in asAffine()
831 SkScalar invX = fMat[kMScaleX]; in invertNonIdentity()
832 SkScalar invY = fMat[kMScaleY]; in invertNonIdentity()
842 inv->fMat[kMSkewX] = inv->fMat[kMSkewY] = in invertNonIdentity()
843 inv->fMat[kMPersp0] = inv->fMat[kMPersp1] = 0; in invertNonIdentity()
845 inv->fMat[kMScaleX] = invX; in invertNonIdentity()
846 inv->fMat[kMScaleY] = invY; in invertNonIdentity()
847 inv->fMat[kMPersp2] = 1; in invertNonIdentity()
848 inv->fMat[kMTransX] = -fMat[kMTransX] * invX; in invertNonIdentity()
849 inv->fMat[kMTransY] = -fMat[kMTransY] * invY; in invertNonIdentity()
854 inv->setTranslate(-fMat[kMTransX], -fMat[kMTransY]); in invertNonIdentity()
857 if (!fMat[kMScaleX] || !fMat[kMScaleY]) { in invertNonIdentity()
865 double invDet = sk_inv_determinant(fMat, isPersp); in invertNonIdentity()
880 ComputeInv(tmp->fMat, fMat, invDet, isPersp); in invertNonIdentity()
973 SkScalar x = sdot(sx, m.fMat[kMScaleX], sy, m.fMat[kMSkewX]) + m.fMat[kMTransX]; in Persp_pts()
974 SkScalar y = sdot(sx, m.fMat[kMSkewY], sy, m.fMat[kMScaleY]) + m.fMat[kMTransY]; in Persp_pts()
976 SkScalar z = sx * m.fMat[kMPersp0] + (sy * m.fMat[kMPersp1] + m.fMat[kMPersp2]); in Persp_pts()
978 SkScalar z = sdot(sx, m.fMat[kMPersp0], sy, m.fMat[kMPersp1]) + m.fMat[kMPersp2]; in Persp_pts()
1062 const SkScalar* mat = mx.fMat; in MapHomogeneousPointsWithStride()
1087 fMat[0] * src[i].fX + fMat[1] * src[i].fY + fMat[2], in mapHomogeneousPoints()
1088 fMat[3] * src[i].fX + fMat[4] * src[i].fY + fMat[5], in mapHomogeneousPoints()
1089 fMat[6] * src[i].fX + fMat[7] * src[i].fY + fMat[8], in mapHomogeneousPoints()
1095 fMat[0] * src[i].fX + fMat[1] * src[i].fY + fMat[2], in mapHomogeneousPoints()
1096 fMat[3] * src[i].fX + fMat[4] * src[i].fY + fMat[5], in mapHomogeneousPoints()
1121 tmp.fMat[kMTransX] = tmp.fMat[kMTransY] = 0; in mapVectors()
1140 SkScalar sx = fMat[kMScaleX]; in mapRectScaleTranslate()
1141 SkScalar sy = fMat[kMScaleY]; in mapRectScaleTranslate()
1142 SkScalar tx = fMat[kMTransX]; in mapRectScaleTranslate()
1143 SkScalar ty = fMat[kMTransY]; in mapRectScaleTranslate()
1153 SkScalar tx = fMat[kMTransX]; in mapRect()
1154 SkScalar ty = fMat[kMTransY]; in mapRect()
1198 SkScalar x = sdot(sx, m.fMat[kMScaleX], sy, m.fMat[kMSkewX]) + m.fMat[kMTransX]; in Persp_xy()
1199 SkScalar y = sdot(sx, m.fMat[kMSkewY], sy, m.fMat[kMScaleY]) + m.fMat[kMTransY]; in Persp_xy()
1200 SkScalar z = sdot(sx, m.fMat[kMPersp0], sy, m.fMat[kMPersp1]) + m.fMat[kMPersp2]; in Persp_xy()
1213 pt->fX = sx * m.fMat[kMScaleX] + (sy * m.fMat[kMSkewX] + m.fMat[kMTransX]); in RotTrans_xy()
1214 pt->fY = sx * m.fMat[kMSkewY] + (sy * m.fMat[kMScaleY] + m.fMat[kMTransY]); in RotTrans_xy()
1216 pt->fX = sdot(sx, m.fMat[kMScaleX], sy, m.fMat[kMSkewX]) + m.fMat[kMTransX]; in RotTrans_xy()
1217 pt->fY = sdot(sx, m.fMat[kMSkewY], sy, m.fMat[kMScaleY]) + m.fMat[kMTransY]; in RotTrans_xy()
1224 SkASSERT(0 == m.fMat[kMTransX]); in Rot_xy()
1225 SkASSERT(0 == m.fMat[kMTransY]); in Rot_xy()
1228 pt->fX = sx * m.fMat[kMScaleX] + (sy * m.fMat[kMSkewX] + m.fMat[kMTransX]); in Rot_xy()
1229 pt->fY = sx * m.fMat[kMSkewY] + (sy * m.fMat[kMScaleY] + m.fMat[kMTransY]); in Rot_xy()
1231 pt->fX = sdot(sx, m.fMat[kMScaleX], sy, m.fMat[kMSkewX]) + m.fMat[kMTransX]; in Rot_xy()
1232 pt->fY = sdot(sx, m.fMat[kMSkewY], sy, m.fMat[kMScaleY]) + m.fMat[kMTransY]; in Rot_xy()
1241 pt->fX = sx * m.fMat[kMScaleX] + m.fMat[kMTransX]; in ScaleTrans_xy()
1242 pt->fY = sy * m.fMat[kMScaleY] + m.fMat[kMTransY]; in ScaleTrans_xy()
1249 SkASSERT(0 == m.fMat[kMTransX]); in Scale_xy()
1250 SkASSERT(0 == m.fMat[kMTransY]); in Scale_xy()
1252 pt->fX = sx * m.fMat[kMScaleX]; in Scale_xy()
1253 pt->fY = sy * m.fMat[kMScaleY]; in Scale_xy()
1260 pt->fX = sx + m.fMat[kMTransX]; in Trans_xy()
1261 pt->fY = sy + m.fMat[kMTransY]; in Trans_xy()
1290 return PerspNearlyZero(fMat[kMPersp0]);
1294 SkASSERT(PerspNearlyZero(fMat[kMPersp0]));
1295 if (PerspNearlyZero(fMat[kMPersp1]) &&
1296 PerspNearlyZero(fMat[kMPersp2] - 1)) {
1297 return SkVector::Make(fMat[kMScaleX], fMat[kMSkewY]);
1299 SkScalar z = y * fMat[kMPersp1] + fMat[kMPersp2];
1300 return SkVector::Make(fMat[kMScaleX] / z, fMat[kMSkewY] / z);
1312 dst->fMat[kMScaleX] = srcPt[1].fY - srcPt[0].fY; in Poly2Proc()
1313 dst->fMat[kMSkewY] = srcPt[0].fX - srcPt[1].fX; in Poly2Proc()
1314 dst->fMat[kMPersp0] = 0; in Poly2Proc()
1316 dst->fMat[kMSkewX] = srcPt[1].fX - srcPt[0].fX; in Poly2Proc()
1317 dst->fMat[kMScaleY] = srcPt[1].fY - srcPt[0].fY; in Poly2Proc()
1318 dst->fMat[kMPersp1] = 0; in Poly2Proc()
1320 dst->fMat[kMTransX] = srcPt[0].fX; in Poly2Proc()
1321 dst->fMat[kMTransY] = srcPt[0].fY; in Poly2Proc()
1322 dst->fMat[kMPersp2] = 1; in Poly2Proc()
1328 dst->fMat[kMScaleX] = srcPt[2].fX - srcPt[0].fX; in Poly3Proc()
1329 dst->fMat[kMSkewY] = srcPt[2].fY - srcPt[0].fY; in Poly3Proc()
1330 dst->fMat[kMPersp0] = 0; in Poly3Proc()
1332 dst->fMat[kMSkewX] = srcPt[1].fX - srcPt[0].fX; in Poly3Proc()
1333 dst->fMat[kMScaleY] = srcPt[1].fY - srcPt[0].fY; in Poly3Proc()
1334 dst->fMat[kMPersp1] = 0; in Poly3Proc()
1336 dst->fMat[kMTransX] = srcPt[0].fX; in Poly3Proc()
1337 dst->fMat[kMTransY] = srcPt[0].fY; in Poly3Proc()
1338 dst->fMat[kMPersp2] = 1; in Poly3Proc()
1384 dst->fMat[kMScaleX] = a2 * srcPt[3].fX + srcPt[3].fX - srcPt[0].fX; in Poly4Proc()
1385 dst->fMat[kMSkewY] = a2 * srcPt[3].fY + srcPt[3].fY - srcPt[0].fY; in Poly4Proc()
1386 dst->fMat[kMPersp0] = a2; in Poly4Proc()
1388 dst->fMat[kMSkewX] = a1 * srcPt[1].fX + srcPt[1].fX - srcPt[0].fX; in Poly4Proc()
1389 dst->fMat[kMScaleY] = a1 * srcPt[1].fY + srcPt[1].fY - srcPt[0].fY; in Poly4Proc()
1390 dst->fMat[kMPersp1] = a1; in Poly4Proc()
1392 dst->fMat[kMTransX] = srcPt[0].fX; in Poly4Proc()
1393 dst->fMat[kMTransY] = srcPt[0].fY; in Poly4Proc()
1394 dst->fMat[kMPersp2] = 1; in Poly4Proc()
1542 if (get_scale_factor<kMin_MinMaxOrBoth>(this->getType(), fMat, &factor)) { in getMinScale()
1551 if (get_scale_factor<kMax_MinMaxOrBoth>(this->getType(), fMat, &factor)) { in getMaxScale()
1559 return get_scale_factor<kBoth_MinMaxOrBoth>(this->getType(), fMat, scaleFactors); in getMinMaxScales()
1605 memcpy(buffer, fMat, sizeInMemory); in writeToMemory()
1615 memcpy(fMat, buffer, sizeInMemory); in readFromMemory()
1625 fMat[0], fMat[1], fMat[2], fMat[3], fMat[4], fMat[5], in dump()
1626 fMat[6], fMat[7], fMat[8]); in dump()
1870 return SkScalarAbs(SkDoubleToScalar(sk_determinant(jacobian.fMat, true)) * denom); in DifferentialAreaScale()