Lines Matching refs:SkScalar

31         SkScalar p2 = fMat[SkMatrix::kMPersp2];
65 SkMatrix& SkMatrix::set9(const SkScalar buffer[]) {
66 memcpy(fMat, buffer, 9 * sizeof(SkScalar));
71 SkMatrix& SkMatrix::setAffine(const SkScalar buffer[]) {
175 const SkScalar* SK_RESTRICT ma = a.fMat;
176 const SkScalar* SK_RESTRICT mb = b.fMat;
186 static inline bool is_degenerate_2x2(SkScalar scaleX, SkScalar skewX,
187 SkScalar skewY, SkScalar scaleY) {
188 SkScalar perp_dot = scaleX*scaleY - skewX*skewY;
194 bool SkMatrix::isSimilarity(SkScalar tol) const {
204 SkScalar mx = fMat[kMScaleX];
205 SkScalar my = fMat[kMScaleY];
210 SkScalar sx = fMat[kMSkewX];
211 SkScalar sy = fMat[kMSkewY];
223 bool SkMatrix::preservesRightAngles(SkScalar tol) const {
236 SkScalar mx = fMat[kMScaleX];
237 SkScalar my = fMat[kMScaleY];
238 SkScalar sx = fMat[kMSkewX];
239 SkScalar sy = fMat[kMSkewY];
255 static inline SkScalar sdot(SkScalar a, SkScalar b, SkScalar c, SkScalar d) {
259 static inline SkScalar sdot(SkScalar a, SkScalar b, SkScalar c, SkScalar d,
260 SkScalar e, SkScalar f) {
264 static inline SkScalar scross(SkScalar a, SkScalar b, SkScalar c, SkScalar d) {
268 SkMatrix& SkMatrix::setTranslate(SkScalar dx, SkScalar dy) {
277 SkMatrix& SkMatrix::preTranslate(SkScalar dx, SkScalar dy) {
295 SkMatrix& SkMatrix::postTranslate(SkScalar dx, SkScalar dy) {
310 SkMatrix& SkMatrix::setScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
319 SkMatrix& SkMatrix::setScale(SkScalar sx, SkScalar sy) {
328 SkMatrix& SkMatrix::preScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
338 SkMatrix& SkMatrix::preScale(SkScalar sx, SkScalar sy) {
369 SkMatrix& SkMatrix::postScale(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
378 SkMatrix& SkMatrix::postScale(SkScalar sx, SkScalar sy) {
411 SkMatrix& SkMatrix::setSinCos(SkScalar sinV, SkScalar cosV, SkScalar px, SkScalar py) {
412 const SkScalar oneMinusCosV = 1 - cosV;
445 SkMatrix& SkMatrix::setSinCos(SkScalar sinV, SkScalar cosV) {
461 SkMatrix& SkMatrix::setRotate(SkScalar degrees, SkScalar px, SkScalar py) {
462 SkScalar rad = SkDegreesToRadians(degrees);
466 SkMatrix& SkMatrix::setRotate(SkScalar degrees) {
467 SkScalar rad = SkDegreesToRadians(degrees);
471 SkMatrix& SkMatrix::preRotate(SkScalar degrees, SkScalar px, SkScalar py) {
477 SkMatrix& SkMatrix::preRotate(SkScalar degrees) {
483 SkMatrix& SkMatrix::postRotate(SkScalar degrees, SkScalar px, SkScalar py) {
489 SkMatrix& SkMatrix::postRotate(SkScalar degrees) {
497 SkMatrix& SkMatrix::setSkew(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
505 SkMatrix& SkMatrix::setSkew(SkScalar sx, SkScalar sy) {
521 SkMatrix& SkMatrix::preSkew(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
527 SkMatrix& SkMatrix::preSkew(SkScalar sx, SkScalar sy) {
533 SkMatrix& SkMatrix::postSkew(SkScalar sx, SkScalar sy, SkScalar px, SkScalar py) {
539 SkMatrix& SkMatrix::postSkew(SkScalar sx, SkScalar sy) {
554 sk_bzero(fMat, 8 * sizeof(SkScalar));
558 SkScalar tx, sx = dst.width() / src.width();
559 SkScalar ty, sy = dst.height() / src.height();
574 SkScalar diff;
709 static inline SkScalar scross_dscale(SkScalar a, SkScalar b,
710 SkScalar c, SkScalar d, double scale) {
718 static inline SkScalar dcross_dscale(double a, double b,
755 void SkMatrix::SetAffineIdentity(SkScalar affine[6]) {
764 bool SkMatrix::asAffine(SkScalar affine[6]) const {
786 void SkMatrix::mapXY(SkScalar x, SkScalar y, SkPoint* result) const {
791 void SkMatrix::ComputeInv(SkScalar dst[9], const SkScalar src[9], double invDet, bool isPersp) {
831 SkScalar invX = fMat[kMScaleX];
832 SkScalar invY = fMat[kMScaleY];
907 SkScalar tx = m.getTranslateX();
908 SkScalar ty = m.getTranslateY();
935 SkScalar tx = m.getTranslateX();
936 SkScalar ty = m.getTranslateY();
937 SkScalar sx = m.getScaleX();
938 SkScalar sy = m.getScaleY();
969 SkScalar sy = src->fY;
970 SkScalar sx = src->fX;
973 SkScalar x = sdot(sx, m.fMat[kMScaleX], sy, m.fMat[kMSkewX]) + m.fMat[kMTransX];
974 SkScalar y = sdot(sx, m.fMat[kMSkewY], sy, m.fMat[kMScaleY]) + m.fMat[kMTransY];
976 SkScalar z = sx * m.fMat[kMPersp0] + (sy * m.fMat[kMPersp1] + m.fMat[kMPersp2]);
978 SkScalar z = sdot(sx, m.fMat[kMPersp0], sy, m.fMat[kMPersp1]) + m.fMat[kMPersp2];
994 SkScalar tx = m.getTranslateX();
995 SkScalar ty = m.getTranslateY();
996 SkScalar sx = m.getScaleX();
997 SkScalar sy = m.getScaleY();
998 SkScalar kx = m.getSkewX();
999 SkScalar ky = m.getSkewY();
1058 SkScalar sx = src->fX;
1059 SkScalar sy = src->fY;
1060 SkScalar sw = src->fZ;
1062 const SkScalar* mat = mx.fMat;
1064 SkScalar x = sdot(sx, mat[M::kMScaleX], sy, mat[M::kMSkewX], sw, mat[M::kMTransX]);
1065 SkScalar y = sdot(sx, mat[M::kMSkewY], sy, mat[M::kMScaleY], sw, mat[M::kMTransY]);
1066 SkScalar w = sdot(sx, mat[M::kMPersp0], sy, mat[M::kMPersp1], sw, mat[M::kMPersp2]);
1140 SkScalar sx = fMat[kMScaleX];
1141 SkScalar sy = fMat[kMScaleY];
1142 SkScalar tx = fMat[kMTransX];
1143 SkScalar ty = fMat[kMTransY];
1153 SkScalar tx = fMat[kMTransX];
1154 SkScalar ty = fMat[kMTransY];
1178 SkScalar SkMatrix::mapRadius(SkScalar radius) const {
1185 SkScalar d0 = vec[0].length();
1186 SkScalar d1 = vec[1].length();
1194 void SkMatrix::Persp_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1198 SkScalar x = sdot(sx, m.fMat[kMScaleX], sy, m.fMat[kMSkewX]) + m.fMat[kMTransX];
1199 SkScalar y = sdot(sx, m.fMat[kMSkewY], sy, m.fMat[kMScaleY]) + m.fMat[kMTransY];
1200 SkScalar z = sdot(sx, m.fMat[kMPersp0], sy, m.fMat[kMPersp1]) + m.fMat[kMPersp2];
1208 void SkMatrix::RotTrans_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1221 void SkMatrix::Rot_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1236 void SkMatrix::ScaleTrans_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1245 void SkMatrix::Scale_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1256 void SkMatrix::Trans_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1264 void SkMatrix::Identity_xy(const SkMatrix& m, SkScalar sx, SkScalar sy,
1293 SkVector SkMatrix::fixedStepInX(SkScalar y) const {
1299 SkScalar z = y * fMat[kMPersp1] + fMat[kMPersp2];
1447 const SkScalar m[9],
1448 SkScalar results[/*1 or 2*/]) {
1479 SkScalar a = sdot(m[SkMatrix::kMScaleX], m[SkMatrix::kMScaleX],
1481 SkScalar b = sdot(m[SkMatrix::kMScaleX], m[SkMatrix::kMSkewX],
1483 SkScalar c = sdot(m[SkMatrix::kMSkewX], m[SkMatrix::kMSkewX],
1490 SkScalar bSqd = b * b;
1506 SkScalar aminusc = a - c;
1507 SkScalar apluscdiv2 = SkScalarHalf(a + c);
1508 SkScalar x = SkScalarHalf(SkScalarSqrt(aminusc * aminusc + 4 * bSqd));
1540 SkScalar SkMatrix::getMinScale() const {
1541 SkScalar factor;
1549 SkScalar SkMatrix::getMaxScale() const {
1550 SkScalar factor;
1558 bool SkMatrix::getMinMaxScales(SkScalar scaleFactors[2]) const {
1582 const SkScalar sx = SkVector::Length(this->getScaleX(), this->getSkewY());
1583 const SkScalar sy = SkVector::Length(this->getSkewX(), this->getScaleY());
1603 static const size_t sizeInMemory = 9 * sizeof(SkScalar);
1611 static const size_t sizeInMemory = 9 * sizeof(SkScalar);
1718 SkScalar A = matrix[SkMatrix::kMScaleX];
1719 SkScalar B = matrix[SkMatrix::kMSkewX];
1720 SkScalar C = matrix[SkMatrix::kMSkewY];
1721 SkScalar D = matrix[SkMatrix::kMScaleY];
1728 SkScalar cos1, sin1;
1729 SkScalar cos2, sin2;
1732 SkScalar cosQ, sinQ;
1745 SkScalar reciplen = SkScalarInvert(SkScalarSqrt(cosQ*cosQ + sinQ*sinQ));
1780 SkScalar reciplen = SkScalarInvert(SkScalarSqrt(cos1*cos1 + sin1*sin1));
1810 void SkRSXform::toQuad(SkScalar width, SkScalar height, SkPoint quad[4]) const {
1820 const SkScalar m00 = fSCos;
1821 const SkScalar m01 = -fSSin;
1822 const SkScalar m02 = fTx;
1823 const SkScalar m10 = -m01;
1824 const SkScalar m11 = m00;
1825 const SkScalar m12 = fTy;
1834 void SkRSXform::toTriStrip(SkScalar width, SkScalar height, SkPoint strip[4]) const {
1835 const SkScalar m00 = fSCos;
1836 const SkScalar m01 = -fSSin;
1837 const SkScalar m02 = fTx;
1838 const SkScalar m10 = -m01;
1839 const SkScalar m11 = m00;
1840 const SkScalar m12 = fTy;
1850 SkScalar SkMatrixPriv::DifferentialAreaScale(const SkMatrix& m, const SkPoint& p) {