aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/device/xps/SkXPSDevice.cpp8
-rw-r--r--src/utils/SkDeferredCanvas.cpp4
-rw-r--r--src/utils/SkPictureUtils.cpp5
3 files changed, 17 insertions, 0 deletions
diff --git a/src/device/xps/SkXPSDevice.cpp b/src/device/xps/SkXPSDevice.cpp
index 86b8c7d849..4686066dbf 100644
--- a/src/device/xps/SkXPSDevice.cpp
+++ b/src/device/xps/SkXPSDevice.cpp
@@ -1203,6 +1203,14 @@ void SkXPSDevice::drawRect(const SkDraw& d,
this->internalDrawRect(d, r, true, paint);
}
+void SkXPSDevice::drawRRect(const SkDraw& d,
+ const SkRRect& rr,
+ const SkPaint& paint) {
+ SkPath path;
+ path.addRRect(rr);
+ this->drawPath(d, path, paint, NULL, true);
+}
+
void SkXPSDevice::internalDrawRect(const SkDraw& d,
const SkRect& r,
bool transformRect,
diff --git a/src/utils/SkDeferredCanvas.cpp b/src/utils/SkDeferredCanvas.cpp
index ce5eb5e6ab..b94b2feac4 100644
--- a/src/utils/SkDeferredCanvas.cpp
+++ b/src/utils/SkDeferredCanvas.cpp
@@ -137,6 +137,7 @@ void DeferredPipeController::playback(bool silent) {
//-----------------------------------------------------------------------------
// DeferredDevice
//-----------------------------------------------------------------------------
+// FIXME: Derive from SkBaseDevice.
class DeferredDevice : public SkBitmapDevice {
public:
explicit DeferredDevice(SkBaseDevice* immediateDevice);
@@ -197,6 +198,9 @@ protected:
virtual void drawRect(const SkDraw&, const SkRect& r,
const SkPaint& paint) SK_OVERRIDE
{SkASSERT(0);}
+ virtual void drawRRect(const SkDraw&, const SkRRect& rr,
+ const SkPaint& paint) SK_OVERRIDE
+ {SkASSERT(0);}
virtual void drawPath(const SkDraw&, const SkPath& path,
const SkPaint& paint,
const SkMatrix* prePathMatrix = NULL,
diff --git a/src/utils/SkPictureUtils.cpp b/src/utils/SkPictureUtils.cpp
index ce51614654..ffd9aa4429 100644
--- a/src/utils/SkPictureUtils.cpp
+++ b/src/utils/SkPictureUtils.cpp
@@ -46,6 +46,7 @@ static void nothing_to_do() {}
* This device will route all bitmaps (primitives and in shaders) to its PRSet.
* It should never actually draw anything, so there need not be any pixels
* behind its device-bitmap.
+ * FIXME: Derive from SkBaseDevice.
*/
class GatherPixelRefDevice : public SkBitmapDevice {
private:
@@ -93,6 +94,10 @@ public:
const SkPaint& paint) SK_OVERRIDE {
this->addBitmapFromPaint(paint);
}
+ virtual void drawRRect(const SkDraw&, const SkRRect&,
+ const SkPaint& paint) SK_OVERRIDE {
+ this->addBitmapFromPaint(paint);
+ }
virtual void drawOval(const SkDraw&, const SkRect&,
const SkPaint& paint) SK_OVERRIDE {
this->addBitmapFromPaint(paint);