aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBBoxRecord.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/SkBBoxRecord.cpp')
-rw-r--r--src/core/SkBBoxRecord.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/core/SkBBoxRecord.cpp b/src/core/SkBBoxRecord.cpp
index 69139ad54d..5837a88f5a 100644
--- a/src/core/SkBBoxRecord.cpp
+++ b/src/core/SkBBoxRecord.cpp
@@ -9,6 +9,8 @@
#include "SkBBoxRecord.h"
#include "SkPatchUtils.h"
+#include "SkTextBlob.h"
+
SkBBoxRecord::~SkBBoxRecord() {
fSaveStack.deleteAll();
}
@@ -272,6 +274,20 @@ void SkBBoxRecord::onDrawTextOnPath(const void* text, size_t byteLength, const S
}
}
+void SkBBoxRecord::onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y,
+ const SkPaint& paint) {
+ SkRect bbox = blob->bounds();
+ bbox.offset(x, y);
+ // FIXME: implement implicit blob bounds!
+ if (bbox.isEmpty()) {
+ this->getClipBounds(&bbox);
+ }
+
+ if (this->transformBounds(bbox, &paint)) {
+ INHERITED::onDrawTextBlob(blob, x, y, paint);
+ }
+}
+
void SkBBoxRecord::drawVertices(VertexMode mode, int vertexCount,
const SkPoint vertices[], const SkPoint texs[],
const SkColor colors[], SkXfermode* xfer,