• Home
  • Raw
  • Download

Lines Matching refs:SkMatrix

27     if (0 == mat[SkMatrix::kMPersp0] && 0 == mat[SkMatrix::kMPersp1]) {  in normalize_perspective()
28 SkScalar p2 = mat[SkMatrix::kMPersp2]; in normalize_perspective()
34 mat[SkMatrix::kMPersp2] = 1; in normalize_perspective()
64 void SkMatrix::reset() { in reset()
72 void SkMatrix::set9(const SkScalar buffer[]) { in set9()
78 void SkMatrix::setAffine(const SkScalar buffer[]) { in setAffine()
102 uint8_t SkMatrix::computePerspectiveTypeMask() const { in computePerspectiveTypeMask()
117 uint8_t SkMatrix::computeTypeMask() const { in computeTypeMask()
130 int m00 = SkScalarAs2sCompliment(fMat[SkMatrix::kMScaleX]); in computeTypeMask()
131 int m01 = SkScalarAs2sCompliment(fMat[SkMatrix::kMSkewX]); in computeTypeMask()
132 int m10 = SkScalarAs2sCompliment(fMat[SkMatrix::kMSkewY]); in computeTypeMask()
133 int m11 = SkScalarAs2sCompliment(fMat[SkMatrix::kMScaleY]); in computeTypeMask()
180 bool operator==(const SkMatrix& a, const SkMatrix& b) { in operator ==()
200 bool SkMatrix::isSimilarity(SkScalar tol) const { in isSimilarity()
229 bool SkMatrix::preservesRightAngles(SkScalar tol) const { in preservesRightAngles()
274 void SkMatrix::setTranslate(SkScalar dx, SkScalar dy) { in setTranslate()
289 void SkMatrix::preTranslate(SkScalar dx, SkScalar dy) { in preTranslate()
295 SkMatrix m; in preTranslate()
305 void SkMatrix::postTranslate(SkScalar dx, SkScalar dy) { in postTranslate()
311 SkMatrix m; in postTranslate()
323 void SkMatrix::setScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) { in setScale()
331 void SkMatrix::setScale(SkScalar sx, SkScalar sy) { in setScale()
347 bool SkMatrix::setIDiv(int divx, int divy) { in setIDiv()
355 void SkMatrix::preScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) { in preScale()
360 SkMatrix m; in preScale()
365 void SkMatrix::preScale(SkScalar sx, SkScalar sy) { in preScale()
395 void SkMatrix::postScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) { in postScale()
399 SkMatrix m; in postScale()
404 void SkMatrix::postScale(SkScalar sx, SkScalar sy) { in postScale()
408 SkMatrix m; in postScale()
415 bool SkMatrix::postIDiv(int divx, int divy) { in postIDiv()
437 void SkMatrix::setSinCos(SkScalar sinV, SkScalar cosV, SkScalar px, SkScalar py) { in setSinCos()
454 SkMatrix& SkMatrix::setRSXform(const SkRSXform& xform) { in setRSXform()
470 void SkMatrix::setSinCos(SkScalar sinV, SkScalar cosV) { in setSinCos()
485 void SkMatrix::setRotate(SkScalar degrees, SkScalar px, SkScalar py) { in setRotate()
491 void SkMatrix::setRotate(SkScalar degrees) { in setRotate()
497 void SkMatrix::preRotate(SkScalar degrees, SkScalar px, SkScalar py) { in preRotate()
498 SkMatrix m; in preRotate()
503 void SkMatrix::preRotate(SkScalar degrees) { in preRotate()
504 SkMatrix m; in preRotate()
509 void SkMatrix::postRotate(SkScalar degrees, SkScalar px, SkScalar py) { in postRotate()
510 SkMatrix m; in postRotate()
515 void SkMatrix::postRotate(SkScalar degrees) { in postRotate()
516 SkMatrix m; in postRotate()
523 void SkMatrix::setSkew(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) { in setSkew()
538 void SkMatrix::setSkew(SkScalar sx, SkScalar sy) { in setSkew()
553 void SkMatrix::preSkew(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) { in preSkew()
554 SkMatrix m; in preSkew()
559 void SkMatrix::preSkew(SkScalar sx, SkScalar sy) { in preSkew()
560 SkMatrix m; in preSkew()
565 void SkMatrix::postSkew(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) { in postSkew()
566 SkMatrix m; in postSkew()
571 void SkMatrix::postSkew(SkScalar sx, SkScalar sy) { in postSkew()
572 SkMatrix m; in postSkew()
579 bool SkMatrix::setRectToRect(const SkRect& src, const SkRect& dst, ScaleToFit align) { in setRectToRect()
641 return 0 == (mask & (SkMatrix::kAffine_Mask | SkMatrix::kPerspective_Mask)); in only_scale_and_translate()
644 void SkMatrix::setConcat(const SkMatrix& a, const SkMatrix& b) { in setConcat()
658 SkMatrix tmp; in setConcat()
715 void SkMatrix::preConcat(const SkMatrix& mat) { in preConcat()
723 void SkMatrix::postConcat(const SkMatrix& mat) { in postConcat()
757 det = mat[SkMatrix::kMScaleX] * in sk_inv_determinant()
758 dcross(mat[SkMatrix::kMScaleY], mat[SkMatrix::kMPersp2], in sk_inv_determinant()
759 mat[SkMatrix::kMTransY], mat[SkMatrix::kMPersp1]) in sk_inv_determinant()
761 mat[SkMatrix::kMSkewX] * in sk_inv_determinant()
762 dcross(mat[SkMatrix::kMTransY], mat[SkMatrix::kMPersp0], in sk_inv_determinant()
763 mat[SkMatrix::kMSkewY], mat[SkMatrix::kMPersp2]) in sk_inv_determinant()
765 mat[SkMatrix::kMTransX] * in sk_inv_determinant()
766 dcross(mat[SkMatrix::kMSkewY], mat[SkMatrix::kMPersp1], in sk_inv_determinant()
767 mat[SkMatrix::kMScaleY], mat[SkMatrix::kMPersp0]); in sk_inv_determinant()
769 det = dcross(mat[SkMatrix::kMScaleX], mat[SkMatrix::kMScaleY], in sk_inv_determinant()
770 mat[SkMatrix::kMSkewX], mat[SkMatrix::kMSkewY]); in sk_inv_determinant()
782 void SkMatrix::SetAffineIdentity(SkScalar affine[6]) { in SetAffineIdentity()
791 bool SkMatrix::asAffine(SkScalar affine[6]) const { in asAffine()
806 void SkMatrix::ComputeInv(SkScalar dst[9], const SkScalar src[9], double invDet, bool isPersp) { in ComputeInv()
837 bool SkMatrix::invertNonIdentity(SkMatrix* inv) const { in invertNonIdentity()
888 SkMatrix* tmp = inv; in invertNonIdentity()
890 SkMatrix storage; in invertNonIdentity()
911 void SkMatrix::Identity_pts(const SkMatrix& m, SkPoint dst[], const SkPoint src[], int count) { in Identity_pts()
919 void SkMatrix::Trans_pts(const SkMatrix& m, SkPoint dst[], const SkPoint src[], int count) { in Trans_pts()
923 void SkMatrix::Scale_pts(const SkMatrix& m, SkPoint dst[], const SkPoint src[], int count) { in Scale_pts()
927 void SkMatrix::Persp_pts(const SkMatrix& m, SkPoint dst[], in Persp_pts()
955 void SkMatrix::Affine_vpts(const SkMatrix& m, SkPoint dst[], const SkPoint src[], int count) { in Affine_vpts()
959 const SkMatrix::MapPtsProc SkMatrix::gMapPtsProcs[] = {
960 SkMatrix::Identity_pts, SkMatrix::Trans_pts,
961 SkMatrix::Scale_pts, SkMatrix::Scale_pts,
962 SkMatrix::Affine_vpts, SkMatrix::Affine_vpts,
963 SkMatrix::Affine_vpts, SkMatrix::Affine_vpts,
965 SkMatrix::Persp_pts, SkMatrix::Persp_pts,
966 SkMatrix::Persp_pts, SkMatrix::Persp_pts,
967 SkMatrix::Persp_pts, SkMatrix::Persp_pts,
968 SkMatrix::Persp_pts, SkMatrix::Persp_pts
973 void SkMatrix::mapHomogeneousPoints(SkScalar dst[], const SkScalar src[], int count) const { in mapHomogeneousPoints()
1003 void SkMatrix::mapVectors(SkPoint dst[], const SkPoint src[], int count) const { in mapVectors()
1017 SkMatrix tmp = *this; in mapVectors()
1025 bool SkMatrix::mapRect(SkRect* dst, const SkRect& src) const { in mapRect()
1042 SkScalar SkMatrix::mapRadius(SkScalar radius) const { in mapRadius()
1058 void SkMatrix::Persp_xy(const SkMatrix& m, SkScalar sx, SkScalar sy, in Persp_xy()
1072 void SkMatrix::RotTrans_xy(const SkMatrix& m, SkScalar sx, SkScalar sy, in RotTrans_xy()
1085 void SkMatrix::Rot_xy(const SkMatrix& m, SkScalar sx, SkScalar sy, in Rot_xy()
1100 void SkMatrix::ScaleTrans_xy(const SkMatrix& m, SkScalar sx, SkScalar sy, in ScaleTrans_xy()
1109 void SkMatrix::Scale_xy(const SkMatrix& m, SkScalar sx, SkScalar sy, in Scale_xy()
1120 void SkMatrix::Trans_xy(const SkMatrix& m, SkScalar sx, SkScalar sy, in Trans_xy()
1128 void SkMatrix::Identity_xy(const SkMatrix& m, SkScalar sx, SkScalar sy, in Identity_xy()
1136 const SkMatrix::MapXYProc SkMatrix::gMapXYProcs[] = {
1137 SkMatrix::Identity_xy, SkMatrix::Trans_xy,
1138 SkMatrix::Scale_xy, SkMatrix::ScaleTrans_xy,
1139 SkMatrix::Rot_xy, SkMatrix::RotTrans_xy,
1140 SkMatrix::Rot_xy, SkMatrix::RotTrans_xy,
1142 SkMatrix::Persp_xy, SkMatrix::Persp_xy,
1143 SkMatrix::Persp_xy, SkMatrix::Persp_xy,
1144 SkMatrix::Persp_xy, SkMatrix::Persp_xy,
1145 SkMatrix::Persp_xy, SkMatrix::Persp_xy
1153 bool SkMatrix::isFixedStepInX() const { in isFixedStepInX()
1157 SkVector SkMatrix::fixedStepInX(SkScalar y) const { in fixedStepInX()
1172 SkPerspIter::SkPerspIter(const SkMatrix& m, SkScalar x0, SkScalar y0, int count) in SkPerspIter()
1176 SkMatrix::Persp_xy(m, x0, y0, &pt); in SkPerspIter()
1195 SkMatrix::Persp_xy(fMatrix, fSX, fSY, &pt); in next()
1202 SkMatrix::Persp_xy(fMatrix, fSX, fSY, &pt); in next()
1255 bool SkMatrix::Poly2Proc(const SkPoint srcPt[], SkMatrix* dst, in Poly2Proc()
1272 bool SkMatrix::Poly3Proc(const SkPoint srcPt[], SkMatrix* dst, in Poly3Proc()
1291 bool SkMatrix::Poly4Proc(const SkPoint srcPt[], SkMatrix* dst, in Poly4Proc()
1350 typedef bool (*PolyMapProc)(const SkPoint[], SkMatrix*, const SkPoint&);
1354 bool SkMatrix::setPolyToPoly(const SkPoint src[], const SkPoint dst[], in setPolyToPoly()
1378 SkMatrix::Poly2Proc, SkMatrix::Poly3Proc, SkMatrix::Poly4Proc in setPolyToPoly()
1382 SkMatrix tempMap, result; in setPolyToPoly()
1406 template <MinMaxOrBoth MIN_MAX_OR_BOTH> bool get_scale_factor(SkMatrix::TypeMask typeMask, in get_scale_factor()
1409 if (typeMask & SkMatrix::kPerspective_Mask) { in get_scale_factor()
1412 if (SkMatrix::kIdentity_Mask == typeMask) { in get_scale_factor()
1419 if (!(typeMask & SkMatrix::kAffine_Mask)) { in get_scale_factor()
1421 results[0] = SkMinScalar(SkScalarAbs(m[SkMatrix::kMScaleX]), in get_scale_factor()
1422 SkScalarAbs(m[SkMatrix::kMScaleY])); in get_scale_factor()
1424 results[0] = SkMaxScalar(SkScalarAbs(m[SkMatrix::kMScaleX]), in get_scale_factor()
1425 SkScalarAbs(m[SkMatrix::kMScaleY])); in get_scale_factor()
1427 results[0] = SkScalarAbs(m[SkMatrix::kMScaleX]); in get_scale_factor()
1428 results[1] = SkScalarAbs(m[SkMatrix::kMScaleY]); in get_scale_factor()
1438 SkScalar a = sdot(m[SkMatrix::kMScaleX], m[SkMatrix::kMScaleX], in get_scale_factor()
1439 m[SkMatrix::kMSkewY], m[SkMatrix::kMSkewY]); in get_scale_factor()
1440 SkScalar b = sdot(m[SkMatrix::kMScaleX], m[SkMatrix::kMSkewX], in get_scale_factor()
1441 m[SkMatrix::kMScaleY], m[SkMatrix::kMSkewY]); in get_scale_factor()
1442 SkScalar c = sdot(m[SkMatrix::kMSkewX], m[SkMatrix::kMSkewX], in get_scale_factor()
1443 m[SkMatrix::kMScaleY], m[SkMatrix::kMScaleY]); in get_scale_factor()
1491 SkScalar SkMatrix::getMinScale() const { in getMinScale()
1500 SkScalar SkMatrix::getMaxScale() const { in getMaxScale()
1509 bool SkMatrix::getMinMaxScales(SkScalar scaleFactors[2]) const { in getMinMaxScales()
1520 const SkMatrix& asSkMatrix() const { return *reinterpret_cast<const SkMatrix*>(this); } in asSkMatrix()
1522 static_assert(sizeof(AggregateMatrix) == sizeof(SkMatrix), "AggregateMatrix size mismatch.");
1526 const SkMatrix& SkMatrix::I() { in I()
1527 static_assert(offsetof(SkMatrix,fMat) == offsetof(AggregateMatrix,matrix), "fMat"); in I()
1528 static_assert(offsetof(SkMatrix,fTypeMask) == offsetof(AggregateMatrix,typemask), "fTypeMask"); in I()
1538 const SkMatrix& SkMatrix::InvalidMatrix() { in InvalidMatrix()
1539 static_assert(offsetof(SkMatrix,fMat) == offsetof(AggregateMatrix,matrix), "fMat"); in InvalidMatrix()
1540 static_assert(offsetof(SkMatrix,fTypeMask) == offsetof(AggregateMatrix,typemask), "fTypeMask"); in InvalidMatrix()
1550 bool SkMatrix::decomposeScale(SkSize* scale, SkMatrix* remaining) const { in decomposeScale()
1574 size_t SkMatrix::writeToMemory(void* buffer) const { in writeToMemory()
1583 size_t SkMatrix::readFromMemory(const void* buffer, size_t length) { in readFromMemory()
1595 void SkMatrix::dump() const { in dump()
1601 void SkMatrix::toString(SkString* str) const { in toString()
1611 bool SkTreatAsSprite(const SkMatrix& mat, const SkISize& size, const SkPaint& paint) { in SkTreatAsSprite()
1620 if (mat.getType() & ~(SkMatrix::kScale_Mask | SkMatrix::kTranslate_Mask)) { in SkTreatAsSprite()
1625 if (!subpixelBits && !(mat.getType() & ~SkMatrix::kTranslate_Mask)) { in SkTreatAsSprite()
1672 bool SkDecomposeUpper2x2(const SkMatrix& matrix, in SkDecomposeUpper2x2()
1677 SkScalar A = matrix[SkMatrix::kMScaleX]; in SkDecomposeUpper2x2()
1678 SkScalar B = matrix[SkMatrix::kMSkewX]; in SkDecomposeUpper2x2()
1679 SkScalar C = matrix[SkMatrix::kMSkewY]; in SkDecomposeUpper2x2()
1680 SkScalar D = matrix[SkMatrix::kMScaleY]; in SkDecomposeUpper2x2()
1776 SkMatrix m; in toQuad()