Home | History | Annotate | Download | only in core

Lines Matching refs:SkMatrix

8 #include "SkMatrix.h"
29 void SkMatrix::reset() {
57 uint8_t SkMatrix::computePerspectiveTypeMask() const {
81 uint8_t SkMatrix::computeTypeMask() const {
108 int m00 = SkScalarAs2sCompliment(fMat[SkMatrix::kMScaleX]);
109 int m01 = SkScalarAs2sCompliment(fMat[SkMatrix::kMSkewX]);
110 int m10 = SkScalarAs2sCompliment(fMat[SkMatrix::kMSkewY]);
111 int m11 = SkScalarAs2sCompliment(fMat[SkMatrix::kMScaleY]);
160 bool operator==(const SkMatrix& a, const SkMatrix& b) {
173 bool SkMatrix::isSimilarity(SkScalar tol) const {
210 void SkMatrix::setTranslate(SkScalar dx, SkScalar dy) {
226 bool SkMatrix::preTranslate(SkScalar dx, SkScalar dy) {
228 SkMatrix m;
244 bool SkMatrix::postTranslate(SkScalar dx, SkScalar dy) {
246 SkMatrix m;
261 void SkMatrix::setScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
278 void SkMatrix::setScale(SkScalar sx, SkScalar sy) {
294 bool SkMatrix::setIDiv(int divx, int divy) {
302 bool SkMatrix::preScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
303 SkMatrix m;
308 bool SkMatrix::preScale(SkScalar sx, SkScalar sy) {
314 SkMatrix m;
336 bool SkMatrix::postScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
340 SkMatrix m;
345 bool SkMatrix::postScale(SkScalar sx, SkScalar sy) {
349 SkMatrix m;
369 bool SkMatrix::postIDiv(int divx, int divy) {
401 void SkMatrix::setSinCos(SkScalar sinV, SkScalar cosV,
419 void SkMatrix::setSinCos(SkScalar sinV, SkScalar cosV) {
434 void SkMatrix::setRotate(SkScalar degrees, SkScalar px, SkScalar py) {
440 void SkMatrix::setRotate(SkScalar degrees) {
446 bool SkMatrix::preRotate(SkScalar degrees, SkScalar px, SkScalar py) {
447 SkMatrix m;
452 bool SkMatrix::preRotate(SkScalar degrees) {
453 SkMatrix m;
458 bool SkMatrix::postRotate(SkScalar degrees, SkScalar px, SkScalar py) {
459 SkMatrix m;
464 bool SkMatrix::postRotate(SkScalar degrees) {
465 SkMatrix m;
472 void SkMatrix::setSkew(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
487 void SkMatrix::setSkew(SkScalar sx, SkScalar sy) {
502 bool SkMatrix::preSkew(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
503 SkMatrix m;
508 bool SkMatrix::preSkew(SkScalar sx, SkScalar sy) {
509 SkMatrix m;
514 bool SkMatrix::postSkew(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
515 SkMatrix m;
520 bool SkMatrix::postSkew(SkScalar sx, SkScalar sy) {
521 SkMatrix m;
528 bool SkMatrix::setRectToRect(const SkRect& src, const SkRect& dst,
665 if (SkScalarAbs(mat[SkMatrix::kMPersp2]) > kMatrix22Elem) {
671 bool SkMatrix::setConcat(const SkMatrix& a, const SkMatrix& b) {
680 SkMatrix tmp;
761 bool SkMatrix::preConcat(const SkMatrix& mat) {
767 bool SkMatrix::postConcat(const SkMatrix& mat) {
791 det = mat[SkMatrix::kMScaleX] * ((double)mat[SkMatrix::kMScaleY] * mat[SkMatrix::kMPersp2] - (double)mat[SkMatrix::kMTransY] * mat[SkMatrix::kMPersp1]) +
792 mat[SkMatrix::kMSkewX] * ((double)mat[SkMatrix::kMTransY] * mat[SkMatrix::kMPersp0] - (double)mat[SkMatrix::kMSkewY] * mat[SkMatrix::kMPersp2]) +
793 mat[SkMatrix::kMTransX] * ((double)mat[SkMatrix::kMSkewY] * mat[SkMatrix::kMPersp1] - (double)mat[SkMatrix::kMScaleY] * mat[SkMatrix::kMPersp0]);
795 det = (double)mat[SkMatrix::kMScaleX] * mat[SkMatrix::kMScaleY] - (double)mat[SkMatrix::kMSkewX] * mat[SkMatrix::kMSkewY];
830 tmp1.setMul(mat[SkMatrix::kMScaleX], fracmuladdmul(mat[SkMatrix::kMScaleY], mat[SkMatrix::kMPersp2], -mat[SkMatrix::kMTransY], mat[SkMatrix::kMPersp1]));
831 tmp2.setMul(mat[SkMatrix::kMSkewX], fracmuladdmul(mat[SkMatrix::kMTransY], mat[SkMatrix::kMPersp0], -mat[SkMatrix::kMSkewY], mat[SkMatrix::kMPersp2]));
833 tmp2.setMul(mat[SkMatrix::kMTransX], fracmuladdmul(mat[SkMatrix::kMSkewY], mat[SkMatrix::kMPersp1], -mat[SkMatrix::kMScaleY], mat[SkMatrix::kMPersp0]));
836 tmp1.setMul(mat[SkMatrix::kMScaleX], mat[SkMatrix::kMScaleY]);
837 tmp2.setMul(mat[SkMatrix::kMSkewX], mat[SkMatrix::kMSkewY]);
862 void SkMatrix::SetAffineIdentity(SkScalar affine[6]) {
871 bool SkMatrix::asAffine(SkScalar affine[6]) const {
886 bool SkMatrix::invertNonIdentity(SkMatrix* inv) const {
939 SkMatrix tmp;
1027 *(SkMatrix*)this = tmp;
1035 void SkMatrix::Identity_pts(const SkMatrix& m, SkPoint dst[],
1043 void SkMatrix::Trans_pts(const SkMatrix& m, SkPoint dst[],
1059 void SkMatrix::Scale_pts(const SkMatrix& m, SkPoint dst[],
1075 void SkMatrix::ScaleTrans_pts(const SkMatrix& m, SkPoint dst[],
1093 void SkMatrix::Rot_pts(const SkMatrix& m, SkPoint dst[],
1113 void SkMatrix::RotTrans_pts(const SkMatrix& m, SkPoint dst[],
1135 void SkMatrix::Persp_pts(const SkMatrix& m, SkPoint dst[],
1171 const SkMatrix::MapPtsProc SkMatrix::gMapPtsProcs[] = {
1172 SkMatrix::Identity_pts, SkMatrix::Trans_pts,
1173 SkMatrix::Scale_pts, SkMatrix::ScaleTrans_pts,
1174 SkMatrix::Rot_pts, SkMatrix::RotTrans_pts,
1175 SkMatrix::Rot_pts, SkMatrix::RotTrans_pts,
1177 SkMatrix::Persp_pts, SkMatrix::Persp_pts,
1178 SkMatrix::Persp_pts, SkMatrix::Persp_pts,
1179 SkMatrix::Persp_pts, SkMatrix::Persp_pts,
1180 SkMatrix::Persp_pts, SkMatrix::Persp_pts
1183 void SkMatrix::mapPoints(SkPoint dst[], const SkPoint src[], int count) const {
1193 void SkMatrix::mapVectors(SkPoint dst[], const SkPoint src[], int count) const {
1207 SkMatrix tmp = *this;
1215 bool SkMatrix::mapRect(SkRect* dst, const SkRect& src) const {
1232 SkScalar SkMatrix::mapRadius(SkScalar radius) const {
1247 void SkMatrix::Persp_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1282 void SkMatrix::RotTrans_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1299 void SkMatrix::Rot_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1316 void SkMatrix::ScaleTrans_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1325 void SkMatrix::Scale_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1336 void SkMatrix::Trans_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1344 void SkMatrix::Identity_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1352 const SkMatrix::MapXYProc SkMatrix::gMapXYProcs[] = {
1353 SkMatrix::Identity_xy, SkMatrix::Trans_xy,
1354 SkMatrix::Scale_xy, SkMatrix::ScaleTrans_xy,
1355 SkMatrix::Rot_xy, SkMatrix::RotTrans_xy,
1356 SkMatrix::Rot_xy, SkMatrix::RotTrans_xy,
1358 SkMatrix::Persp_xy, SkMatrix::Persp_xy,
1359 SkMatrix::Persp_xy, SkMatrix::Persp_xy,
1360 SkMatrix::Persp_xy, SkMatrix::Persp_xy,
1361 SkMatrix::Persp_xy, SkMatrix::Persp_xy
1375 bool SkMatrix::fixedStepInX(SkScalar y, SkFixed* stepX, SkFixed* stepY) const {
1410 SkPerspIter::SkPerspIter(const SkMatrix& m, SkScalar x0, SkScalar y0, int count)
1414 SkMatrix::Persp_xy(m, x0, y0, &pt);
1433 SkMatrix::Persp_xy(fMatrix, fSX, fSY, &pt);
1440 SkMatrix::Persp_xy(fMatrix, fSX, fSY, &pt);
1499 bool SkMatrix::Poly2Proc(const SkPoint srcPt[], SkMatrix* dst,
1517 bool SkMatrix::Poly3Proc(const SkPoint srcPt[], SkMatrix* dst,
1534 bool SkMatrix::Poly4Proc(const SkPoint srcPt[], SkMatrix* dst,
1631 bool SkMatrix::Poly2Proc(const SkPoint srcPt[], SkMatrix* dst,
1648 bool SkMatrix::Poly3Proc(const SkPoint srcPt[], SkMatrix* dst,
1667 bool SkMatrix::Poly4Proc(const SkPoint srcPt[], SkMatrix* dst,
1730 typedef bool (*PolyMapProc)(const SkPoint[], SkMatrix*, const SkPoint&);
1734 bool SkMatrix::setPolyToPoly(const SkPoint src[], const SkPoint dst[],
1737 SkDebugf("--- SkMatrix::setPolyToPoly count out of range %d\n", count);
1758 SkMatrix::Poly2Proc, SkMatrix::Poly3Proc, SkMatrix::Poly4Proc
1762 SkMatrix tempMap, result;
1783 SkScalar SkMatrix::getMaxStretch() const {
1824 const SkMatrix& SkMatrix::I() {
1825 static SkMatrix gIdentity;
1834 const SkMatrix& SkMatrix::InvalidMatrix() {
1835 static SkMatrix gInvalid;
1849 uint32_t SkMatrix::writeToMemory(void* buffer) const {
1857 uint32_t SkMatrix::readFromMemory(const void* buffer) {
1866 void SkMatrix::dump() const {
1872 void SkMatrix::toString(SkString* str) const {
1889 bool SkTreatAsSprite(const SkMatrix& mat, int width, int height,
1892 if (mat.getType() & ~(SkMatrix::kScale_Mask | SkMatrix::kTranslate_Mask)) {
1897 if (!subpixelBits && !(mat.getType() & ~SkMatrix::kTranslate_Mask)) {