diff options
Diffstat (limited to 'graphics/java')
-rw-r--r-- | graphics/java/android/graphics/Matrix.java | 44 | ||||
-rw-r--r-- | graphics/java/android/graphics/Rect.java | 32 |
2 files changed, 69 insertions, 7 deletions
diff --git a/graphics/java/android/graphics/Matrix.java b/graphics/java/android/graphics/Matrix.java index 2681eae..f549900 100644 --- a/graphics/java/android/graphics/Matrix.java +++ b/graphics/java/android/graphics/Matrix.java @@ -16,6 +16,8 @@ package android.graphics; +import java.io.PrintWriter; + /** * The Matrix class holds a 3x3 matrix for transforming coordinates. @@ -539,17 +541,49 @@ public class Matrix { } public String toString() { - return "Matrix{" + toShortString() + "}"; + StringBuilder sb = new StringBuilder(64); + sb.append("Matrix{"); + toShortString(sb); + sb.append('}'); + return sb.toString(); } public String toShortString() { + StringBuilder sb = new StringBuilder(64); + toShortString(sb); + return sb.toString(); + } + + /** + * @hide + */ + public void toShortString(StringBuilder sb) { + float[] values = new float[9]; + getValues(values); + sb.append('['); + sb.append(values[0]); sb.append(", "); sb.append(values[1]); sb.append(", "); + sb.append(values[2]); sb.append("]["); + sb.append(values[3]); sb.append(", "); sb.append(values[4]); sb.append(", "); + sb.append(values[5]); sb.append("]["); + sb.append(values[6]); sb.append(", "); sb.append(values[7]); sb.append(", "); + sb.append(values[8]); sb.append(']'); + } + + /** + * Print short string, to optimize dumping. + * @hide + */ + public void printShortString(PrintWriter pw) { float[] values = new float[9]; getValues(values); - return "[" + - values[0] + ", " + values[1] + ", " + values[2] + "][" + - values[3] + ", " + values[4] + ", " + values[5] + "][" + - values[6] + ", " + values[7] + ", " + values[8] + "]"; + pw.print('['); + pw.print(values[0]); pw.print(", "); pw.print(values[1]); pw.print(", "); + pw.print(values[2]); pw.print("]["); + pw.print(values[3]); pw.print(", "); pw.print(values[4]); pw.print(", "); + pw.print(values[5]); pw.print("]["); + pw.print(values[6]); pw.print(", "); pw.print(values[7]); pw.print(", "); + pw.print(values[8]); pw.print(']'); } diff --git a/graphics/java/android/graphics/Rect.java b/graphics/java/android/graphics/Rect.java index 2005344..7022acf 100644 --- a/graphics/java/android/graphics/Rect.java +++ b/graphics/java/android/graphics/Rect.java @@ -19,6 +19,8 @@ package android.graphics; import android.os.Parcel; import android.os.Parcelable; +import java.io.PrintWriter; + /** * Rect holds four integer coordinates for a rectangle. The rectangle is * represented by the coordinates of its 4 edges (left, top, right bottom). @@ -78,14 +80,40 @@ public final class Rect implements Parcelable { } public String toString() { - return "Rect(" + left + ", " + top + " - " + right + ", " + bottom + ")"; + StringBuilder sb = new StringBuilder(32); + sb.append("Rect("); sb.append(left); sb.append(", "); + sb.append(top); sb.append(" - "); sb.append(right); + sb.append(", "); sb.append(bottom); sb.append(")"); + return sb.toString(); } /** * Return a string representation of the rectangle in a compact form. */ public String toShortString() { - return "[" + left + "," + top + "][" + right + "," + bottom + "]"; + return toShortString(new StringBuilder(32)); + } + + /** + * Return a string representation of the rectangle in a compact form. + * @hide + */ + public String toShortString(StringBuilder sb) { + sb.setLength(0); + sb.append('['); sb.append(left); sb.append(','); + sb.append(top); sb.append("]["); sb.append(right); + sb.append(','); sb.append(bottom); sb.append(']'); + return sb.toString(); + } + + /** + * Print short representation to given writer. + * @hide + */ + public void printShortString(PrintWriter pw) { + pw.print('['); pw.print(left); pw.print(','); + pw.print(top); pw.print("]["); pw.print(right); + pw.print(','); pw.print(bottom); pw.print(']'); } /** |