108 {
109 static const JNINativeMethod methods[] = {
110 {"nCreate" , "()J" , reinterpret_cast<void*>(Paint_Create)},
111 {"nRelease" , "(J)V" , reinterpret_cast<void*>(Paint_Release)},
112 {"nSetColor" , "(JFFFF)V", reinterpret_cast<void*>(Paint_SetColor)},
113 {"nSetStroke" , "(JZ)V" , reinterpret_cast<void*>(Paint_SetStroke)},
114 {"nSetStrokeWidth" , "(JF)V" , reinterpret_cast<void*>(Paint_SetStrokeWidth)},
115 {"nSetStrokeCap" , "(JI)V" , reinterpret_cast<void*>(Paint_SetStrokeCap)},
116 {"nSetStrokeJoin" , "(JI)V" , reinterpret_cast<void*>(Paint_SetStrokeJoin)},
117 {"nSetStrokeMiter" , "(JF)V" , reinterpret_cast<void*>(Paint_SetStrokeMiter)},
118 {"nSetColorFilter" , "(JJ)V" , reinterpret_cast<void*>(Paint_SetColorFilter)},
119 {"nSetShader" , "(JJ)V" , reinterpret_cast<void*>(Paint_SetShader)},
120 {"nSetImageFilter" , "(JJ)V" , reinterpret_cast<void*>(Paint_SetImageFilter)},
121 };
122
123 const auto clazz =
env->FindClass(
"org/skia/jetski/Paint");
124 return clazz
125 ?
env->RegisterNatives(clazz, methods, std::size(methods))
126 : JNI_ERR;
127}