#include "SkLayerRasterizer.h" #include class SkLayerRasterizerGlue { public: static jlong create(JNIEnv* env, jobject) { return reinterpret_cast(new SkLayerRasterizer()); } static void addLayer(JNIEnv* env, jobject, jlong layerHandle, jlong paintHandle, jfloat dx, jfloat dy) { SkLayerRasterizer* layer = reinterpret_cast(layerHandle); const SkPaint* paint = reinterpret_cast(paintHandle); SkASSERT(layer); SkASSERT(paint); layer->addLayer(*paint, SkFloatToScalar(dx), SkFloatToScalar(dy)); } }; ///////////////////////////////////////////////////////////////////////////////////////// #include static JNINativeMethod gLayerRasterizerMethods[] = { { "nativeConstructor", "()J", (void*)SkLayerRasterizerGlue::create }, { "nativeAddLayer", "(JJFF)V", (void*)SkLayerRasterizerGlue::addLayer } }; int register_android_graphics_LayerRasterizer(JNIEnv* env) { return android::AndroidRuntime::registerNativeMethods(env, "android/graphics/LayerRasterizer", gLayerRasterizerMethods, SK_ARRAY_COUNT(gLayerRasterizerMethods)); }