19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include "SkLayerRasterizer.h" 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <jni.h> 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectclass SkLayerRasterizerGlue { 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic: 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static SkRasterizer* create(JNIEnv* env, jobject) { 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new SkLayerRasterizer(); 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static void addLayer(JNIEnv* env, jobject, SkLayerRasterizer* layer, const SkPaint* paint, float dx, float dy) { 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SkASSERT(layer); 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SkASSERT(paint); 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project layer->addLayer(*paint, SkFloatToScalar(dx), SkFloatToScalar(dy)); 144cb1753ec6e90d7e747880c599dc1c164a568cf3Elliott Hughes } 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}; 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project///////////////////////////////////////////////////////////////////////////////////////// 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <android_runtime/AndroidRuntime.h> 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic JNINativeMethod gLayerRasterizerMethods[] = { 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { "nativeConstructor", "()I", (void*)SkLayerRasterizerGlue::create }, 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { "nativeAddLayer", "(IIFF)V", (void*)SkLayerRasterizerGlue::addLayer } 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectint register_android_graphics_LayerRasterizer(JNIEnv* env) 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return android::AndroidRuntime::registerNativeMethods(env, 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "android/graphics/LayerRasterizer", 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project gLayerRasterizerMethods, 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SK_ARRAY_COUNT(gLayerRasterizerMethods)); 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 33