Follow the minikin namespace changes
Bug: 29233740
Change-Id: I0ec7c5c88e64daa626751d3a03e24b9c36521c17
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 72bfc88..a6844e8 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -6761,6 +6761,7 @@
BoringLayout.Metrics boring,
BoringLayout.Metrics hintBoring,
int ellipsisWidth, boolean bringIntoView) {
+ android.util.Log.e("TextView", "makeNewLayout", new Exception());
stopMarquee();
// Update "old" cached values
diff --git a/core/jni/android/graphics/FontFamily.cpp b/core/jni/android/graphics/FontFamily.cpp
index 3ff75dc..1232675 100644
--- a/core/jni/android/graphics/FontFamily.cpp
+++ b/core/jni/android/graphics/FontFamily.cpp
@@ -41,21 +41,21 @@
static jlong FontFamily_create(JNIEnv* env, jobject clazz, jstring lang, jint variant) {
if (lang == NULL) {
- return (jlong)new FontFamily(variant);
+ return (jlong)new minikin::FontFamily(variant);
}
ScopedUtfChars str(env, lang);
- uint32_t langId = FontStyle::registerLanguageList(str.c_str());
- return (jlong)new FontFamily(langId, variant);
+ uint32_t langId = minikin::FontStyle::registerLanguageList(str.c_str());
+ return (jlong)new minikin::FontFamily(langId, variant);
}
static void FontFamily_unref(JNIEnv* env, jobject clazz, jlong familyPtr) {
- FontFamily* fontFamily = reinterpret_cast<FontFamily*>(familyPtr);
+ minikin::FontFamily* fontFamily = reinterpret_cast<minikin::FontFamily*>(familyPtr);
fontFamily->Unref();
}
-static jboolean addSkTypeface(FontFamily* family, SkTypeface* face, const void* fontData,
+static jboolean addSkTypeface(minikin::FontFamily* family, SkTypeface* face, const void* fontData,
size_t fontSize, int ttcIndex) {
- MinikinFont* minikinFont = new MinikinFontSkia(face, fontData, fontSize, ttcIndex);
+ minikin::MinikinFont* minikinFont = new MinikinFontSkia(face, fontData, fontSize, ttcIndex);
bool result = family->addFont(minikinFont);
minikinFont->Unref();
return result;
@@ -111,7 +111,7 @@
ALOGE("addFont failed to create font");
return false;
}
- FontFamily* fontFamily = reinterpret_cast<FontFamily*>(familyPtr);
+ minikin::FontFamily* fontFamily = reinterpret_cast<minikin::FontFamily*>(familyPtr);
return addSkTypeface(fontFamily, face, fontPtr, (size_t)fontSize, ttcIndex);
}
@@ -177,9 +177,10 @@
ALOGE("addFont failed to create font, invalid request");
return false;
}
- FontFamily* fontFamily = reinterpret_cast<FontFamily*>(familyPtr);
- MinikinFont* minikinFont = new MinikinFontSkia(face, fontPtr, (size_t)fontSize, ttcIndex);
- fontFamily->addFont(minikinFont, FontStyle(weight / 100, isItalic));
+ minikin::FontFamily* fontFamily = reinterpret_cast<minikin::FontFamily*>(familyPtr);
+ minikin::MinikinFont* minikinFont =
+ new MinikinFontSkia(face, fontPtr, (size_t)fontSize, ttcIndex);
+ fontFamily->addFont(minikinFont, minikin::FontStyle(weight / 100, isItalic));
minikinFont->Unref();
return true;
}
@@ -219,7 +220,7 @@
ALOGE("addFontFromAsset failed to create font %s", str.c_str());
return false;
}
- FontFamily* fontFamily = reinterpret_cast<FontFamily*>(familyPtr);
+ minikin::FontFamily* fontFamily = reinterpret_cast<minikin::FontFamily*>(familyPtr);
return addSkTypeface(fontFamily, face, buf, bufSize, /* ttcIndex */ 0);
}
diff --git a/core/jni/android/graphics/Paint.cpp b/core/jni/android/graphics/Paint.cpp
index 898cf77..b586c43 100644
--- a/core/jni/android/graphics/Paint.cpp
+++ b/core/jni/android/graphics/Paint.cpp
@@ -319,7 +319,7 @@
static jint setTextLocales(JNIEnv* env, jobject clazz, jlong objHandle, jstring locales) {
Paint* obj = reinterpret_cast<Paint*>(objHandle);
ScopedUtfChars localesChars(env, locales);
- jint minikinLangListId = FontStyle::registerLanguageList(localesChars.c_str());
+ jint minikinLangListId = minikin::FontStyle::registerLanguageList(localesChars.c_str());
obj->setMinikinLangListId(minikinLangListId);
return minikinLangListId;
}
@@ -332,12 +332,12 @@
static jboolean isElegantTextHeight(JNIEnv* env, jobject, jlong paintHandle) {
Paint* obj = reinterpret_cast<Paint*>(paintHandle);
- return obj->getFontVariant() == VARIANT_ELEGANT;
+ return obj->getFontVariant() == minikin::VARIANT_ELEGANT;
}
static void setElegantTextHeight(JNIEnv* env, jobject, jlong paintHandle, jboolean aa) {
Paint* obj = reinterpret_cast<Paint*>(paintHandle);
- obj->setFontVariant(aa ? VARIANT_ELEGANT : VARIANT_DEFAULT);
+ obj->setFontVariant(aa ? minikin::VARIANT_ELEGANT : minikin::VARIANT_DEFAULT);
}
static jfloat getTextSize(JNIEnv* env, jobject, jlong paintHandle) {
@@ -404,7 +404,7 @@
Paint* paint = reinterpret_cast<Paint*>(paintHandle);
Typeface* typeface = reinterpret_cast<Typeface*>(typefaceHandle);
typeface = Typeface::resolveDefault(typeface);
- FakedFont baseFont = typeface->fFontCollection->baseFontFaked(typeface->fStyle);
+ minikin::FakedFont baseFont = typeface->fFontCollection->baseFontFaked(typeface->fStyle);
float saveSkewX = paint->getTextSkewX();
bool savefakeBold = paint->isFakeBoldText();
MinikinFontSkia::populateSkPaint(paint, baseFont.font, baseFont.fakery);
@@ -414,7 +414,7 @@
// restore the original settings.
paint->setTextSkewX(saveSkewX);
paint->setFakeBoldText(savefakeBold);
- if (paint->getFontVariant() == VARIANT_ELEGANT) {
+ if (paint->getFontVariant() == minikin::VARIANT_ELEGANT) {
SkScalar size = paint->getTextSize();
metrics->fTop = -size * kElegantTop / 2048;
metrics->fBottom = -size * kElegantBottom / 2048;
@@ -534,8 +534,9 @@
static jint doTextRunCursor(JNIEnv *env, Paint* paint, const jchar *text, jint start,
jint count, jint flags, jint offset, jint opt) {
- GraphemeBreak::MoveOpt moveOpt = GraphemeBreak::MoveOpt(opt);
- size_t result = GraphemeBreak::getTextRunCursor(text, start, count, offset, moveOpt);
+ minikin::GraphemeBreak::MoveOpt moveOpt = minikin::GraphemeBreak::MoveOpt(opt);
+ size_t result = minikin::GraphemeBreak::getTextRunCursor(text, start, count, offset,
+ moveOpt);
return static_cast<jint>(result);
}
@@ -561,8 +562,8 @@
class GetTextFunctor {
public:
- GetTextFunctor(const Layout& layout, SkPath* path, jfloat x, jfloat y, Paint* paint,
- uint16_t* glyphs, SkPoint* pos)
+ GetTextFunctor(const minikin::Layout& layout, SkPath* path, jfloat x, jfloat y,
+ Paint* paint, uint16_t* glyphs, SkPoint* pos)
: layout(layout), path(path), x(x), y(y), paint(paint), glyphs(glyphs), pos(pos) {
}
@@ -580,7 +581,7 @@
}
}
private:
- const Layout& layout;
+ const minikin::Layout& layout;
SkPath* path;
jfloat x;
jfloat y;
@@ -592,7 +593,7 @@
static void getTextPath(JNIEnv* env, Paint* paint, Typeface* typeface, const jchar* text,
jint count, jint bidiFlags, jfloat x, jfloat y, SkPath* path) {
- Layout layout;
+ minikin::Layout layout;
MinikinUtils::doLayout(&layout, paint, bidiFlags, typeface, text, 0, count, count);
size_t nGlyphs = layout.nGlyphs();
uint16_t* glyphs = new uint16_t[nGlyphs];
@@ -728,9 +729,9 @@
SkRect r;
SkIRect ir;
- Layout layout;
+ minikin::Layout layout;
MinikinUtils::doLayout(&layout, &paint, bidiFlags, typeface, text, 0, count, count);
- MinikinRect rect;
+ minikin::MinikinRect rect;
layout.getBounds(&rect);
r.fLeft = rect.mLeft;
r.fTop = rect.mTop;
@@ -759,7 +760,7 @@
JNI_ABORT);
}
- static jboolean layoutContainsNotdef(const Layout& layout) {
+ static jboolean layoutContainsNotdef(const minikin::Layout& layout) {
for (size_t i = 0; i < layout.nGlyphs(); i++) {
if (layout.getGlyphId(i) == 0) {
return true;
@@ -828,7 +829,7 @@
nChars++;
prevCp = cp;
}
- Layout layout;
+ minikin::Layout layout;
MinikinUtils::doLayout(&layout, paint, bidiFlags, typeface, str.get(), 0, str.size(),
str.size());
size_t nGlyphs = layout.nGlyphs();
@@ -849,7 +850,7 @@
// since ZZ is reserved for unknown or invalid territory.
// U+1F1FF (REGIONAL INDICATOR SYMBOL LETTER Z) is \uD83C\uDDFF in UTF16.
static const jchar ZZ_FLAG_STR[] = { 0xD83C, 0xDDFF, 0xD83C, 0xDDFF };
- Layout zzLayout;
+ minikin::Layout zzLayout;
MinikinUtils::doLayout(&zzLayout, paint, bidiFlags, typeface, ZZ_FLAG_STR, 0, 4, 4);
if (zzLayout.nGlyphs() != 1 || layoutContainsNotdef(zzLayout)) {
// The font collection doesn't have a glyph for unknown flag. Just return true.
@@ -862,7 +863,7 @@
static jfloat doRunAdvance(const Paint* paint, Typeface* typeface, const jchar buf[],
jint start, jint count, jint bufSize, jboolean isRtl, jint offset) {
- int bidiFlags = isRtl ? kBidi_Force_RTL : kBidi_Force_LTR;
+ int bidiFlags = isRtl ? minikin::kBidi_Force_RTL : minikin::kBidi_Force_LTR;
if (offset == start + count) {
return MinikinUtils::measureText(paint, bidiFlags, typeface, buf, start, count,
bufSize, nullptr);
@@ -870,7 +871,7 @@
std::unique_ptr<float[]> advancesArray(new float[count]);
MinikinUtils::measureText(paint, bidiFlags, typeface, buf, start, count, bufSize,
advancesArray.get());
- return getRunAdvance(advancesArray.get(), buf, start, count, offset);
+ return minikin::getRunAdvance(advancesArray.get(), buf, start, count, offset);
}
static jfloat getRunAdvance___CIIIIZI_F(JNIEnv *env, jclass, jlong paintHandle,
@@ -888,11 +889,11 @@
static jint doOffsetForAdvance(const Paint* paint, Typeface* typeface, const jchar buf[],
jint start, jint count, jint bufSize, jboolean isRtl, jfloat advance) {
- int bidiFlags = isRtl ? kBidi_Force_RTL : kBidi_Force_LTR;
+ int bidiFlags = isRtl ? minikin::kBidi_Force_RTL : minikin::kBidi_Force_LTR;
std::unique_ptr<float[]> advancesArray(new float[count]);
MinikinUtils::measureText(paint, bidiFlags, typeface, buf, start, count, bufSize,
advancesArray.get());
- return getOffsetForAdvance(advancesArray.get(), buf, start, count, advance);
+ return minikin::getOffsetForAdvance(advancesArray.get(), buf, start, count, advance);
}
static jint getOffsetForAdvance___CIIIIZF_I(JNIEnv *env, jclass, jlong paintHandle,
diff --git a/core/jni/android/graphics/Typeface.cpp b/core/jni/android/graphics/Typeface.cpp
index 9a53cad..7fc79d2 100644
--- a/core/jni/android/graphics/Typeface.cpp
+++ b/core/jni/android/graphics/Typeface.cpp
@@ -60,9 +60,9 @@
static jlong Typeface_createFromArray(JNIEnv *env, jobject, jlongArray familyArray) {
ScopedLongArrayRO families(env, familyArray);
- std::vector<FontFamily*> familyVec;
+ std::vector<minikin::FontFamily*> familyVec;
for (size_t i = 0; i < families.size(); i++) {
- FontFamily* family = reinterpret_cast<FontFamily*>(families[i]);
+ minikin::FontFamily* family = reinterpret_cast<minikin::FontFamily*>(families[i]);
familyVec.push_back(family);
}
return reinterpret_cast<jlong>(Typeface::createFromFamilies(familyVec));
diff --git a/core/jni/android_graphics_Canvas.cpp b/core/jni/android_graphics_Canvas.cpp
index ded4dac..03a50dd 100644
--- a/core/jni/android_graphics_Canvas.cpp
+++ b/core/jni/android_graphics_Canvas.cpp
@@ -503,7 +503,7 @@
Paint* paint = reinterpret_cast<Paint*>(paintHandle);
Typeface* typeface = reinterpret_cast<Typeface*>(typefaceHandle);
- const int bidiFlags = isRtl ? kBidi_Force_RTL : kBidi_Force_LTR;
+ const int bidiFlags = isRtl ? minikin::kBidi_Force_RTL : minikin::kBidi_Force_LTR;
jchar* jchars = env->GetCharArrayElements(text, NULL);
get_canvas(canvasHandle)->drawText(jchars + contextIndex, index - contextIndex, count,
contextCount, x, y, bidiFlags, *paint, typeface);
@@ -517,7 +517,7 @@
Paint* paint = reinterpret_cast<Paint*>(paintHandle);
Typeface* typeface = reinterpret_cast<Typeface*>(typefaceHandle);
- int bidiFlags = isRtl ? kBidi_Force_RTL : kBidi_Force_LTR;
+ int bidiFlags = isRtl ? minikin::kBidi_Force_RTL : minikin::kBidi_Force_LTR;
jint count = end - start;
jint contextCount = contextEnd - contextStart;
const jchar* jchars = env->GetStringChars(text, NULL);
@@ -567,7 +567,7 @@
}
static void freeTextLayoutCaches(JNIEnv* env, jobject) {
- Layout::purgeCaches();
+ minikin::Layout::purgeCaches();
}
}; // namespace CanvasJNI
diff --git a/core/jni/android_text_StaticLayout.cpp b/core/jni/android_text_StaticLayout.cpp
index 13e4f1a..02fa872 100644
--- a/core/jni/android_text_StaticLayout.cpp
+++ b/core/jni/android_text_StaticLayout.cpp
@@ -55,7 +55,7 @@
static void nSetupParagraph(JNIEnv* env, jclass, jlong nativePtr, jcharArray text, jint length,
jfloat firstWidth, jint firstWidthLineLimit, jfloat restWidth,
jintArray variableTabStops, jint defaultTabStop, jint strategy, jint hyphenFrequency) {
- LineBreaker* b = reinterpret_cast<LineBreaker*>(nativePtr);
+ minikin::LineBreaker* b = reinterpret_cast<minikin::LineBreaker*>(nativePtr);
b->resize(length);
env->GetCharArrayRegion(text, 0, length, b->buffer());
b->setText();
@@ -66,8 +66,8 @@
ScopedIntArrayRO stops(env, variableTabStops);
b->setTabStops(stops.get(), stops.size(), defaultTabStop);
}
- b->setStrategy(static_cast<BreakStrategy>(strategy));
- b->setHyphenationFrequency(static_cast<HyphenationFrequency>(hyphenFrequency));
+ b->setStrategy(static_cast<minikin::BreakStrategy>(strategy));
+ b->setHyphenationFrequency(static_cast<minikin::HyphenationFrequency>(hyphenFrequency));
}
static void recycleCopy(JNIEnv* env, jobject recycle, jintArray recycleBreaks,
@@ -94,7 +94,7 @@
jobject recycle, jintArray recycleBreaks,
jfloatArray recycleWidths, jintArray recycleFlags,
jint recycleLength) {
- LineBreaker* b = reinterpret_cast<LineBreaker*>(nativePtr);
+ minikin::LineBreaker* b = reinterpret_cast<minikin::LineBreaker*>(nativePtr);
size_t nBreaks = b->computeBreaks();
@@ -107,15 +107,15 @@
}
static jlong nNewBuilder(JNIEnv*, jclass) {
- return reinterpret_cast<jlong>(new LineBreaker);
+ return reinterpret_cast<jlong>(new minikin::LineBreaker);
}
static void nFreeBuilder(JNIEnv*, jclass, jlong nativePtr) {
- delete reinterpret_cast<LineBreaker*>(nativePtr);
+ delete reinterpret_cast<minikin::LineBreaker*>(nativePtr);
}
static void nFinishBuilder(JNIEnv*, jclass, jlong nativePtr) {
- LineBreaker* b = reinterpret_cast<LineBreaker*>(nativePtr);
+ minikin::LineBreaker* b = reinterpret_cast<minikin::LineBreaker*>(nativePtr);
b->finish();
}
@@ -129,15 +129,15 @@
ALOGE("failed to get direct buffer address");
}
}
- Hyphenator* hyphenator = Hyphenator::loadBinary(bytebuf);
+ minikin::Hyphenator* hyphenator = minikin::Hyphenator::loadBinary(bytebuf);
return reinterpret_cast<jlong>(hyphenator);
}
static void nSetLocale(JNIEnv* env, jclass, jlong nativePtr, jstring javaLocaleName,
jlong nativeHyphenator) {
ScopedIcuLocale icuLocale(env, javaLocaleName);
- LineBreaker* b = reinterpret_cast<LineBreaker*>(nativePtr);
- Hyphenator* hyphenator = reinterpret_cast<Hyphenator*>(nativeHyphenator);
+ minikin::LineBreaker* b = reinterpret_cast<minikin::LineBreaker*>(nativePtr);
+ minikin::Hyphenator* hyphenator = reinterpret_cast<minikin::Hyphenator*>(nativeHyphenator);
if (icuLocale.valid()) {
b->setLocale(icuLocale.locale(), hyphenator);
@@ -147,38 +147,39 @@
static void nSetIndents(JNIEnv* env, jclass, jlong nativePtr, jintArray indents) {
ScopedIntArrayRO indentArr(env, indents);
std::vector<float> indentVec(indentArr.get(), indentArr.get() + indentArr.size());
- LineBreaker* b = reinterpret_cast<LineBreaker*>(nativePtr);
+ minikin::LineBreaker* b = reinterpret_cast<minikin::LineBreaker*>(nativePtr);
b->setIndents(indentVec);
}
// Basically similar to Paint.getTextRunAdvances but with C++ interface
static jfloat nAddStyleRun(JNIEnv* env, jclass, jlong nativePtr,
jlong nativePaint, jlong nativeTypeface, jint start, jint end, jboolean isRtl) {
- LineBreaker* b = reinterpret_cast<LineBreaker*>(nativePtr);
+ minikin::LineBreaker* b = reinterpret_cast<minikin::LineBreaker*>(nativePtr);
Paint* paint = reinterpret_cast<Paint*>(nativePaint);
Typeface* typeface = reinterpret_cast<Typeface*>(nativeTypeface);
- FontCollection *font;
- MinikinPaint minikinPaint;
- FontStyle style = MinikinUtils::prepareMinikinPaint(&minikinPaint, &font, paint, typeface);
+ minikin::FontCollection *font;
+ minikin::MinikinPaint minikinPaint;
+ minikin::FontStyle style = MinikinUtils::prepareMinikinPaint(&minikinPaint, &font, paint,
+ typeface);
return b->addStyleRun(&minikinPaint, font, style, start, end, isRtl);
}
// Accept width measurements for the run, passed in from Java
static void nAddMeasuredRun(JNIEnv* env, jclass, jlong nativePtr,
jint start, jint end, jfloatArray widths) {
- LineBreaker* b = reinterpret_cast<LineBreaker*>(nativePtr);
+ minikin::LineBreaker* b = reinterpret_cast<minikin::LineBreaker*>(nativePtr);
env->GetFloatArrayRegion(widths, start, end - start, b->charWidths() + start);
- b->addStyleRun(nullptr, nullptr, FontStyle{}, start, end, false);
+ b->addStyleRun(nullptr, nullptr, minikin::FontStyle{}, start, end, false);
}
static void nAddReplacementRun(JNIEnv* env, jclass, jlong nativePtr,
jint start, jint end, jfloat width) {
- LineBreaker* b = reinterpret_cast<LineBreaker*>(nativePtr);
+ minikin::LineBreaker* b = reinterpret_cast<minikin::LineBreaker*>(nativePtr);
b->addReplacement(start, end, width);
}
static void nGetWidths(JNIEnv* env, jclass, jlong nativePtr, jfloatArray widths) {
- LineBreaker* b = reinterpret_cast<LineBreaker*>(nativePtr);
+ minikin::LineBreaker* b = reinterpret_cast<minikin::LineBreaker*>(nativePtr);
env->SetFloatArrayRegion(widths, 0, b->size(), b->charWidths());
}
diff --git a/libs/hwui/hwui/Canvas.cpp b/libs/hwui/hwui/Canvas.cpp
index 7bfa15a..dd0d72b 100644
--- a/libs/hwui/hwui/Canvas.cpp
+++ b/libs/hwui/hwui/Canvas.cpp
@@ -79,8 +79,9 @@
class DrawTextFunctor {
public:
- DrawTextFunctor(const Layout& layout, Canvas* canvas, uint16_t* glyphs, float* pos,
- const SkPaint& paint, float x, float y, MinikinRect& bounds, float totalAdvance)
+ DrawTextFunctor(const minikin::Layout& layout, Canvas* canvas, uint16_t* glyphs, float* pos,
+ const SkPaint& paint, float x, float y, minikin::MinikinRect& bounds,
+ float totalAdvance)
: layout(layout)
, canvas(canvas)
, glyphs(glyphs)
@@ -135,14 +136,14 @@
}
}
private:
- const Layout& layout;
+ const minikin::Layout& layout;
Canvas* canvas;
uint16_t* glyphs;
float* pos;
const SkPaint& paint;
float x;
float y;
- MinikinRect& bounds;
+ minikin::MinikinRect& bounds;
float totalAdvance;
};
@@ -151,7 +152,7 @@
// minikin may modify the original paint
Paint paint(origPaint);
- Layout layout;
+ minikin::Layout layout;
MinikinUtils::doLayout(&layout, &paint, bidiFlags, typeface, text, start, count, contextCount);
size_t nGlyphs = layout.nGlyphs();
@@ -160,7 +161,7 @@
x += MinikinUtils::xOffsetForTextAlign(&paint, layout);
- MinikinRect bounds;
+ minikin::MinikinRect bounds;
layout.getBounds(&bounds);
if (!drawTextAbsolutePos()) {
bounds.offset(x, y);
@@ -178,7 +179,7 @@
class DrawTextOnPathFunctor {
public:
- DrawTextOnPathFunctor(const Layout& layout, Canvas* canvas, float hOffset,
+ DrawTextOnPathFunctor(const minikin::Layout& layout, Canvas* canvas, float hOffset,
float vOffset, const Paint& paint, const SkPath& path)
: layout(layout)
, canvas(canvas)
@@ -198,7 +199,7 @@
}
}
private:
- const Layout& layout;
+ const minikin::Layout& layout;
Canvas* canvas;
float hOffset;
float vOffset;
@@ -209,7 +210,7 @@
void Canvas::drawTextOnPath(const uint16_t* text, int count, int bidiFlags, const SkPath& path,
float hOffset, float vOffset, const Paint& paint, Typeface* typeface) {
Paint paintCopy(paint);
- Layout layout;
+ minikin::Layout layout;
MinikinUtils::doLayout(&layout, &paintCopy, bidiFlags, typeface, text, 0, count, count);
hOffset += MinikinUtils::hOffsetForTextAlign(&paintCopy, layout, path);
diff --git a/libs/hwui/hwui/MinikinSkia.cpp b/libs/hwui/hwui/MinikinSkia.cpp
index a455f57..d16b6441 100644
--- a/libs/hwui/hwui/MinikinSkia.cpp
+++ b/libs/hwui/hwui/MinikinSkia.cpp
@@ -24,7 +24,7 @@
MinikinFontSkia::MinikinFontSkia(SkTypeface* typeface, const void* fontData, size_t fontSize,
int ttcIndex) :
- MinikinFont(typeface->uniqueID()), mTypeface(typeface), mFontData(fontData),
+ minikin::MinikinFont(typeface->uniqueID()), mTypeface(typeface), mFontData(fontData),
mFontSize(fontSize), mTtcIndex(ttcIndex) {
}
@@ -32,7 +32,8 @@
SkSafeUnref(mTypeface);
}
-static void MinikinFontSkia_SetSkiaPaint(const MinikinFont* font, SkPaint* skPaint, const MinikinPaint& paint) {
+static void MinikinFontSkia_SetSkiaPaint(const minikin::MinikinFont* font, SkPaint* skPaint,
+ const minikin::MinikinPaint& paint) {
skPaint->setTextEncoding(SkPaint::kGlyphID_TextEncoding);
skPaint->setTextSize(paint.size);
skPaint->setTextScaleX(paint.scaleX);
@@ -43,7 +44,7 @@
}
float MinikinFontSkia::GetHorizontalAdvance(uint32_t glyph_id,
- const MinikinPaint &paint) const {
+ const minikin::MinikinPaint &paint) const {
SkPaint skPaint;
uint16_t glyph16 = glyph_id;
SkScalar skWidth;
@@ -55,8 +56,8 @@
return skWidth;
}
-void MinikinFontSkia::GetBounds(MinikinRect* bounds, uint32_t glyph_id,
- const MinikinPaint& paint) const {
+void MinikinFontSkia::GetBounds(minikin::MinikinRect* bounds, uint32_t glyph_id,
+ const minikin::MinikinPaint& paint) const {
SkPaint skPaint;
uint16_t glyph16 = glyph_id;
SkRect skBounds;
@@ -68,7 +69,8 @@
bounds->mBottom = skBounds.fBottom;
}
-const void* MinikinFontSkia::GetTable(uint32_t tag, size_t* size, MinikinDestroyFunc* destroy) {
+const void* MinikinFontSkia::GetTable(uint32_t tag, size_t* size,
+ minikin::MinikinDestroyFunc* destroy) {
// we don't have a buffer to the font data, copy to own buffer
const size_t tableSize = mTypeface->getTableSize(tag);
*size = tableSize;
@@ -117,7 +119,8 @@
paint->setHinting(static_cast<SkPaint::Hinting>(paintFlags >> 16));
}
-void MinikinFontSkia::populateSkPaint(SkPaint* paint, const MinikinFont* font, FontFakery fakery) {
+void MinikinFontSkia::populateSkPaint(SkPaint* paint, const MinikinFont* font,
+ minikin::FontFakery fakery) {
paint->setTypeface(reinterpret_cast<const MinikinFontSkia*>(font)->GetSkTypeface());
paint->setFakeBoldText(paint->isFakeBoldText() || fakery.isFakeBold());
if (fakery.isFakeItalic()) {
diff --git a/libs/hwui/hwui/MinikinSkia.h b/libs/hwui/hwui/MinikinSkia.h
index a7c9fb0..96b256d 100644
--- a/libs/hwui/hwui/MinikinSkia.h
+++ b/libs/hwui/hwui/MinikinSkia.h
@@ -25,7 +25,7 @@
namespace android {
-class ANDROID_API MinikinFontSkia : public MinikinFont {
+class ANDROID_API MinikinFontSkia : public minikin::MinikinFont {
public:
// Note: this takes ownership of the reference (will unref on dtor)
explicit MinikinFontSkia(SkTypeface *typeface, const void* fontData, size_t fontSize,
@@ -34,12 +34,12 @@
~MinikinFontSkia();
float GetHorizontalAdvance(uint32_t glyph_id,
- const MinikinPaint &paint) const;
+ const minikin::MinikinPaint &paint) const;
- void GetBounds(MinikinRect* bounds, uint32_t glyph_id,
- const MinikinPaint &paint) const;
+ void GetBounds(minikin::MinikinRect* bounds, uint32_t glyph_id,
+ const minikin::MinikinPaint &paint) const;
- const void* GetTable(uint32_t tag, size_t* size, MinikinDestroyFunc* destroy);
+ const void* GetTable(uint32_t tag, size_t* size, minikin::MinikinDestroyFunc* destroy);
SkTypeface* GetSkTypeface() const;
@@ -52,7 +52,8 @@
static void unpackPaintFlags(SkPaint* paint, uint32_t paintFlags);
// set typeface and fake bold/italic parameters
- static void populateSkPaint(SkPaint* paint, const MinikinFont* font, FontFakery fakery);
+ static void populateSkPaint(SkPaint* paint, const minikin::MinikinFont* font,
+ minikin::FontFakery fakery);
private:
SkTypeface* mTypeface;
diff --git a/libs/hwui/hwui/MinikinUtils.cpp b/libs/hwui/hwui/MinikinUtils.cpp
index 67b775d..a06cc37 100644
--- a/libs/hwui/hwui/MinikinUtils.cpp
+++ b/libs/hwui/hwui/MinikinUtils.cpp
@@ -24,17 +24,18 @@
namespace android {
-FontStyle MinikinUtils::prepareMinikinPaint(MinikinPaint* minikinPaint, FontCollection** pFont,
- const Paint* paint, Typeface* typeface) {
+minikin::FontStyle MinikinUtils::prepareMinikinPaint(minikin::MinikinPaint* minikinPaint,
+ minikin::FontCollection** pFont, const Paint* paint, Typeface* typeface) {
const Typeface* resolvedFace = Typeface::resolveDefault(typeface);
*pFont = resolvedFace->fFontCollection;
- FontStyle resolved = resolvedFace->fStyle;
+ minikin::FontStyle resolved = resolvedFace->fStyle;
/* Prepare minikin FontStyle */
- FontVariant minikinVariant = (paint->getFontVariant() == VARIANT_ELEGANT) ? VARIANT_ELEGANT
- : VARIANT_COMPACT;
+ minikin::FontVariant minikinVariant = (paint->getFontVariant() == minikin::VARIANT_ELEGANT) ?
+ minikin::VARIANT_ELEGANT : minikin::VARIANT_COMPACT;
const uint32_t langListId = paint->getMinikinLangListId();
- FontStyle minikinStyle(langListId, minikinVariant, resolved.getWeight(), resolved.getItalic());
+ minikin::FontStyle minikinStyle(langListId, minikinVariant, resolved.getWeight(),
+ resolved.getItalic());
/* Prepare minikin Paint */
// Note: it would be nice to handle fractional size values (it would improve smooth zoom
@@ -46,27 +47,27 @@
minikinPaint->letterSpacing = paint->getLetterSpacing();
minikinPaint->paintFlags = MinikinFontSkia::packPaintFlags(paint);
minikinPaint->fontFeatureSettings = paint->getFontFeatureSettings();
- minikinPaint->hyphenEdit = HyphenEdit(paint->getHyphenEdit());
+ minikinPaint->hyphenEdit = minikin::HyphenEdit(paint->getHyphenEdit());
return minikinStyle;
}
-void MinikinUtils::doLayout(Layout* layout, const Paint* paint, int bidiFlags,
+void MinikinUtils::doLayout(minikin::Layout* layout, const Paint* paint, int bidiFlags,
Typeface* typeface, const uint16_t* buf, size_t start, size_t count,
size_t bufSize) {
- FontCollection *font;
- MinikinPaint minikinPaint;
- FontStyle minikinStyle = prepareMinikinPaint(&minikinPaint, &font, paint, typeface);
+ minikin::FontCollection *font;
+ minikin::MinikinPaint minikinPaint;
+ minikin::FontStyle minikinStyle = prepareMinikinPaint(&minikinPaint, &font, paint, typeface);
layout->setFontCollection(font);
layout->doLayout(buf, start, count, bufSize, bidiFlags, minikinStyle, minikinPaint);
}
float MinikinUtils::measureText(const Paint* paint, int bidiFlags, Typeface* typeface,
const uint16_t* buf, size_t start, size_t count, size_t bufSize, float *advances) {
- FontCollection *font;
- MinikinPaint minikinPaint;
- FontStyle minikinStyle = prepareMinikinPaint(&minikinPaint, &font, paint, typeface);
- return Layout::measureText(buf, start, count, bufSize, bidiFlags, minikinStyle, minikinPaint,
- font, advances);
+ minikin::FontCollection *font;
+ minikin::MinikinPaint minikinPaint;
+ minikin::FontStyle minikinStyle = prepareMinikinPaint(&minikinPaint, &font, paint, typeface);
+ return minikin::Layout::measureText(buf, start, count, bufSize, bidiFlags, minikinStyle,
+ minikinPaint, font, advances);
}
bool MinikinUtils::hasVariationSelector(Typeface* typeface, uint32_t codepoint, uint32_t vs) {
@@ -74,7 +75,7 @@
return resolvedFace->fFontCollection->hasVariationSelector(codepoint, vs);
}
-float MinikinUtils::xOffsetForTextAlign(Paint* paint, const Layout& layout) {
+float MinikinUtils::xOffsetForTextAlign(Paint* paint, const minikin::Layout& layout) {
switch (paint->getTextAlign()) {
case Paint::kCenter_Align:
return layout.getAdvance() * -0.5f;
@@ -88,7 +89,8 @@
return 0;
}
-float MinikinUtils::hOffsetForTextAlign(Paint* paint, const Layout& layout, const SkPath& path) {
+float MinikinUtils::hOffsetForTextAlign(Paint* paint, const minikin::Layout& layout,
+ const SkPath& path) {
float align = 0;
switch (paint->getTextAlign()) {
case Paint::kCenter_Align:
diff --git a/libs/hwui/hwui/MinikinUtils.h b/libs/hwui/hwui/MinikinUtils.h
index cfaa961..d6f64d2 100644
--- a/libs/hwui/hwui/MinikinUtils.h
+++ b/libs/hwui/hwui/MinikinUtils.h
@@ -34,31 +34,33 @@
class MinikinUtils {
public:
- ANDROID_API static FontStyle prepareMinikinPaint(MinikinPaint* minikinPaint, FontCollection** pFont,
- const Paint* paint, Typeface* typeface);
+ ANDROID_API static minikin::FontStyle prepareMinikinPaint(minikin::MinikinPaint* minikinPaint,
+ minikin::FontCollection** pFont, const Paint* paint, Typeface* typeface);
- ANDROID_API static void doLayout(Layout* layout, const Paint* paint, int bidiFlags,
+ ANDROID_API static void doLayout(minikin::Layout* layout, const Paint* paint, int bidiFlags,
Typeface* typeface, const uint16_t* buf, size_t start, size_t count,
size_t bufSize);
ANDROID_API static float measureText(const Paint* paint, int bidiFlags, Typeface* typeface,
const uint16_t* buf, size_t start, size_t count, size_t bufSize, float *advances);
- ANDROID_API static bool hasVariationSelector(Typeface* typeface, uint32_t codepoint, uint32_t vs);
+ ANDROID_API static bool hasVariationSelector(Typeface* typeface, uint32_t codepoint,
+ uint32_t vs);
- ANDROID_API static float xOffsetForTextAlign(Paint* paint, const Layout& layout);
+ ANDROID_API static float xOffsetForTextAlign(Paint* paint, const minikin::Layout& layout);
- ANDROID_API static float hOffsetForTextAlign(Paint* paint, const Layout& layout, const SkPath& path);
+ ANDROID_API static float hOffsetForTextAlign(Paint* paint, const minikin::Layout& layout,
+ const SkPath& path);
// f is a functor of type void f(size_t start, size_t end);
template <typename F>
- ANDROID_API static void forFontRun(const Layout& layout, Paint* paint, F& f) {
+ ANDROID_API static void forFontRun(const minikin::Layout& layout, Paint* paint, F& f) {
float saveSkewX = paint->getTextSkewX();
bool savefakeBold = paint->isFakeBoldText();
- MinikinFont* curFont = NULL;
+ minikin::MinikinFont* curFont = NULL;
size_t start = 0;
size_t nGlyphs = layout.nGlyphs();
for (size_t i = 0; i < nGlyphs; i++) {
- MinikinFont* nextFont = layout.getFont(i);
+ minikin::MinikinFont* nextFont = layout.getFont(i);
if (i > 0 && nextFont != curFont) {
MinikinFontSkia::populateSkPaint(paint, curFont, layout.getFakery(start));
f(start, i);
diff --git a/libs/hwui/hwui/Paint.h b/libs/hwui/hwui/Paint.h
index 9599c30..6307926 100644
--- a/libs/hwui/hwui/Paint.h
+++ b/libs/hwui/hwui/Paint.h
@@ -64,11 +64,11 @@
return mMinikinLangListId;
}
- void setFontVariant(FontVariant variant) {
+ void setFontVariant(minikin::FontVariant variant) {
mFontVariant = variant;
}
- FontVariant getFontVariant() const {
+ minikin::FontVariant getFontVariant() const {
return mFontVariant;
}
@@ -84,7 +84,7 @@
float mLetterSpacing = 0;
std::string mFontFeatureSettings;
uint32_t mMinikinLangListId;
- FontVariant mFontVariant;
+ minikin::FontVariant mFontVariant;
uint32_t mHyphenEdit = 0;
};
diff --git a/libs/hwui/hwui/PaintImpl.cpp b/libs/hwui/hwui/PaintImpl.cpp
index b27672c..84122d7 100644
--- a/libs/hwui/hwui/PaintImpl.cpp
+++ b/libs/hwui/hwui/PaintImpl.cpp
@@ -20,7 +20,7 @@
Paint::Paint() :
SkPaint(), mLetterSpacing(0), mFontFeatureSettings(), mMinikinLangListId(0),
- mFontVariant(VARIANT_DEFAULT) {
+ mFontVariant(minikin::VARIANT_DEFAULT) {
}
Paint::Paint(const Paint& paint) : SkPaint(paint),
@@ -31,7 +31,7 @@
Paint::Paint(const SkPaint& paint) : SkPaint(paint),
mLetterSpacing(0), mFontFeatureSettings(), mMinikinLangListId(0),
- mFontVariant(VARIANT_DEFAULT) {
+ mFontVariant(minikin::VARIANT_DEFAULT) {
}
Paint::~Paint() {
diff --git a/libs/hwui/hwui/Typeface.cpp b/libs/hwui/hwui/Typeface.cpp
index c583988..b5c5ef9 100644
--- a/libs/hwui/hwui/Typeface.cpp
+++ b/libs/hwui/hwui/Typeface.cpp
@@ -43,7 +43,7 @@
weight = 9;
}
bool italic = (typeface->fSkiaStyle & SkTypeface::kItalic) != 0;
- typeface->fStyle = FontStyle(weight, italic);
+ typeface->fStyle = minikin::FontStyle(weight, italic);
}
Typeface* gDefaultTypeface = NULL;
@@ -54,13 +54,13 @@
// typeface is set.
// TODO: investigate why layouts are being created before Typeface.java
// class initialization.
-static FontCollection *makeFontCollection() {
- std::vector<FontFamily *>typefaces;
+static minikin::FontCollection *makeFontCollection() {
+ std::vector<minikin::FontFamily *>typefaces;
const char *fns[] = {
"/system/fonts/Roboto-Regular.ttf",
};
- FontFamily *family = new FontFamily();
+ minikin::FontFamily *family = new minikin::FontFamily();
for (size_t i = 0; i < sizeof(fns)/sizeof(fns[0]); i++) {
const char *fn = fns[i];
ALOGD("makeFontCollection adding %s", fn);
@@ -69,7 +69,7 @@
// TODO: might be a nice optimization to get access to the underlying font
// data, but would require us opening the file ourselves and passing that
// to the appropriate Create method of SkTypeface.
- MinikinFont *font = new MinikinFontSkia(skFace, NULL, 0, 0);
+ minikin::MinikinFont *font = new MinikinFontSkia(skFace, NULL, 0, 0);
family->addFont(font);
font->Unref();
} else {
@@ -78,13 +78,13 @@
}
typefaces.push_back(family);
- FontCollection *result = new FontCollection(typefaces);
+ minikin::FontCollection *result = new minikin::FontCollection(typefaces);
family->Unref();
return result;
}
static void getDefaultTypefaceOnce() {
- Layout::init();
+ minikin::Layout::init();
if (gDefaultTypeface == NULL) {
// We expect the client to set a default typeface, but provide a
// default so we can make progress before that happens.
@@ -131,16 +131,16 @@
return result;
}
-Typeface* Typeface::createFromFamilies(const std::vector<FontFamily*>& families) {
+Typeface* Typeface::createFromFamilies(const std::vector<minikin::FontFamily*>& families) {
Typeface* result = new Typeface;
- result->fFontCollection = new FontCollection(families);
+ result->fFontCollection = new minikin::FontCollection(families);
if (families.empty()) {
ALOGW("createFromFamilies creating empty collection");
result->fSkiaStyle = SkTypeface::kNormal;
} else {
- const FontStyle defaultStyle;
- FontFamily* firstFamily = reinterpret_cast<FontFamily*>(families[0]);
- MinikinFont* mf = firstFamily->getClosestMatch(defaultStyle).font;
+ const minikin::FontStyle defaultStyle;
+ minikin::FontFamily* firstFamily = reinterpret_cast<minikin::FontFamily*>(families[0]);
+ minikin::MinikinFont* mf = firstFamily->getClosestMatch(defaultStyle).font;
if (mf != NULL) {
SkTypeface* skTypeface = reinterpret_cast<MinikinFontSkia*>(mf)->GetSkTypeface();
// TODO: probably better to query more precise style from family, will be important
diff --git a/libs/hwui/hwui/Typeface.h b/libs/hwui/hwui/Typeface.h
index 8862e5a..ed0a7ebd 100644
--- a/libs/hwui/hwui/Typeface.h
+++ b/libs/hwui/hwui/Typeface.h
@@ -27,7 +27,7 @@
namespace android {
struct ANDROID_API Typeface {
- FontCollection *fFontCollection;
+ minikin::FontCollection *fFontCollection;
// style used for constructing and querying Typeface objects
SkTypeface::Style fSkiaStyle;
@@ -35,7 +35,7 @@
int fBaseWeight;
// resolved style actually used for rendering
- FontStyle fStyle;
+ minikin::FontStyle fStyle;
void unref();
@@ -45,7 +45,7 @@
static Typeface* createWeightAlias(Typeface* src, int baseweight);
- static Typeface* createFromFamilies(const std::vector<FontFamily*>& families);
+ static Typeface* createFromFamilies(const std::vector<minikin::FontFamily*>& families);
static void setDefault(Typeface* face);
};
diff --git a/libs/hwui/tests/common/scenes/GlyphStressAnimation.cpp b/libs/hwui/tests/common/scenes/GlyphStressAnimation.cpp
index f184411..a61f6d0 100644
--- a/libs/hwui/tests/common/scenes/GlyphStressAnimation.cpp
+++ b/libs/hwui/tests/common/scenes/GlyphStressAnimation.cpp
@@ -17,8 +17,8 @@
#include "TestSceneBase.h"
#include "utils/Color.h"
-#include <minikin/Layout.h>
#include <hwui/Paint.h>
+#include <minikin/Layout.h>
#include <cstdio>
@@ -56,7 +56,7 @@
for (int i = 0; i < 5; i++) {
paint.setTextSize(10 + (frameNr % 20) + i * 20);
canvas.drawText(text.get(), 0, textLength, textLength,
- 0, 100 * (i + 2), kBidi_Force_LTR, paint, nullptr);
+ 0, 100 * (i + 2), minikin::kBidi_Force_LTR, paint, nullptr);
}
container->setStagingDisplayList(canvas.finishRecording(), nullptr);
diff --git a/libs/hwui/tests/unit/RecordingCanvasTests.cpp b/libs/hwui/tests/unit/RecordingCanvasTests.cpp
index 18171de..a6eaa81 100644
--- a/libs/hwui/tests/unit/RecordingCanvasTests.cpp
+++ b/libs/hwui/tests/unit/RecordingCanvasTests.cpp
@@ -716,7 +716,7 @@
paint.setTextSize(20);
paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
std::unique_ptr<uint16_t[]> dst = TestUtils::asciiToUtf16("HELLO");
- canvas.drawText(dst.get(), 0, 5, 5, 25, 25, kBidi_Force_LTR, paint, NULL);
+ canvas.drawText(dst.get(), 0, 5, 5, 25, 25, minikin::kBidi_Force_LTR, paint, NULL);
});
int count = 0;
@@ -740,7 +740,7 @@
paint.setTextSize(20);
paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
std::unique_ptr<uint16_t[]> dst = TestUtils::asciiToUtf16("HELLO");
- canvas.drawText(dst.get(), 0, 5, 5, 25, 25, kBidi_Force_LTR, paint, NULL);
+ canvas.drawText(dst.get(), 0, 5, 5, 25, 25, minikin::kBidi_Force_LTR, paint, NULL);
});
int count = 0;