diff options
author | Joe Onorato <joeo@google.com> | 2011-01-19 14:52:08 -0800 |
---|---|---|
committer | Joe Onorato <joeo@google.com> | 2011-01-19 15:29:31 -0800 |
commit | 120856c50a56595c0954ae1bf6f05888386937b9 (patch) | |
tree | c45ab13dbbdb191e698be7e05b4161733082aaa4 | |
parent | 6223fba87efabfca2342fd75594e39d913023aa2 (diff) | |
download | frameworks_base-120856c50a56595c0954ae1bf6f05888386937b9.zip frameworks_base-120856c50a56595c0954ae1bf6f05888386937b9.tar.gz frameworks_base-120856c50a56595c0954ae1bf6f05888386937b9.tar.bz2 |
Pass SkRegion::toString() through to java.
Change-Id: I3814b491c689313c1f8da811a104d913175f6268
-rw-r--r-- | core/jni/android/graphics/Region.cpp | 11 | ||||
-rw-r--r-- | graphics/java/android/graphics/Region.java | 8 |
2 files changed, 18 insertions, 1 deletions
diff --git a/core/jni/android/graphics/Region.cpp b/core/jni/android/graphics/Region.cpp index c43b5ce..2445229 100644 --- a/core/jni/android/graphics/Region.cpp +++ b/core/jni/android/graphics/Region.cpp @@ -154,6 +154,16 @@ static void Region_scale(JNIEnv* env, jobject region, jfloat scale, jobject dst) scale_rgn(rgn, *rgn, scale); } +static jstring Region_toString(JNIEnv* env, jobject clazz, SkRegion* region) { + char* str = region->toString(); + if (str == NULL) { + return NULL; + } + jstring result = env->NewStringUTF(str); + free(str); + return result; +} + //////////////////////////////////////////////////////////////////////////////////////////////////////////// static SkRegion* Region_createFromParcel(JNIEnv* env, jobject clazz, jobject parcel) @@ -262,6 +272,7 @@ static JNINativeMethod gRegionMethods[] = { { "quickReject", "(Landroid/graphics/Region;)Z", (void*)Region_quickRejectRgn }, { "scale", "(FLandroid/graphics/Region;)V", (void*)Region_scale }, { "translate", "(IILandroid/graphics/Region;)V", (void*)Region_translate }, + { "nativeToString", "(I)Ljava/lang/String;", (void*)Region_toString }, // parceling methods { "nativeCreateFromParcel", "(Landroid/os/Parcel;)I", (void*)Region_createFromParcel }, { "nativeWriteToParcel", "(ILandroid/os/Parcel;)Z", (void*)Region_writeToParcel }, diff --git a/graphics/java/android/graphics/Region.java b/graphics/java/android/graphics/Region.java index e540806..27ea0f0 100644 --- a/graphics/java/android/graphics/Region.java +++ b/graphics/java/android/graphics/Region.java @@ -287,6 +287,10 @@ public class Region implements Parcelable { region2.mNativeRegion, op.nativeInt); } + public String toString() { + return nativeToString(mNativeRegion); + } + ////////////////////////////////////////////////////////////////////////// public static final Parcelable.Creator<Region> CREATOR @@ -357,6 +361,8 @@ public class Region implements Parcelable { return mNativeRegion; } + private static native boolean nativeEquals(int native_r1, int native_r2); + private static native int nativeConstructor(); private static native void nativeDestructor(int native_region); @@ -381,5 +387,5 @@ public class Region implements Parcelable { private static native boolean nativeWriteToParcel(int native_region, Parcel p); - private static native boolean nativeEquals(int native_r1, int native_r2); + private static native String nativeToString(int native_region); } |