diff options
-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); } |