Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 120856c5 authored by Joe Onorato's avatar Joe Onorato
Browse files

Pass SkRegion::toString() through to java.

Change-Id: I3814b491c689313c1f8da811a104d913175f6268
parent 6223fba8
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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     },
+7 −1
Original line number Diff line number Diff line
@@ -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);
}