summaryrefslogtreecommitdiffstats
path: root/tools/layoutlib
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-11-13 15:42:31 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-11-13 15:42:31 -0800
commitae2104371d84570011dbb8c1621832a132ed4584 (patch)
tree4804bb6150572ceb10c00eed5bbfbf792bc299e1 /tools/layoutlib
parent991475a2e5dcb344299387521b52fb637d6b1e4d (diff)
parent76410f1eb316763018b7480d9cd8dc3684803576 (diff)
downloadframeworks_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.java14
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;
}
/**