blob: 7bfc5d01bc5288076a88421e301013ac5ba4ce11 [file] [log] [blame]
/*
* Copyright 2021 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include <android/log.h>
#include <jni.h>
#define REGISTER_NATIVES(class_name) \
extern int register_androidkit_##class_name(JNIEnv*); \
if (auto rc = register_androidkit_##class_name(env)) { \
__android_log_print(ANDROID_LOG_ERROR, "AndroidKit", \
"Failed to load natives: " #class_name); \
return rc; \
}
JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
JNIEnv* env;
if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
return JNI_ERR;
}
REGISTER_NATIVES(Canvas)
REGISTER_NATIVES(ColorFilter)
REGISTER_NATIVES(ComposeColorFilter)
REGISTER_NATIVES(Font)
REGISTER_NATIVES(FontChain)
REGISTER_NATIVES(HSLAMatrixColorFilter)
REGISTER_NATIVES(Image)
REGISTER_NATIVES(ImageFilter)
REGISTER_NATIVES(LinearGradient)
REGISTER_NATIVES(Matrix)
REGISTER_NATIVES(MatrixColorFilter)
REGISTER_NATIVES(Paint)
REGISTER_NATIVES(Path)
REGISTER_NATIVES(PathBuilder)
REGISTER_NATIVES(RadialGradient)
REGISTER_NATIVES(RuntimeShaderBuilder)
REGISTER_NATIVES(Shader)
REGISTER_NATIVES(SkottieAnimation)
REGISTER_NATIVES(Surface)
REGISTER_NATIVES(SweepGradient)
REGISTER_NATIVES(Text)
REGISTER_NATIVES(TwoPointConicalGradient)
return JNI_VERSION_1_6;
}