1*c8dee2aaSAndroid Build Coastguard Worker /* 2*c8dee2aaSAndroid Build Coastguard Worker * Copyright 2021 Google Inc. 3*c8dee2aaSAndroid Build Coastguard Worker * 4*c8dee2aaSAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license that can be 5*c8dee2aaSAndroid Build Coastguard Worker * found in the LICENSE file. 6*c8dee2aaSAndroid Build Coastguard Worker */ 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker #include <jni.h> 9*c8dee2aaSAndroid Build Coastguard Worker 10*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkPath.h" 11*c8dee2aaSAndroid Build Coastguard Worker 12*c8dee2aaSAndroid Build Coastguard Worker namespace { Path_Release(JNIEnv * env,jobject,jlong native_path)13*c8dee2aaSAndroid Build Coastguard Workerstatic void Path_Release(JNIEnv* env, jobject, jlong native_path) { 14*c8dee2aaSAndroid Build Coastguard Worker delete reinterpret_cast<SkPath*>(native_path); 15*c8dee2aaSAndroid Build Coastguard Worker } 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard Worker } // namespace 18*c8dee2aaSAndroid Build Coastguard Worker register_jetski_Path(JNIEnv * env)19*c8dee2aaSAndroid Build Coastguard Workerint register_jetski_Path(JNIEnv* env) { 20*c8dee2aaSAndroid Build Coastguard Worker static const JNINativeMethod methods[] = { 21*c8dee2aaSAndroid Build Coastguard Worker {"nRelease" , "(J)V" , reinterpret_cast<void*>(Path_Release)}, 22*c8dee2aaSAndroid Build Coastguard Worker }; 23*c8dee2aaSAndroid Build Coastguard Worker 24*c8dee2aaSAndroid Build Coastguard Worker const auto clazz = env->FindClass("org/skia/jetski/Path"); 25*c8dee2aaSAndroid Build Coastguard Worker return clazz 26*c8dee2aaSAndroid Build Coastguard Worker ? env->RegisterNatives(clazz, methods, std::size(methods)) 27*c8dee2aaSAndroid Build Coastguard Worker : JNI_ERR; 28*c8dee2aaSAndroid Build Coastguard Worker } 29