110 {
111 static const JNINativeMethod methods[] = {
112 {"nCreate" , "(FFFFFFFFFFFFFFFF)J" , reinterpret_cast<void*>(Matrix_Create)},
113 {"nCreateLookAt" , "(FFFFFFFFF)J" , reinterpret_cast<void*>(Matrix_CreateLookAt)},
114 {"nCreatePerspective" , "(FFF)J" , reinterpret_cast<void*>(Matrix_CreatePerspective)},
115 {"nGetRowMajor" , "(J)[F" , reinterpret_cast<void*>(Matrix_GetRowMajor)},
116 {"nRelease" , "(J)V" , reinterpret_cast<void*>(Matrix_Release)},
117 {"nInverse" , "(J)J" , reinterpret_cast<void*>(Matrix_Inverse)},
118 {"nTranspose" , "(J)J" , reinterpret_cast<void*>(Matrix_Transpose)},
119 {"nPreConcat" , "(JJ)V" , reinterpret_cast<void*>(Matrix_PreConcat)},
120 {"nConcat" , "(JJ)J" , reinterpret_cast<void*>(Matrix_Concat)},
121 {"nTranslate" , "(JFFF)V" , reinterpret_cast<void*>(Matrix_Translate)},
122 {"nScale" , "(JFFF)V" , reinterpret_cast<void*>(Matrix_Scale)},
123 {"nRotate" , "(JFFFF)V" , reinterpret_cast<void*>(Matrix_Rotate)},
124 };
125
126 const auto clazz =
env->FindClass(
"org/skia/jetski/Matrix");
127 return clazz
128 ?
env->RegisterNatives(clazz, methods, std::size(methods))
129 : JNI_ERR;
130}