diff --git a/libs/hwui/hwui/MinikinUtils.cpp b/libs/hwui/hwui/MinikinUtils.cpp index b8029087cb4f8..5f6b53ac767fe 100644 --- a/libs/hwui/hwui/MinikinUtils.cpp +++ b/libs/hwui/hwui/MinikinUtils.cpp @@ -21,7 +21,6 @@ #include #include -#include #include "Paint.h" #include "SkPathMeasure.h" #include "Typeface.h" @@ -70,18 +69,6 @@ minikin::Layout MinikinUtils::doLayout(const Paint* paint, minikin::Bidi bidiFla } } -void MinikinUtils::getBounds(const Paint* paint, minikin::Bidi bidiFlags, const Typeface* typeface, - const uint16_t* buf, size_t bufSize, minikin::MinikinRect* out) { - minikin::MinikinPaint minikinPaint = prepareMinikinPaint(paint, typeface); - - const minikin::U16StringPiece textBuf(buf, bufSize); - const minikin::StartHyphenEdit startHyphen = paint->getStartHyphenEdit(); - const minikin::EndHyphenEdit endHyphen = paint->getEndHyphenEdit(); - - minikin::getBounds(textBuf, minikin::Range(0, textBuf.size()), bidiFlags, minikinPaint, - startHyphen, endHyphen, out); -} - float MinikinUtils::measureText(const Paint* paint, minikin::Bidi bidiFlags, const Typeface* typeface, const uint16_t* buf, size_t start, size_t count, size_t bufSize, float* advances) { diff --git a/libs/hwui/hwui/MinikinUtils.h b/libs/hwui/hwui/MinikinUtils.h index a15803ad2dcaa..7c3f0d84a75b2 100644 --- a/libs/hwui/hwui/MinikinUtils.h +++ b/libs/hwui/hwui/MinikinUtils.h @@ -48,9 +48,6 @@ public: size_t contextStart, size_t contextCount, minikin::MeasuredText* mt); - static void getBounds(const Paint* paint, minikin::Bidi bidiFlags, const Typeface* typeface, - const uint16_t* buf, size_t bufSize, minikin::MinikinRect* out); - static float measureText(const Paint* paint, minikin::Bidi bidiFlags, const Typeface* typeface, const uint16_t* buf, size_t start, size_t count, size_t bufSize, diff --git a/libs/hwui/jni/Paint.cpp b/libs/hwui/jni/Paint.cpp index 3c86b28262b03..89ff9b2576426 100644 --- a/libs/hwui/jni/Paint.cpp +++ b/libs/hwui/jni/Paint.cpp @@ -339,13 +339,18 @@ namespace PaintGlue { } static void doTextBounds(JNIEnv* env, const jchar* text, int count, jobject bounds, - const Paint& paint, const Typeface* typeface, jint bidiFlagsInt) { + const Paint& paint, const Typeface* typeface, jint bidiFlags) { SkRect r; SkIRect ir; + minikin::Layout layout = MinikinUtils::doLayout(&paint, + static_cast(bidiFlags), typeface, + text, count, // text buffer + 0, count, // draw range + 0, count, // context range + nullptr); minikin::MinikinRect rect; - minikin::Bidi bidiFlags = static_cast(bidiFlagsInt); - MinikinUtils::getBounds(&paint, bidiFlags, typeface, text, count, &rect); + layout.getBounds(&rect); r.fLeft = rect.mLeft; r.fTop = rect.mTop; r.fRight = rect.mRight;