Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd020c4f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Update FontStyle location in minikin."

parents 7bfda9a3 c52075ee
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -44,10 +44,10 @@ namespace android {

struct NativeFamilyBuilder {
    NativeFamilyBuilder(uint32_t langId, int variant)
        : langId(langId), variant(static_cast<minikin::FontVariant>(variant)),
        : langId(langId), variant(static_cast<minikin::FontFamily::Variant>(variant)),
          allowUnsupportedFont(false) {}
    uint32_t langId;
    minikin::FontVariant variant;
    minikin::FontFamily::Variant variant;
    bool allowUnsupportedFont;
    std::vector<minikin::Font> fonts;
    std::vector<minikin::FontVariation> axes;
@@ -141,7 +141,7 @@ static bool addSkTypeface(NativeFamilyBuilder* builder, sk_sp<SkData>&& data, in
    }

    builder->fonts.push_back(minikin::Font(minikinFont,
            minikin::FontStyle(weight, static_cast<minikin::FontSlant>(italic))));
            minikin::FontStyle(weight, static_cast<minikin::FontStyle::Slant>(italic))));
    builder->axes.clear();
    return true;
}
+4 −3
Original line number Diff line number Diff line
@@ -581,7 +581,7 @@ namespace PaintGlue {
        // restore the original settings.
        paint->setTextSkewX(saveSkewX);
        paint->setFakeBoldText(savefakeBold);
        if (paint->getFontVariant() == minikin::FontVariant::ELEGANT) {
        if (paint->getFamilyVariant() == minikin::FontFamily::Variant::ELEGANT) {
            SkScalar size = paint->getTextSize();
            metrics->fTop = -size * kElegantTop / 2048;
            metrics->fBottom = -size * kElegantBottom / 2048;
@@ -880,12 +880,13 @@ namespace PaintGlue {

    static jboolean isElegantTextHeight(jlong paintHandle) {
        Paint* obj = reinterpret_cast<Paint*>(paintHandle);
        return obj->getFontVariant() == minikin::FontVariant::ELEGANT;
        return obj->getFamilyVariant() == minikin::FontFamily::Variant::ELEGANT;
    }

    static void setElegantTextHeight(jlong paintHandle, jboolean aa) {
        Paint* obj = reinterpret_cast<Paint*>(paintHandle);
        obj->setFontVariant(aa ? minikin::FontVariant::ELEGANT : minikin::FontVariant::DEFAULT);
        obj->setFamilyVariant(
                aa ? minikin::FontFamily::Variant::ELEGANT : minikin::FontFamily::Variant::DEFAULT);
    }

    static jfloat getTextSize(jlong paintHandle) {
+1 −1
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ static jint Typeface_getStyle(JNIEnv* env, jobject obj, jlong faceHandle) {

static jint Typeface_getWeight(JNIEnv* env, jobject obj, jlong faceHandle) {
    Typeface* face = reinterpret_cast<Typeface*>(faceHandle);
    return face->fStyle.weight;
    return face->fStyle.weight();
}

static jlong Typeface_createFromArray(JNIEnv *env, jobject, jlongArray familyArray,
+2 −7
Original line number Diff line number Diff line
@@ -29,12 +29,6 @@ namespace android {
minikin::MinikinPaint MinikinUtils::prepareMinikinPaint(const Paint* paint,
                                                        const Typeface* typeface) {
    const Typeface* resolvedFace = Typeface::resolveDefault(typeface);
    minikin::FontStyle resolved = resolvedFace->fStyle;

    const minikin::FontVariant minikinVariant =
            (paint->getFontVariant() == minikin::FontVariant::ELEGANT)
                    ? minikin::FontVariant::ELEGANT
                    : minikin::FontVariant::COMPACT;

    minikin::MinikinPaint minikinPaint;
    /* Prepare minikin Paint */
@@ -46,7 +40,8 @@ minikin::MinikinPaint MinikinUtils::prepareMinikinPaint(const Paint* paint,
    minikinPaint.wordSpacing = paint->getWordSpacing();
    minikinPaint.paintFlags = MinikinFontSkia::packPaintFlags(paint);
    minikinPaint.localeListId = paint->getMinikinLocaleListId();
    minikinPaint.fontStyle = minikin::FontStyle(minikinVariant, resolved.weight, resolved.slant);
    minikinPaint.familyVariant = paint->getFamilyVariant();
    minikinPaint.fontStyle = resolvedFace->fStyle;
    minikinPaint.fontFeatureSettings = paint->getFontFeatureSettings();
    minikinPaint.hyphenEdit = minikin::HyphenEdit(paint->getHyphenEdit());
    return minikinPaint;
+3 −3
Original line number Diff line number Diff line
@@ -73,9 +73,9 @@ public:

    uint32_t getMinikinLocaleListId() const { return mMinikinLocaleListId; }

    void setFontVariant(minikin::FontVariant variant) { mFontVariant = variant; }
    void setFamilyVariant(minikin::FontFamily::Variant variant) { mFamilyVariant = variant; }

    minikin::FontVariant getFontVariant() const { return mFontVariant; }
    minikin::FontFamily::Variant getFamilyVariant() const { return mFamilyVariant; }

    void setHyphenEdit(uint32_t hyphen) { mHyphenEdit = hyphen; }

@@ -90,7 +90,7 @@ private:
    float mWordSpacing = 0;
    std::string mFontFeatureSettings;
    uint32_t mMinikinLocaleListId;
    minikin::FontVariant mFontVariant;
    minikin::FontFamily::Variant mFamilyVariant;
    uint32_t mHyphenEdit = 0;
    // The native Typeface object has the same lifetime of the Java Typeface
    // object. The Java Paint object holds a strong reference to the Java Typeface
Loading