| OLD | NEW |
| 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 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 805 // can decide to just make it a field in the device (rather than a ptr) | 805 // can decide to just make it a field in the device (rather than a ptr) |
| 806 if (nullptr == fMetaData) { | 806 if (nullptr == fMetaData) { |
| 807 fMetaData = new SkMetaData; | 807 fMetaData = new SkMetaData; |
| 808 } | 808 } |
| 809 return *fMetaData; | 809 return *fMetaData; |
| 810 } | 810 } |
| 811 | 811 |
| 812 /////////////////////////////////////////////////////////////////////////////// | 812 /////////////////////////////////////////////////////////////////////////////// |
| 813 | 813 |
| 814 void SkCanvas::flush() { | 814 void SkCanvas::flush() { |
| 815 this->onFlush(); |
| 816 } |
| 817 |
| 818 void SkCanvas::onFlush() { |
| 815 SkBaseDevice* device = this->getDevice(); | 819 SkBaseDevice* device = this->getDevice(); |
| 816 if (device) { | 820 if (device) { |
| 817 device->flush(); | 821 device->flush(); |
| 818 } | 822 } |
| 819 } | 823 } |
| 820 | 824 |
| 821 SkISize SkCanvas::getBaseLayerSize() const { | 825 SkISize SkCanvas::getBaseLayerSize() const { |
| 822 SkBaseDevice* d = this->getDevice(); | 826 SkBaseDevice* d = this->getDevice(); |
| 823 return d ? SkISize::Make(d->width(), d->height()) : SkISize::Make(0, 0); | 827 return d ? SkISize::Make(d->width(), d->height()) : SkISize::Make(0, 0); |
| 824 } | 828 } |
| (...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1364 } | 1368 } |
| 1365 return this->onNewSurface(info, *props); | 1369 return this->onNewSurface(info, *props); |
| 1366 } | 1370 } |
| 1367 | 1371 |
| 1368 sk_sp<SkSurface> SkCanvas::onNewSurface(const SkImageInfo& info, const SkSurface
Props& props) { | 1372 sk_sp<SkSurface> SkCanvas::onNewSurface(const SkImageInfo& info, const SkSurface
Props& props) { |
| 1369 SkBaseDevice* dev = this->getDevice(); | 1373 SkBaseDevice* dev = this->getDevice(); |
| 1370 return dev ? dev->makeSurface(info, props) : nullptr; | 1374 return dev ? dev->makeSurface(info, props) : nullptr; |
| 1371 } | 1375 } |
| 1372 | 1376 |
| 1373 SkImageInfo SkCanvas::imageInfo() const { | 1377 SkImageInfo SkCanvas::imageInfo() const { |
| 1378 return this->onImageInfo(); |
| 1379 } |
| 1380 |
| 1381 SkImageInfo SkCanvas::onImageInfo() const { |
| 1374 SkBaseDevice* dev = this->getDevice(); | 1382 SkBaseDevice* dev = this->getDevice(); |
| 1375 if (dev) { | 1383 if (dev) { |
| 1376 return dev->imageInfo(); | 1384 return dev->imageInfo(); |
| 1377 } else { | 1385 } else { |
| 1378 return SkImageInfo::MakeUnknown(0, 0); | 1386 return SkImageInfo::MakeUnknown(0, 0); |
| 1379 } | 1387 } |
| 1380 } | 1388 } |
| 1381 | 1389 |
| 1382 bool SkCanvas::getProps(SkSurfaceProps* props) const { | 1390 bool SkCanvas::getProps(SkSurfaceProps* props) const { |
| 1391 return this->onGetProps(props); |
| 1392 } |
| 1393 |
| 1394 bool SkCanvas::onGetProps(SkSurfaceProps* props) const { |
| 1383 SkBaseDevice* dev = this->getDevice(); | 1395 SkBaseDevice* dev = this->getDevice(); |
| 1384 if (dev) { | 1396 if (dev) { |
| 1385 if (props) { | 1397 if (props) { |
| 1386 *props = fProps; | 1398 *props = fProps; |
| 1387 } | 1399 } |
| 1388 return true; | 1400 return true; |
| 1389 } else { | 1401 } else { |
| 1390 return false; | 1402 return false; |
| 1391 } | 1403 } |
| 1392 } | 1404 } |
| (...skipping 1494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2887 | 2899 |
| 2888 SkRect r; | 2900 SkRect r; |
| 2889 r.set(cx - radius, cy - radius, cx + radius, cy + radius); | 2901 r.set(cx - radius, cy - radius, cx + radius, cy + radius); |
| 2890 this->drawOval(r, paint); | 2902 this->drawOval(r, paint); |
| 2891 } | 2903 } |
| 2892 | 2904 |
| 2893 void SkCanvas::drawRoundRect(const SkRect& r, SkScalar rx, SkScalar ry, | 2905 void SkCanvas::drawRoundRect(const SkRect& r, SkScalar rx, SkScalar ry, |
| 2894 const SkPaint& paint) { | 2906 const SkPaint& paint) { |
| 2895 TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawRoundRect()"); | 2907 TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawRoundRect()"); |
| 2896 if (rx > 0 && ry > 0) { | 2908 if (rx > 0 && ry > 0) { |
| 2897 if (paint.canComputeFastBounds()) { | |
| 2898 SkRect storage; | |
| 2899 if (this->quickReject(paint.computeFastBounds(r, &storage))) { | |
| 2900 return; | |
| 2901 } | |
| 2902 } | |
| 2903 SkRRect rrect; | 2909 SkRRect rrect; |
| 2904 rrect.setRectXY(r, rx, ry); | 2910 rrect.setRectXY(r, rx, ry); |
| 2905 this->drawRRect(rrect, paint); | 2911 this->drawRRect(rrect, paint); |
| 2906 } else { | 2912 } else { |
| 2907 this->drawRect(r, paint); | 2913 this->drawRect(r, paint); |
| 2908 } | 2914 } |
| 2909 } | 2915 } |
| 2910 | 2916 |
| 2911 void SkCanvas::drawArc(const SkRect& oval, SkScalar startAngle, | 2917 void SkCanvas::drawArc(const SkRect& oval, SkScalar startAngle, |
| 2912 SkScalar sweepAngle, bool useCenter, | 2918 SkScalar sweepAngle, bool useCenter, |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3094 | 3100 |
| 3095 SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint() { | 3101 SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint() { |
| 3096 fCanvas->restoreToCount(fSaveCount); | 3102 fCanvas->restoreToCount(fSaveCount); |
| 3097 } | 3103 } |
| 3098 | 3104 |
| 3099 #ifdef SK_SUPPORT_LEGACY_NEW_SURFACE_API | 3105 #ifdef SK_SUPPORT_LEGACY_NEW_SURFACE_API |
| 3100 SkSurface* SkCanvas::newSurface(const SkImageInfo& info, const SkSurfaceProps* p
rops) { | 3106 SkSurface* SkCanvas::newSurface(const SkImageInfo& info, const SkSurfaceProps* p
rops) { |
| 3101 return this->makeSurface(info, props).release(); | 3107 return this->makeSurface(info, props).release(); |
| 3102 } | 3108 } |
| 3103 #endif | 3109 #endif |
| OLD | NEW |