Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: src/core/SkCanvas.cpp

Issue 999593002: remove unused params to DeviceCM constructor (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2008 The Android Open Source Project 2 * Copyright 2008 The Android Open Source Project
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkCanvas.h" 8 #include "SkCanvas.h"
9 #include "SkCanvasPriv.h" 9 #include "SkCanvasPriv.h"
10 #include "SkBitmapDevice.h" 10 #include "SkBitmapDevice.h"
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 values: they reflect the top of the save stack, but translated and clipped 107 values: they reflect the top of the save stack, but translated and clipped
108 by the device's XY offset and bitmap-bounds. 108 by the device's XY offset and bitmap-bounds.
109 */ 109 */
110 struct DeviceCM { 110 struct DeviceCM {
111 DeviceCM* fNext; 111 DeviceCM* fNext;
112 SkBaseDevice* fDevice; 112 SkBaseDevice* fDevice;
113 SkRasterClip fClip; 113 SkRasterClip fClip;
114 const SkMatrix* fMatrix; 114 const SkMatrix* fMatrix;
115 SkPaint* fPaint; // may be null (in the future) 115 SkPaint* fPaint; // may be null (in the future)
116 116
117 DeviceCM(SkBaseDevice* device, int x, int y, const SkPaint* paint, SkCanvas* canvas, 117 DeviceCM(SkBaseDevice* device, const SkPaint* paint, SkCanvas* canvas,
118 bool conservativeRasterClip) 118 bool conservativeRasterClip)
119 : fNext(NULL) 119 : fNext(NULL)
120 , fClip(conservativeRasterClip) 120 , fClip(conservativeRasterClip)
121 { 121 {
122 if (NULL != device) { 122 if (NULL != device) {
123 device->ref(); 123 device->ref();
124 device->onAttachToCanvas(canvas); 124 device->onAttachToCanvas(canvas);
125 } 125 }
126 fDevice = device; 126 fDevice = device;
127 fPaint = paint ? SkNEW_ARGS(SkPaint, (*paint)) : NULL; 127 fPaint = paint ? SkNEW_ARGS(SkPaint, (*paint)) : NULL;
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 fCachedLocalClipBoundsDirty = true; 431 fCachedLocalClipBoundsDirty = true;
432 fAllowSoftClip = true; 432 fAllowSoftClip = true;
433 fAllowSimplifyClip = false; 433 fAllowSimplifyClip = false;
434 fDeviceCMDirty = true; 434 fDeviceCMDirty = true;
435 fSaveCount = 1; 435 fSaveCount = 1;
436 fMetaData = NULL; 436 fMetaData = NULL;
437 437
438 fMCRec = (MCRec*)fMCStack.push_back(); 438 fMCRec = (MCRec*)fMCStack.push_back();
439 new (fMCRec) MCRec(fConservativeRasterClip); 439 new (fMCRec) MCRec(fConservativeRasterClip);
440 440
441 fMCRec->fLayer = SkNEW_ARGS(DeviceCM, (NULL, 0, 0, NULL, NULL, fConservative RasterClip)); 441 fMCRec->fLayer = SkNEW_ARGS(DeviceCM, (NULL, NULL, NULL, fConservativeRaster Clip));
442 fMCRec->fTopLayer = fMCRec->fLayer; 442 fMCRec->fTopLayer = fMCRec->fLayer;
443 443
444 fSurfaceBase = NULL; 444 fSurfaceBase = NULL;
445 445
446 fClipStack.reset(SkNEW(SkClipStack)); 446 fClipStack.reset(SkNEW(SkClipStack));
447 447
448 if (device) { 448 if (device) {
449 device->initForRootLayer(fProps.pixelGeometry()); 449 device->initForRootLayer(fProps.pixelGeometry());
450 if (device->forceConservativeRasterClip()) { 450 if (device->forceConservativeRasterClip()) {
451 fConservativeRasterClip = true; 451 fConservativeRasterClip = true;
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 } 831 }
832 832
833 bool SkCanvas::clipRectBounds(const SkRect* bounds, SaveFlags flags, 833 bool SkCanvas::clipRectBounds(const SkRect* bounds, SaveFlags flags,
834 SkIRect* intersection, const SkImageFilter* image Filter) { 834 SkIRect* intersection, const SkImageFilter* image Filter) {
835 SkIRect clipBounds; 835 SkIRect clipBounds;
836 SkRegion::Op op = SkRegion::kIntersect_Op; 836 SkRegion::Op op = SkRegion::kIntersect_Op;
837 if (!this->getClipDeviceBounds(&clipBounds)) { 837 if (!this->getClipDeviceBounds(&clipBounds)) {
838 return false; 838 return false;
839 } 839 }
840 840
841 const SkMatrix& ctm = fMCRec->fMatrix; // this->getTotalMatrix()
842
841 if (imageFilter) { 843 if (imageFilter) {
842 imageFilter->filterBounds(clipBounds, fMCRec->fMatrix, &clipBounds); 844 imageFilter->filterBounds(clipBounds, ctm, &clipBounds);
843 // Filters may grow the bounds beyond the device bounds. 845 // Filters may grow the bounds beyond the device bounds.
844 op = SkRegion::kReplace_Op; 846 op = SkRegion::kReplace_Op;
845 } 847 }
846 SkIRect ir; 848 SkIRect ir;
847 if (bounds) { 849 if (bounds) {
848 SkRect r; 850 SkRect r;
849 851
850 this->getTotalMatrix().mapRect(&r, *bounds); 852 ctm.mapRect(&r, *bounds);
851 r.roundOut(&ir); 853 r.roundOut(&ir);
852 // early exit if the layer's bounds are clipped out 854 // early exit if the layer's bounds are clipped out
853 if (!ir.intersect(clipBounds)) { 855 if (!ir.intersect(clipBounds)) {
854 if (bounds_affects_clip(flags)) { 856 if (bounds_affects_clip(flags)) {
855 fMCRec->fRasterClip.setEmpty(); 857 fMCRec->fRasterClip.setEmpty();
856 } 858 }
857 return false; 859 return false;
858 } 860 }
859 } else { // no user bounds, so just use the clip 861 } else { // no user bounds, so just use the clip
860 ir = clipBounds; 862 ir = clipBounds;
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 } 949 }
948 device = device->onCreateCompatibleDevice(SkBaseDevice::CreateInfo(info, usa ge, 950 device = device->onCreateCompatibleDevice(SkBaseDevice::CreateInfo(info, usa ge,
949 fProps.pi xelGeometry())); 951 fProps.pi xelGeometry()));
950 if (NULL == device) { 952 if (NULL == device) {
951 SkErrorInternals::SetError( kInternalError_SkError, 953 SkErrorInternals::SetError( kInternalError_SkError,
952 "Unable to create device for layer."); 954 "Unable to create device for layer.");
953 return; 955 return;
954 } 956 }
955 957
956 device->setOrigin(ir.fLeft, ir.fTop); 958 device->setOrigin(ir.fLeft, ir.fTop);
957 DeviceCM* layer = SkNEW_ARGS(DeviceCM, 959 DeviceCM* layer = SkNEW_ARGS(DeviceCM, (device, paint, this, fConservativeRa sterClip));
958 (device, ir.fLeft, ir.fTop, paint, this, fConse rvativeRasterClip));
959 device->unref(); 960 device->unref();
960 961
961 layer->fNext = fMCRec->fTopLayer; 962 layer->fNext = fMCRec->fTopLayer;
962 fMCRec->fLayer = layer; 963 fMCRec->fLayer = layer;
963 fMCRec->fTopLayer = layer; // this field is NOT an owner of layer 964 fMCRec->fTopLayer = layer; // this field is NOT an owner of layer
964 } 965 }
965 966
966 int SkCanvas::saveLayerAlpha(const SkRect* bounds, U8CPU alpha) { 967 int SkCanvas::saveLayerAlpha(const SkRect* bounds, U8CPU alpha) {
967 return this->saveLayerAlpha(bounds, alpha, kARGB_ClipLayer_SaveFlag); 968 return this->saveLayerAlpha(bounds, alpha, kARGB_ClipLayer_SaveFlag);
968 } 969 }
(...skipping 1554 matching lines...) Expand 10 before | Expand all | Expand 10 after
2523 } 2524 }
2524 2525
2525 if (matrix) { 2526 if (matrix) {
2526 canvas->concat(*matrix); 2527 canvas->concat(*matrix);
2527 } 2528 }
2528 } 2529 }
2529 2530
2530 SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint() { 2531 SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint() {
2531 fCanvas->restoreToCount(fSaveCount); 2532 fCanvas->restoreToCount(fSaveCount);
2532 } 2533 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698