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