90 {
91 static const JNINativeMethod methods[] = {
92 {"nCreate" , "()J" , reinterpret_cast<void*>(PathBuilder_Create)},
93 {"nRelease" , "(J)V" , reinterpret_cast<void*>(PathBuilder_Release)},
94 {"nMoveTo" , "(JFF)V" , reinterpret_cast<void*>(PathBuilder_MoveTo)},
95 {"nLineTo" , "(JFF)V" , reinterpret_cast<void*>(PathBuilder_LineTo)},
96 {"nQuadTo" , "(JFFFF)V" , reinterpret_cast<void*>(PathBuilder_QuadTo)},
97 {"nConicTo" , "(JFFFFF)V" , reinterpret_cast<void*>(PathBuilder_ConicTo)},
98 {"nCubicTo" , "(JFFFFFF)V", reinterpret_cast<void*>(PathBuilder_CubicTo)},
99 {"nClose" , "(J)V" , reinterpret_cast<void*>(PathBuilder_Close)},
100 {"nSetFillType" , "(JI)V" , reinterpret_cast<void*>(PathBuilder_SetFillType)},
101 {"nMake" , "(J)J" , reinterpret_cast<void*>(PathBuilder_MakePath)},
102 };
103
104 const auto clazz =
env->FindClass(
"org/skia/jetski/PathBuilder");
105 return clazz
106 ?
env->RegisterNatives(clazz, methods, std::size(methods))
107 : JNI_ERR;
108}