| Index: src/core/SkPaint.cpp
|
| diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp
|
| index 162988beeb145a50e6a3616383a46a6b67d8cfdf..ff08a0a65f571695d0ccc11e53b79d5563a15408 100644
|
| --- a/src/core/SkPaint.cpp
|
| +++ b/src/core/SkPaint.cpp
|
| @@ -1237,6 +1237,21 @@ void SkPaint::getPosTextPath(const void* textData, size_t length,
|
| }
|
| }
|
|
|
| +SkRect SkPaint::getFontBounds() const {
|
| + SkMatrix m;
|
| + m.setScale(fTextSize * fTextScaleX, fTextSize);
|
| + m.postSkew(fTextSkewX, 0);
|
| +
|
| + SkTypeface* typeface = this->getTypeface();
|
| + if (NULL == typeface) {
|
| + typeface = SkTypeface::GetDefaultTypeface();
|
| + }
|
| +
|
| + SkRect bounds;
|
| + m.mapRect(&bounds, typeface->getBounds());
|
| + return bounds;
|
| +}
|
| +
|
| static void add_flattenable(SkDescriptor* desc, uint32_t tag,
|
| SkWriteBuffer* buffer) {
|
| buffer->writeToMemory(desc->addEntry(tag, buffer->bytesWritten(), NULL));
|
|
|