diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-11-13 15:42:31 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-11-13 15:42:31 -0800 |
commit | ae2104371d84570011dbb8c1621832a132ed4584 (patch) | |
tree | 4804bb6150572ceb10c00eed5bbfbf792bc299e1 /tools/layoutlib | |
parent | 991475a2e5dcb344299387521b52fb637d6b1e4d (diff) | |
parent | 76410f1eb316763018b7480d9cd8dc3684803576 (diff) | |
download | frameworks_base-ae2104371d84570011dbb8c1621832a132ed4584.zip frameworks_base-ae2104371d84570011dbb8c1621832a132ed4584.tar.gz frameworks_base-ae2104371d84570011dbb8c1621832a132ed4584.tar.bz2 |
Merge change I7082e366 into eclair
* changes:
Properly implement Paint.breakText for layoutlib.
Diffstat (limited to 'tools/layoutlib')
-rw-r--r-- | tools/layoutlib/bridge/src/android/graphics/Paint.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/tools/layoutlib/bridge/src/android/graphics/Paint.java b/tools/layoutlib/bridge/src/android/graphics/Paint.java index 86de56b..f3af133 100644 --- a/tools/layoutlib/bridge/src/android/graphics/Paint.java +++ b/tools/layoutlib/bridge/src/android/graphics/Paint.java @@ -950,7 +950,6 @@ public class Paint extends _Original_Paint { @Override public int breakText(String text, boolean measureForwards, float maxWidth, float[] measuredWidth) { - // NOTE: javadoc doesn't match. Just a guess. return breakText(text, 0 /* start */, text.length() /* end */, measureForwards, maxWidth, measuredWidth); @@ -975,7 +974,18 @@ public class Paint extends _Original_Paint { @Override public int breakText(CharSequence text, int start, int end, boolean measureForwards, float maxWidth, float[] measuredWidth) { - return super.breakText(text, start, end, measureForwards, maxWidth, measuredWidth); + char[] buf = new char[end - start]; + int result; + + TextUtils.getChars(text, start, end, buf, 0); + + if (measureForwards) { + result = breakText(buf, 0, end - start, maxWidth, measuredWidth); + } else { + result = breakText(buf, 0, -(end - start), maxWidth, measuredWidth); + } + + return result; } /** |