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

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

Issue 1508823002: Minor code cleanups in SkCanvas. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years 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 "SkBitmapDevice.h" 8 #include "SkBitmapDevice.h"
9 #include "SkCanvas.h" 9 #include "SkCanvas.h"
10 #include "SkCanvasPriv.h" 10 #include "SkCanvasPriv.h"
(...skipping 2239 matching lines...) Expand 10 before | Expand all | Expand 10 after
2250 iter.fDevice->drawImage(iter, image, x, y, pnt); 2250 iter.fDevice->drawImage(iter, image, x, y, pnt);
2251 } 2251 }
2252 } 2252 }
2253 2253
2254 LOOPER_END 2254 LOOPER_END
2255 } 2255 }
2256 2256
2257 void SkCanvas::onDrawImageRect(const SkImage* image, const SkRect* src, const Sk Rect& dst, 2257 void SkCanvas::onDrawImageRect(const SkImage* image, const SkRect* src, const Sk Rect& dst,
2258 const SkPaint* paint, SrcRectConstraint constrain t) { 2258 const SkPaint* paint, SrcRectConstraint constrain t) {
2259 TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawImageRect()"); 2259 TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawImageRect()");
2260 SkRect storage;
2261 const SkRect* bounds = &dst;
2262 if (nullptr == paint || paint->canComputeFastBounds()) { 2260 if (nullptr == paint || paint->canComputeFastBounds()) {
2263 storage = dst; 2261 SkRect storage = dst;
2264 if (paint) { 2262 if (paint) {
2265 paint->computeFastBounds(dst, &storage); 2263 paint->computeFastBounds(dst, &storage);
2266 } 2264 }
2267 if (this->quickReject(storage)) { 2265 if (this->quickReject(storage)) {
2268 return; 2266 return;
2269 } 2267 }
2270 } 2268 }
2271 SkLazyPaint lazy; 2269 SkLazyPaint lazy;
2272 if (nullptr == paint) { 2270 if (nullptr == paint) {
2273 paint = lazy.init(); 2271 paint = lazy.init();
2274 } 2272 }
2275 2273
2276 LOOPER_BEGIN_CHECK_COMPLETE_OVERWRITE(*paint, SkDrawFilter::kBitmap_Type, bo unds, 2274 LOOPER_BEGIN_CHECK_COMPLETE_OVERWRITE(*paint, SkDrawFilter::kBitmap_Type, &d st,
2277 image->isOpaque()) 2275 image->isOpaque())
2278 2276
2279 while (iter.next()) { 2277 while (iter.next()) {
2280 iter.fDevice->drawImageRect(iter, image, src, dst, looper.paint(), const raint); 2278 iter.fDevice->drawImageRect(iter, image, src, dst, looper.paint(), const raint);
2281 } 2279 }
2282 2280
2283 LOOPER_END 2281 LOOPER_END
2284 } 2282 }
2285 2283
2286 void SkCanvas::onDrawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y, cons t SkPaint* paint) { 2284 void SkCanvas::onDrawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y, cons t SkPaint* paint) {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
2331 } 2329 }
2332 2330
2333 // this one is non-virtual, so it can be called safely by other canvas apis 2331 // this one is non-virtual, so it can be called safely by other canvas apis
2334 void SkCanvas::internalDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src, 2332 void SkCanvas::internalDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src,
2335 const SkRect& dst, const SkPaint* paint, 2333 const SkRect& dst, const SkPaint* paint,
2336 SrcRectConstraint constraint) { 2334 SrcRectConstraint constraint) {
2337 if (bitmap.drawsNothing() || dst.isEmpty()) { 2335 if (bitmap.drawsNothing() || dst.isEmpty()) {
2338 return; 2336 return;
2339 } 2337 }
2340 2338
2341 SkRect storage;
2342 const SkRect* bounds = &dst;
2343 if (nullptr == paint || paint->canComputeFastBounds()) { 2339 if (nullptr == paint || paint->canComputeFastBounds()) {
2340 SkRect storage;
2344 if (this->quickReject(paint ? paint->computeFastBounds(dst, &storage) : dst)) { 2341 if (this->quickReject(paint ? paint->computeFastBounds(dst, &storage) : dst)) {
2345 return; 2342 return;
2346 } 2343 }
2347 } 2344 }
2348 2345
2349 SkLazyPaint lazy; 2346 SkLazyPaint lazy;
2350 if (nullptr == paint) { 2347 if (nullptr == paint) {
2351 paint = lazy.init(); 2348 paint = lazy.init();
2352 } 2349 }
2353 2350
2354 LOOPER_BEGIN_CHECK_COMPLETE_OVERWRITE(*paint, SkDrawFilter::kBitmap_Type, bo unds, 2351 LOOPER_BEGIN_CHECK_COMPLETE_OVERWRITE(*paint, SkDrawFilter::kBitmap_Type, &d st,
2355 bitmap.isOpaque()) 2352 bitmap.isOpaque())
2356 2353
2357 while (iter.next()) { 2354 while (iter.next()) {
2358 iter.fDevice->drawBitmapRect(iter, bitmap, src, dst, looper.paint(), con straint); 2355 iter.fDevice->drawBitmapRect(iter, bitmap, src, dst, looper.paint(), con straint);
2359 } 2356 }
2360 2357
2361 LOOPER_END 2358 LOOPER_END
2362 } 2359 }
2363 2360
2364 void SkCanvas::onDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst, 2361 void SkCanvas::onDrawBitmapRect(const SkBitmap& bitmap, const SkRect* src, const SkRect& dst,
2365 const SkPaint* paint, SrcRectConstraint constrai nt) { 2362 const SkPaint* paint, SrcRectConstraint constrai nt) {
2366 TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawBitmapRectToRect()") ; 2363 TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawBitmapRectToRect()") ;
2367 SkDEBUGCODE(bitmap.validate();) 2364 SkDEBUGCODE(bitmap.validate();)
2368 this->internalDrawBitmapRect(bitmap, src, dst, paint, constraint); 2365 this->internalDrawBitmapRect(bitmap, src, dst, paint, constraint);
2369 } 2366 }
2370 2367
2371 void SkCanvas::onDrawImageNine(const SkImage* image, const SkIRect& center, cons t SkRect& dst, 2368 void SkCanvas::onDrawImageNine(const SkImage* image, const SkIRect& center, cons t SkRect& dst,
2372 const SkPaint* paint) { 2369 const SkPaint* paint) {
2373 TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawImageNine()"); 2370 TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawImageNine()");
2374 2371
2375 SkRect storage;
2376 const SkRect* bounds = &dst;
2377 if (nullptr == paint || paint->canComputeFastBounds()) { 2372 if (nullptr == paint || paint->canComputeFastBounds()) {
2373 SkRect storage;
2378 if (this->quickReject(paint ? paint->computeFastBounds(dst, &storage) : dst)) { 2374 if (this->quickReject(paint ? paint->computeFastBounds(dst, &storage) : dst)) {
2379 return; 2375 return;
2380 } 2376 }
2381 } 2377 }
2382 2378
2383 SkLazyPaint lazy; 2379 SkLazyPaint lazy;
2384 if (nullptr == paint) { 2380 if (nullptr == paint) {
2385 paint = lazy.init(); 2381 paint = lazy.init();
2386 } 2382 }
2387 2383
2388 LOOPER_BEGIN(*paint, SkDrawFilter::kBitmap_Type, bounds) 2384 LOOPER_BEGIN(*paint, SkDrawFilter::kBitmap_Type, &dst)
2389 2385
2390 while (iter.next()) { 2386 while (iter.next()) {
2391 iter.fDevice->drawImageNine(iter, image, center, dst, looper.paint()); 2387 iter.fDevice->drawImageNine(iter, image, center, dst, looper.paint());
2392 } 2388 }
2393 2389
2394 LOOPER_END 2390 LOOPER_END
2395 } 2391 }
2396 2392
2397 void SkCanvas::onDrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, c onst SkRect& dst, 2393 void SkCanvas::onDrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, c onst SkRect& dst,
2398 const SkPaint* paint) { 2394 const SkPaint* paint) {
2399 TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawBitmapNine()"); 2395 TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawBitmapNine()");
2400 SkDEBUGCODE(bitmap.validate();) 2396 SkDEBUGCODE(bitmap.validate();)
2401 2397
2402 SkRect storage;
2403 const SkRect* bounds = &dst;
2404 if (nullptr == paint || paint->canComputeFastBounds()) { 2398 if (nullptr == paint || paint->canComputeFastBounds()) {
2399 SkRect storage;
2405 if (this->quickReject(paint ? paint->computeFastBounds(dst, &storage) : dst)) { 2400 if (this->quickReject(paint ? paint->computeFastBounds(dst, &storage) : dst)) {
2406 return; 2401 return;
2407 } 2402 }
2408 } 2403 }
2409 2404
2410 SkLazyPaint lazy; 2405 SkLazyPaint lazy;
2411 if (nullptr == paint) { 2406 if (nullptr == paint) {
2412 paint = lazy.init(); 2407 paint = lazy.init();
2413 } 2408 }
2414 2409
2415 LOOPER_BEGIN(*paint, SkDrawFilter::kBitmap_Type, bounds) 2410 LOOPER_BEGIN(*paint, SkDrawFilter::kBitmap_Type, &dst)
2416 2411
2417 while (iter.next()) { 2412 while (iter.next()) {
2418 iter.fDevice->drawBitmapNine(iter, bitmap, center, dst, looper.paint()); 2413 iter.fDevice->drawBitmapNine(iter, bitmap, center, dst, looper.paint());
2419 } 2414 }
2420 2415
2421 LOOPER_END 2416 LOOPER_END
2422 } 2417 }
2423 2418
2424 class SkDeviceFilteredPaint { 2419 class SkDeviceFilteredPaint {
2425 public: 2420 public:
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
3003 } 2998 }
3004 2999
3005 if (matrix) { 3000 if (matrix) {
3006 canvas->concat(*matrix); 3001 canvas->concat(*matrix);
3007 } 3002 }
3008 } 3003 }
3009 3004
3010 SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint() { 3005 SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint() {
3011 fCanvas->restoreToCount(fSaveCount); 3006 fCanvas->restoreToCount(fSaveCount);
3012 } 3007 }
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