diff options
Diffstat (limited to 'tools/layoutlib/bridge')
-rw-r--r-- | tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java index 9ebec61..1382641 100644 --- a/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java +++ b/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java @@ -36,6 +36,7 @@ import java.awt.geom.Rectangle2D; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Locale; /** * Delegate implementing the native methods of android.graphics.Paint @@ -91,6 +92,8 @@ public class Paint_Delegate { private MaskFilter_Delegate mMaskFilter; private Rasterizer_Delegate mRasterizer; + private Locale mLocale = Locale.getDefault(); + // ---- Public Helper methods ---- @@ -254,6 +257,8 @@ public class Paint_Delegate { return delegate.mFlags; } + + @LayoutlibDelegate /*package*/ static void setFlags(Paint thisPaint, int flags) { // get the delegate from the native int. @@ -904,6 +909,17 @@ public class Paint_Delegate { } @LayoutlibDelegate + /*package*/ static void native_setTextLocale(int native_object, String locale) { + // get the delegate from the native int. + Paint_Delegate delegate = sManager.getDelegate(native_object); + if (delegate == null) { + return; + } + + delegate.setTextLocale(locale); + } + + @LayoutlibDelegate /*package*/ static int native_getTextWidths(int native_object, char[] text, int index, int count, float[] widths) { // get the delegate from the native int. @@ -1243,7 +1259,9 @@ public class Paint_Delegate { return 0; } - + private void setTextLocale(String locale) { + mLocale = new Locale(locale); + } private static void setFlag(Paint thisPaint, int flagMask, boolean flagValue) { // get the delegate from the native int. @@ -1258,4 +1276,5 @@ public class Paint_Delegate { delegate.mFlags &= ~flagMask; } } + } |