Loading core/jni/android/graphics/Paint.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -915,6 +915,16 @@ namespace PaintGlue { paint->setLetterSpacing(letterSpacing); } static jfloat getWordSpacing(jlong paintHandle) { Paint* paint = reinterpret_cast<Paint*>(paintHandle); return paint->getWordSpacing(); } static void setWordSpacing(jlong paintHandle, jfloat wordSpacing) { Paint* paint = reinterpret_cast<Paint*>(paintHandle); paint->setWordSpacing(wordSpacing); } static jint getHyphenEdit(jlong paintHandle, jint hyphen) { Paint* paint = reinterpret_cast<Paint*>(paintHandle); return paint->getHyphenEdit(); Loading Loading @@ -1043,6 +1053,8 @@ static const JNINativeMethod methods[] = { {"nSetTextSkewX","(JF)V", (void*) PaintGlue::setTextSkewX}, {"nGetLetterSpacing","(J)F", (void*) PaintGlue::getLetterSpacing}, {"nSetLetterSpacing","(JF)V", (void*) PaintGlue::setLetterSpacing}, {"nGetWordSpacing","(J)F", (void*) PaintGlue::getWordSpacing}, {"nSetWordSpacing","(JF)V", (void*) PaintGlue::setWordSpacing}, {"nGetHyphenEdit", "(J)I", (void*) PaintGlue::getHyphenEdit}, {"nSetHyphenEdit", "(JI)V", (void*) PaintGlue::setHyphenEdit}, {"nAscent","(JJ)F", (void*) PaintGlue::ascent}, Loading graphics/java/android/graphics/Paint.java +26 −0 Original line number Diff line number Diff line Loading @@ -1441,6 +1441,28 @@ public class Paint { nSetLetterSpacing(mNativePaint, letterSpacing); } /** * Return the paint's word-spacing for text. The default value is 0. * * @return the paint's word-spacing for drawing text. * @hide */ public float getWordSpacing() { return nGetWordSpacing(mNativePaint); } /** * Set the paint's word-spacing for text. The default value is 0. * The value is in pixels (note the units are not the same as for * letter-spacing). * * @param wordSpacing set the paint's word-spacing for drawing text. * @hide */ public void setWordSpacing(float wordSpacing) { nSetWordSpacing(mNativePaint, wordSpacing); } /** * Returns the font feature settings. The format is the same as the CSS * font-feature-settings attribute: Loading Loading @@ -2711,6 +2733,10 @@ public class Paint { @CriticalNative private static native void nSetLetterSpacing(long paintPtr, float letterSpacing); @CriticalNative private static native float nGetWordSpacing(long paintPtr); @CriticalNative private static native void nSetWordSpacing(long paintPtr, float wordSpacing); @CriticalNative private static native int nGetHyphenEdit(long paintPtr); @CriticalNative private static native void nSetHyphenEdit(long paintPtr, int hyphen); Loading graphics/tests/graphicstests/src/android/graphics/PaintTest.java +9 −0 Original line number Diff line number Diff line Loading @@ -218,4 +218,13 @@ public class PaintTest extends AndroidTestCase { assertEquals(width, p.measureText(bidiText), 1.0f); } } public void testSetGetWordSpacing() { Paint p = new Paint(); assertEquals(0.0f, p.getWordSpacing()); // The default value should be 0. p.setWordSpacing(1.0f); assertEquals(1.0f, p.getWordSpacing()); p.setWordSpacing(-2.0f); assertEquals(-2.0f, p.getWordSpacing()); } } libs/hwui/hwui/MinikinUtils.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ minikin::FontStyle MinikinUtils::prepareMinikinPaint(minikin::MinikinPaint* mini minikinPaint->scaleX = paint->getTextScaleX(); minikinPaint->skewX = paint->getTextSkewX(); minikinPaint->letterSpacing = paint->getLetterSpacing(); minikinPaint->wordSpacing = paint->getWordSpacing(); minikinPaint->paintFlags = MinikinFontSkia::packPaintFlags(paint); minikinPaint->fontFeatureSettings = paint->getFontFeatureSettings(); minikinPaint->hyphenEdit = minikin::HyphenEdit(paint->getHyphenEdit()); Loading libs/hwui/hwui/Paint.h +9 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,14 @@ public: return mLetterSpacing; } void setWordSpacing(float wordSpacing) { mWordSpacing = wordSpacing; } float getWordSpacing() const { return mWordSpacing; } void setFontFeatureSettings(const std::string& fontFeatureSettings) { mFontFeatureSettings = fontFeatureSettings; } Loading Loading @@ -82,6 +90,7 @@ public: private: float mLetterSpacing = 0; float mWordSpacing = 0; std::string mFontFeatureSettings; uint32_t mMinikinLangListId; minikin::FontVariant mFontVariant; Loading Loading
core/jni/android/graphics/Paint.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -915,6 +915,16 @@ namespace PaintGlue { paint->setLetterSpacing(letterSpacing); } static jfloat getWordSpacing(jlong paintHandle) { Paint* paint = reinterpret_cast<Paint*>(paintHandle); return paint->getWordSpacing(); } static void setWordSpacing(jlong paintHandle, jfloat wordSpacing) { Paint* paint = reinterpret_cast<Paint*>(paintHandle); paint->setWordSpacing(wordSpacing); } static jint getHyphenEdit(jlong paintHandle, jint hyphen) { Paint* paint = reinterpret_cast<Paint*>(paintHandle); return paint->getHyphenEdit(); Loading Loading @@ -1043,6 +1053,8 @@ static const JNINativeMethod methods[] = { {"nSetTextSkewX","(JF)V", (void*) PaintGlue::setTextSkewX}, {"nGetLetterSpacing","(J)F", (void*) PaintGlue::getLetterSpacing}, {"nSetLetterSpacing","(JF)V", (void*) PaintGlue::setLetterSpacing}, {"nGetWordSpacing","(J)F", (void*) PaintGlue::getWordSpacing}, {"nSetWordSpacing","(JF)V", (void*) PaintGlue::setWordSpacing}, {"nGetHyphenEdit", "(J)I", (void*) PaintGlue::getHyphenEdit}, {"nSetHyphenEdit", "(JI)V", (void*) PaintGlue::setHyphenEdit}, {"nAscent","(JJ)F", (void*) PaintGlue::ascent}, Loading
graphics/java/android/graphics/Paint.java +26 −0 Original line number Diff line number Diff line Loading @@ -1441,6 +1441,28 @@ public class Paint { nSetLetterSpacing(mNativePaint, letterSpacing); } /** * Return the paint's word-spacing for text. The default value is 0. * * @return the paint's word-spacing for drawing text. * @hide */ public float getWordSpacing() { return nGetWordSpacing(mNativePaint); } /** * Set the paint's word-spacing for text. The default value is 0. * The value is in pixels (note the units are not the same as for * letter-spacing). * * @param wordSpacing set the paint's word-spacing for drawing text. * @hide */ public void setWordSpacing(float wordSpacing) { nSetWordSpacing(mNativePaint, wordSpacing); } /** * Returns the font feature settings. The format is the same as the CSS * font-feature-settings attribute: Loading Loading @@ -2711,6 +2733,10 @@ public class Paint { @CriticalNative private static native void nSetLetterSpacing(long paintPtr, float letterSpacing); @CriticalNative private static native float nGetWordSpacing(long paintPtr); @CriticalNative private static native void nSetWordSpacing(long paintPtr, float wordSpacing); @CriticalNative private static native int nGetHyphenEdit(long paintPtr); @CriticalNative private static native void nSetHyphenEdit(long paintPtr, int hyphen); Loading
graphics/tests/graphicstests/src/android/graphics/PaintTest.java +9 −0 Original line number Diff line number Diff line Loading @@ -218,4 +218,13 @@ public class PaintTest extends AndroidTestCase { assertEquals(width, p.measureText(bidiText), 1.0f); } } public void testSetGetWordSpacing() { Paint p = new Paint(); assertEquals(0.0f, p.getWordSpacing()); // The default value should be 0. p.setWordSpacing(1.0f); assertEquals(1.0f, p.getWordSpacing()); p.setWordSpacing(-2.0f); assertEquals(-2.0f, p.getWordSpacing()); } }
libs/hwui/hwui/MinikinUtils.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ minikin::FontStyle MinikinUtils::prepareMinikinPaint(minikin::MinikinPaint* mini minikinPaint->scaleX = paint->getTextScaleX(); minikinPaint->skewX = paint->getTextSkewX(); minikinPaint->letterSpacing = paint->getLetterSpacing(); minikinPaint->wordSpacing = paint->getWordSpacing(); minikinPaint->paintFlags = MinikinFontSkia::packPaintFlags(paint); minikinPaint->fontFeatureSettings = paint->getFontFeatureSettings(); minikinPaint->hyphenEdit = minikin::HyphenEdit(paint->getHyphenEdit()); Loading
libs/hwui/hwui/Paint.h +9 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,14 @@ public: return mLetterSpacing; } void setWordSpacing(float wordSpacing) { mWordSpacing = wordSpacing; } float getWordSpacing() const { return mWordSpacing; } void setFontFeatureSettings(const std::string& fontFeatureSettings) { mFontFeatureSettings = fontFeatureSettings; } Loading Loading @@ -82,6 +90,7 @@ public: private: float mLetterSpacing = 0; float mWordSpacing = 0; std::string mFontFeatureSettings; uint32_t mMinikinLangListId; minikin::FontVariant mFontVariant; Loading