Revert "Implement fallback line spacing for BoringLayout"
Revert "Add font extent calculation"
Revert "Add test case for fallback line spacing"
Revert submission 16486662-fallback_line_spacing
Reason for revert: Investigate test failures on master
BUGID: b/213826416
BUGID: b/213829920
Reverted Changes:
I06cd7ab71:Add font extent calculation
I6214d52cd:Implement fallback line spacing for BoringLayout
Ia5825c474:Add test case for fallback line spacing
Change-Id: Ia6d6f9f44e73ddaf5e8fe9a8aead7a53efbddd44
diff --git a/libs/hwui/jni/Paint.cpp b/libs/hwui/jni/Paint.cpp
index f768632..22a1e1f 100644
--- a/libs/hwui/jni/Paint.cpp
+++ b/libs/hwui/jni/Paint.cpp
@@ -541,6 +541,26 @@
return result;
}
+ // ------------------ @FastNative ---------------------------
+
+ static jint setTextLocales(JNIEnv* env, jobject clazz, jlong objHandle, jstring locales) {
+ Paint* obj = reinterpret_cast<Paint*>(objHandle);
+ ScopedUtfChars localesChars(env, locales);
+ jint minikinLocaleListId = minikin::registerLocaleList(localesChars.c_str());
+ obj->setMinikinLocaleListId(minikinLocaleListId);
+ return minikinLocaleListId;
+ }
+
+ static void setFontFeatureSettings(JNIEnv* env, jobject clazz, jlong paintHandle, jstring settings) {
+ Paint* paint = reinterpret_cast<Paint*>(paintHandle);
+ if (!settings) {
+ paint->setFontFeatureSettings(std::string());
+ } else {
+ ScopedUtfChars settingsChars(env, settings);
+ paint->setFontFeatureSettings(std::string(settingsChars.c_str(), settingsChars.size()));
+ }
+ }
+
static SkScalar getMetricsInternal(jlong paintHandle, SkFontMetrics *metrics) {
const int kElegantTop = 2500;
const int kElegantBottom = -1000;
@@ -573,67 +593,6 @@
return spacing;
}
- static void doFontExtent(JNIEnv* env, jlong paintHandle, const jchar buf[], jint start,
- jint count, jint bufSize, jboolean isRtl, jobject fmi) {
- const Paint* paint = reinterpret_cast<Paint*>(paintHandle);
- const Typeface* typeface = paint->getAndroidTypeface();
- minikin::Bidi bidiFlags = isRtl ? minikin::Bidi::FORCE_RTL : minikin::Bidi::FORCE_LTR;
- minikin::MinikinExtent extent =
- MinikinUtils::getFontExtent(paint, bidiFlags, typeface, buf, start, count, bufSize);
-
- SkFontMetrics metrics;
- getMetricsInternal(paintHandle, &metrics);
-
- metrics.fAscent = extent.ascent;
- metrics.fDescent = extent.descent;
-
- // If top/bottom is narrower than ascent/descent, adjust top/bottom to ascent/descent.
- metrics.fTop = std::min(metrics.fAscent, metrics.fTop);
- metrics.fBottom = std::max(metrics.fDescent, metrics.fBottom);
-
- GraphicsJNI::set_metrics_int(env, fmi, metrics);
- }
-
- static void getFontMetricsIntForText___C(JNIEnv* env, jclass, jlong paintHandle,
- jcharArray text, jint start, jint count, jint ctxStart,
- jint ctxCount, jboolean isRtl, jobject fmi) {
- ScopedCharArrayRO textArray(env, text);
-
- doFontExtent(env, paintHandle, textArray.get() + ctxStart, start - ctxStart, count,
- ctxCount, isRtl, fmi);
- }
-
- static void getFontMetricsIntForText___String(JNIEnv* env, jclass, jlong paintHandle,
- jstring text, jint start, jint count,
- jint ctxStart, jint ctxCount, jboolean isRtl,
- jobject fmi) {
- ScopedStringChars textChars(env, text);
-
- doFontExtent(env, paintHandle, textChars.get() + ctxStart, start - ctxStart, count,
- ctxCount, isRtl, fmi);
- }
-
- // ------------------ @FastNative ---------------------------
-
- static jint setTextLocales(JNIEnv* env, jobject clazz, jlong objHandle, jstring locales) {
- Paint* obj = reinterpret_cast<Paint*>(objHandle);
- ScopedUtfChars localesChars(env, locales);
- jint minikinLocaleListId = minikin::registerLocaleList(localesChars.c_str());
- obj->setMinikinLocaleListId(minikinLocaleListId);
- return minikinLocaleListId;
- }
-
- static void setFontFeatureSettings(JNIEnv* env, jobject clazz, jlong paintHandle,
- jstring settings) {
- Paint* paint = reinterpret_cast<Paint*>(paintHandle);
- if (!settings) {
- paint->setFontFeatureSettings(std::string());
- } else {
- ScopedUtfChars settingsChars(env, settings);
- paint->setFontFeatureSettings(std::string(settingsChars.c_str(), settingsChars.size()));
- }
- }
-
static jfloat getFontMetrics(JNIEnv* env, jobject, jlong paintHandle, jobject metricsObj) {
SkFontMetrics metrics;
SkScalar spacing = getMetricsInternal(paintHandle, &metrics);
@@ -1056,11 +1015,6 @@
{"nGetRunAdvance", "(J[CIIIIZI)F", (void*) PaintGlue::getRunAdvance___CIIIIZI_F},
{"nGetOffsetForAdvance", "(J[CIIIIZF)I",
(void*) PaintGlue::getOffsetForAdvance___CIIIIZF_I},
- {"nGetFontMetricsIntForText", "(J[CIIIIZLandroid/graphics/Paint$FontMetricsInt;)V",
- (void*)PaintGlue::getFontMetricsIntForText___C},
- {"nGetFontMetricsIntForText",
- "(JLjava/lang/String;IIIIZLandroid/graphics/Paint$FontMetricsInt;)V",
- (void*)PaintGlue::getFontMetricsIntForText___String},
// --------------- @FastNative ----------------------
@@ -1139,7 +1093,6 @@
{"nEqualsForTextMeasurement", "(JJ)Z", (void*)PaintGlue::equalsForTextMeasurement},
};
-
int register_android_graphics_Paint(JNIEnv* env) {
return RegisterMethodsOrDie(env, "android/graphics/Paint", methods, NELEM(methods));
}