Lines Matching full:matrix
62 SkAutoBlitterChoose(const SkBitmap& device, const SkMatrix& matrix,
64 fBlitter = SkBlitter::Choose(device, matrix, paint,
73 void choose(const SkBitmap& device, const SkMatrix& matrix,
76 fBlitter = SkBlitter::Choose(device, matrix, paint,
335 bool init(SkCanvas::PointMode, const SkPaint&, const SkMatrix* matrix,
440 // square procs (strokeWidth > 0 but matrix is square-scale (sx == sy)
478 const SkMatrix* matrix, const SkRasterClip* rc) {
492 matrix->rectStaysRect() && SkCanvas::kPoints_PointMode == mode) {
493 SkScalar sx = matrix->get(SkMatrix::kMScaleX);
494 SkScalar sy = matrix->get(SkMatrix::kMScaleY);
567 const SkPaint& paint, const SkMatrix& matrix) {
574 matrix.mapRect(&bounds);
622 const SkMatrix* matrix = fMatrix;
633 matrix->mapPoints(devPts, pts, n);
795 static bool easy_rect_join(const SkPaint& paint, const SkMatrix& matrix,
802 SkASSERT(matrix.rectStaysRect());
804 matrix.mapVectors(strokeSize, &pt, 1);
811 const SkMatrix& matrix,
823 paint.getRasterizer() || !matrix.rectStaysRect() ||
830 } else if (easy_rect_join(paint, matrix, strokeSize)) {
865 const SkMatrix& matrix = *fMatrix;
869 matrix.mapPoints(rect_points(devRect), rect_points(rect), 2);
892 looper.mapMatrix(&localMatrix, matrix);
991 bool SkDrawTreatAsHairline(const SkPaint& paint, const SkMatrix& matrix,
1009 if (matrix.hasPerspective()) {
1016 matrix.mapVectors(dst, src, 2);
1084 const SkMatrix* matrix = fMatrix;
1098 if (!tmpMatrix.setConcat(*matrix, *prePathMatrix)) {
1102 matrix = &tmpMatrix;
1112 if (SkDrawTreatAsHairline(origPaint, *matrix, &coverage)) {
1146 if (paint->getRasterizer()->rasterize(*pathPtr, *matrix,
1159 pathPtr->transform(*matrix, devPathPtr);
1194 /** For the purposes of drawing bitmaps, if a matrix is "almost" translate
1197 static bool just_translate(const SkMatrix& matrix, const SkBitmap& bitmap) {
1200 return SkTreatAsSprite(matrix, bitmap.width(), bitmap.height(), bits);
1256 // now draw our bitmap(src) into mask(dst), transformed by the matrix
1293 static bool clipped_out(const SkMatrix& matrix, const SkRasterClip& clip,
1297 return clipped_out(matrix, clip, r);
1320 SkMatrix matrix;
1321 if (!matrix.setConcat(*fMatrix, prematrix)) {
1325 if (clipped_out(matrix, *fRC, bitmap.width(), bitmap.height())) {
1329 if (fBounder && just_translate(matrix, bitmap)) {
1331 int32_t ix = SkScalarRound(matrix.getTranslateX());
1332 int32_t iy = SkScalarRound(matrix.getTranslateY());
1340 just_translate(matrix, bitmap)) {
1342 // It is safe to call lock pixels now, since we know the matrix is
1349 int ix = SkScalarRound(matrix.getTranslateX());
1350 int iy = SkScalarRound(matrix.getTranslateY());
1370 draw.fMatrix = &matrix;
1426 SkMatrix matrix;
1433 matrix.setTranslate(r.fLeft, r.fTop);
1434 shaderPaint.getShader()->setLocalMatrix(matrix);
1437 matrix.reset();
1438 draw.fMatrix = &matrix;
1478 SkMatrix matrix;
1479 matrix.setScale(iter.getPathScale(), iter.getPathScale());
1480 matrix.postTranslate(x, y);
1486 matrix.postTranslate(xpos - prevXPos, 0);
1490 fDevice->drawPath(*this, *iterPath, pnt, &matrix, false);
1492 this->drawPath(*iterPath, pnt, &matrix, false);
1840 TextMapState(const SkMatrix& matrix, SkScalar y)
1841 : fMatrix(matrix), fProc(matrix.getMapXYProc()), fY(y) {}
1904 SkMatrix matrix;
1905 matrix.setScale(matrixScale, matrixScale);
1925 matrix[SkMatrix::kMTransX] = SkFixedToScalar(fixedLoc.fX);
1926 matrix[SkMatrix::kMTransY] = SkFixedToScalar(fixedLoc.fY);
1928 fDevice->drawPath(*this, *path, paint, &matrix, false);
1930 this->drawPath(*path, paint, &matrix, false);
2089 SkPathMeasure& meas, const SkMatrix& matrix) {
2090 SkMatrix::MapXYProc proc = matrix.getMapXYProc();
2096 proc(matrix, src[i].fX, src[i].fY, &pos);
2106 SkMatrix matrix;
2110 matrix.setSinCos(tangent.fY, tangent.fX);
2111 matrix.preTranslate(-sx, 0);
2112 matrix.postTranslate(pos.fX, pos.fY);
2113 matrix.mapPoints(&dst[i], &pt, 1);
2127 const SkMatrix& matrix) {
2135 morphpoints(dstP, srcP, 1, meas, matrix);
2142 morphpoints(dstP, srcP, 2, meas, matrix);
2146 morphpoints(dstP, &srcP[1], 2, meas, matrix);
2150 morphpoints(dstP, &srcP[1], 3, meas, matrix);
2164 const SkPath& follow, const SkMatrix* matrix,
2199 if (matrix) {
2200 m.postConcat(*matrix);
2215 const SkPath& path, const SkMatrix* matrix) const {
2261 if (matrix) {
2262 m.postConcat(*matrix);
2412 const SkPoint texs[], SkMatrix* matrix) {
2421 return matrix->setPolyToPoly(src, dst, 3);
2614 // Need to recall setContext since we changed the local matrix.
2640 // now restore the shader's original local matrix
2835 SkMatrix matrix;
2842 matrix.setTranslate(-SkIntToScalar(mask.fBounds.fLeft),
2848 draw.fMatrix = &matrix;