Home | History | Annotate | Download | only in graphics
      1 #include "SkLayerRasterizer.h"
      2 #include <jni.h>
      3 
      4 class SkLayerRasterizerGlue {
      5 public:
      6     static SkRasterizer* create(JNIEnv* env, jobject) {
      7         return new SkLayerRasterizer();
      8     }
      9 
     10     static void addLayer(JNIEnv* env, jobject, SkLayerRasterizer* layer, const SkPaint* paint, float dx, float dy) {
     11         SkASSERT(layer);
     12         SkASSERT(paint);
     13         layer->addLayer(*paint, SkFloatToScalar(dx), SkFloatToScalar(dy));
     14     }
     15 };
     16 
     17 /////////////////////////////////////////////////////////////////////////////////////////
     18 
     19 #include <android_runtime/AndroidRuntime.h>
     20 
     21 static JNINativeMethod gLayerRasterizerMethods[] = {
     22     { "nativeConstructor",  "()I",      (void*)SkLayerRasterizerGlue::create    },
     23     { "nativeAddLayer",     "(IIFF)V",  (void*)SkLayerRasterizerGlue::addLayer  }
     24 };
     25 
     26 int register_android_graphics_LayerRasterizer(JNIEnv* env)
     27 {
     28     return android::AndroidRuntime::registerNativeMethods(env,
     29                                                        "android/graphics/LayerRasterizer",
     30                                                        gLayerRasterizerMethods,
     31                                                        SK_ARRAY_COUNT(gLayerRasterizerMethods));
     32 }
     33