xref: /aosp_15_r20/external/skia/modules/jetski/src/JetSki.cpp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1 /*
2  * Copyright 2021 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #include <android/log.h>
9 #include <jni.h>
10 
11 #define REGISTER_NATIVES(class_name)                     \
12 extern int register_jetski_##class_name(JNIEnv*);    \
13 if (auto rc = register_jetski_##class_name(env)) {   \
14     __android_log_print(ANDROID_LOG_ERROR, "JetSki", \
15         "Failed to load natives: " #class_name);         \
16     return rc;                                           \
17 }
18 
19 
JNI_OnLoad(JavaVM * vm,void * reserved)20 JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
21     JNIEnv* env;
22     if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
23         return JNI_ERR;
24     }
25 
26     REGISTER_NATIVES(Canvas)
27     REGISTER_NATIVES(ColorFilter)
28     REGISTER_NATIVES(ComposeColorFilter)
29     REGISTER_NATIVES(HSLAMatrixColorFilter)
30     REGISTER_NATIVES(Image)
31     REGISTER_NATIVES(ImageFilter)
32     REGISTER_NATIVES(LinearGradient)
33     REGISTER_NATIVES(Matrix)
34     REGISTER_NATIVES(MatrixColorFilter)
35     REGISTER_NATIVES(Paint)
36     REGISTER_NATIVES(Path)
37     REGISTER_NATIVES(PathBuilder)
38     REGISTER_NATIVES(RadialGradient)
39     REGISTER_NATIVES(RuntimeShaderBuilder)
40     REGISTER_NATIVES(Shader)
41     REGISTER_NATIVES(SkottieAnimation)
42     REGISTER_NATIVES(Surface)
43     REGISTER_NATIVES(SweepGradient)
44     REGISTER_NATIVES(TwoPointConicalGradient)
45 
46     return JNI_VERSION_1_6;
47 }
48