Loading core/jni/Android.mk +0 −1 Original line number Diff line number Diff line Loading @@ -100,7 +100,6 @@ LOCAL_SRC_FILES:= \ android/graphics/Graphics.cpp \ android/graphics/HarfBuzzNGFaceSkia.cpp \ android/graphics/Interpolator.cpp \ android/graphics/LayerRasterizer.cpp \ android/graphics/MaskFilter.cpp \ android/graphics/Matrix.cpp \ android/graphics/Movie.cpp \ Loading core/jni/AndroidRuntime.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ extern int register_android_graphics_Camera(JNIEnv* env); extern int register_android_graphics_CreateJavaOutputStreamAdaptor(JNIEnv* env); extern int register_android_graphics_Graphics(JNIEnv* env); extern int register_android_graphics_Interpolator(JNIEnv* env); extern int register_android_graphics_LayerRasterizer(JNIEnv*); extern int register_android_graphics_MaskFilter(JNIEnv* env); extern int register_android_graphics_Movie(JNIEnv* env); extern int register_android_graphics_NinePatch(JNIEnv*); Loading Loading @@ -109,6 +108,7 @@ extern int register_android_graphics_CanvasProperty(JNIEnv* env); extern int register_android_graphics_ColorFilter(JNIEnv* env); extern int register_android_graphics_DrawFilter(JNIEnv* env); extern int register_android_graphics_FontFamily(JNIEnv* env); extern int register_android_graphics_LayerRasterizer(JNIEnv*); extern int register_android_graphics_Matrix(JNIEnv* env); extern int register_android_graphics_Paint(JNIEnv* env); extern int register_android_graphics_Path(JNIEnv* env); Loading core/jni/android/graphics/GraphicsJNI.h +4 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,10 @@ public: static SkPicture* getNativePicture(JNIEnv*, jobject picture); static SkRegion* getNativeRegion(JNIEnv*, jobject region); // Given the 'native' long held by the Rasterizer.java object, return a // ref to its SkRasterizer* (or NULL). static SkRasterizer* refNativeRasterizer(jlong rasterizerHandle); /** Return the corresponding native config from the java Config enum, or kNo_Config if the java object is null. */ Loading core/jni/android/graphics/LayerRasterizer.cppdeleted 100644 → 0 +0 −34 Original line number Diff line number Diff line #include "SkLayerRasterizer.h" #include <jni.h> class SkLayerRasterizerGlue { public: static jlong create(JNIEnv* env, jobject) { return reinterpret_cast<jlong>(new SkLayerRasterizer()); } static void addLayer(JNIEnv* env, jobject, jlong layerHandle, jlong paintHandle, jfloat dx, jfloat dy) { SkLayerRasterizer* layer = reinterpret_cast<SkLayerRasterizer *>(layerHandle); const SkPaint* paint = reinterpret_cast<SkPaint *>(paintHandle); SkASSERT(layer); SkASSERT(paint); layer->addLayer(*paint, dx, dy); } }; ///////////////////////////////////////////////////////////////////////////////////////// #include <android_runtime/AndroidRuntime.h> 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)); } core/jni/android/graphics/Paint.cpp +21 −4 Original line number Diff line number Diff line Loading @@ -106,16 +106,33 @@ public: *dst = *src; } // Equivalent to the Java Paint's FILTER_BITMAP_FLAG. static const uint32_t sFilterBitmapFlag = 0x02; static jint getFlags(JNIEnv* env, jobject paint) { NPE_CHECK_RETURN_ZERO(env, paint); int result; result = GraphicsJNI::getNativePaint(env, paint)->getFlags(); SkPaint* nativePaint = GraphicsJNI::getNativePaint(env, paint); uint32_t result = nativePaint->getFlags(); result &= ~sFilterBitmapFlag; // Filtering no longer stored in this bit. Mask away. if (nativePaint->getFilterLevel() != SkPaint::kNone_FilterLevel) { result |= sFilterBitmapFlag; } return static_cast<jint>(result); } static void setFlags(JNIEnv* env, jobject paint, jint flags) { NPE_CHECK_RETURN_VOID(env, paint); GraphicsJNI::getNativePaint(env, paint)->setFlags(flags); SkPaint* nativePaint = GraphicsJNI::getNativePaint(env, paint); // Instead of modifying 0x02, change the filter level. nativePaint->setFilterLevel(flags & sFilterBitmapFlag ? SkPaint::kLow_FilterLevel : SkPaint::kNone_FilterLevel); // Don't pass through filter flag, which is no longer stored in paint's flags. flags &= ~sFilterBitmapFlag; // Use the existing value for 0x02. const uint32_t existing0x02Flag = nativePaint->getFlags() & sFilterBitmapFlag; flags |= existing0x02Flag; nativePaint->setFlags(flags); } static jint getHinting(JNIEnv* env, jobject paint) { Loading Loading @@ -298,7 +315,7 @@ public: static jlong setRasterizer(JNIEnv* env, jobject clazz, jlong objHandle, jlong rasterizerHandle) { SkPaint* obj = reinterpret_cast<SkPaint*>(objHandle); SkRasterizer* rasterizer = reinterpret_cast<SkRasterizer*>(rasterizerHandle); SkAutoTUnref<SkRasterizer> rasterizer(GraphicsJNI::refNativeRasterizer(rasterizerHandle)); return reinterpret_cast<jlong>(obj->setRasterizer(rasterizer)); } Loading Loading
core/jni/Android.mk +0 −1 Original line number Diff line number Diff line Loading @@ -100,7 +100,6 @@ LOCAL_SRC_FILES:= \ android/graphics/Graphics.cpp \ android/graphics/HarfBuzzNGFaceSkia.cpp \ android/graphics/Interpolator.cpp \ android/graphics/LayerRasterizer.cpp \ android/graphics/MaskFilter.cpp \ android/graphics/Matrix.cpp \ android/graphics/Movie.cpp \ Loading
core/jni/AndroidRuntime.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ extern int register_android_graphics_Camera(JNIEnv* env); extern int register_android_graphics_CreateJavaOutputStreamAdaptor(JNIEnv* env); extern int register_android_graphics_Graphics(JNIEnv* env); extern int register_android_graphics_Interpolator(JNIEnv* env); extern int register_android_graphics_LayerRasterizer(JNIEnv*); extern int register_android_graphics_MaskFilter(JNIEnv* env); extern int register_android_graphics_Movie(JNIEnv* env); extern int register_android_graphics_NinePatch(JNIEnv*); Loading Loading @@ -109,6 +108,7 @@ extern int register_android_graphics_CanvasProperty(JNIEnv* env); extern int register_android_graphics_ColorFilter(JNIEnv* env); extern int register_android_graphics_DrawFilter(JNIEnv* env); extern int register_android_graphics_FontFamily(JNIEnv* env); extern int register_android_graphics_LayerRasterizer(JNIEnv*); extern int register_android_graphics_Matrix(JNIEnv* env); extern int register_android_graphics_Paint(JNIEnv* env); extern int register_android_graphics_Path(JNIEnv* env); Loading
core/jni/android/graphics/GraphicsJNI.h +4 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,10 @@ public: static SkPicture* getNativePicture(JNIEnv*, jobject picture); static SkRegion* getNativeRegion(JNIEnv*, jobject region); // Given the 'native' long held by the Rasterizer.java object, return a // ref to its SkRasterizer* (or NULL). static SkRasterizer* refNativeRasterizer(jlong rasterizerHandle); /** Return the corresponding native config from the java Config enum, or kNo_Config if the java object is null. */ Loading
core/jni/android/graphics/LayerRasterizer.cppdeleted 100644 → 0 +0 −34 Original line number Diff line number Diff line #include "SkLayerRasterizer.h" #include <jni.h> class SkLayerRasterizerGlue { public: static jlong create(JNIEnv* env, jobject) { return reinterpret_cast<jlong>(new SkLayerRasterizer()); } static void addLayer(JNIEnv* env, jobject, jlong layerHandle, jlong paintHandle, jfloat dx, jfloat dy) { SkLayerRasterizer* layer = reinterpret_cast<SkLayerRasterizer *>(layerHandle); const SkPaint* paint = reinterpret_cast<SkPaint *>(paintHandle); SkASSERT(layer); SkASSERT(paint); layer->addLayer(*paint, dx, dy); } }; ///////////////////////////////////////////////////////////////////////////////////////// #include <android_runtime/AndroidRuntime.h> 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)); }
core/jni/android/graphics/Paint.cpp +21 −4 Original line number Diff line number Diff line Loading @@ -106,16 +106,33 @@ public: *dst = *src; } // Equivalent to the Java Paint's FILTER_BITMAP_FLAG. static const uint32_t sFilterBitmapFlag = 0x02; static jint getFlags(JNIEnv* env, jobject paint) { NPE_CHECK_RETURN_ZERO(env, paint); int result; result = GraphicsJNI::getNativePaint(env, paint)->getFlags(); SkPaint* nativePaint = GraphicsJNI::getNativePaint(env, paint); uint32_t result = nativePaint->getFlags(); result &= ~sFilterBitmapFlag; // Filtering no longer stored in this bit. Mask away. if (nativePaint->getFilterLevel() != SkPaint::kNone_FilterLevel) { result |= sFilterBitmapFlag; } return static_cast<jint>(result); } static void setFlags(JNIEnv* env, jobject paint, jint flags) { NPE_CHECK_RETURN_VOID(env, paint); GraphicsJNI::getNativePaint(env, paint)->setFlags(flags); SkPaint* nativePaint = GraphicsJNI::getNativePaint(env, paint); // Instead of modifying 0x02, change the filter level. nativePaint->setFilterLevel(flags & sFilterBitmapFlag ? SkPaint::kLow_FilterLevel : SkPaint::kNone_FilterLevel); // Don't pass through filter flag, which is no longer stored in paint's flags. flags &= ~sFilterBitmapFlag; // Use the existing value for 0x02. const uint32_t existing0x02Flag = nativePaint->getFlags() & sFilterBitmapFlag; flags |= existing0x02Flag; nativePaint->setFlags(flags); } static jint getHinting(JNIEnv* env, jobject paint) { Loading Loading @@ -298,7 +315,7 @@ public: static jlong setRasterizer(JNIEnv* env, jobject clazz, jlong objHandle, jlong rasterizerHandle) { SkPaint* obj = reinterpret_cast<SkPaint*>(objHandle); SkRasterizer* rasterizer = reinterpret_cast<SkRasterizer*>(rasterizerHandle); SkAutoTUnref<SkRasterizer> rasterizer(GraphicsJNI::refNativeRasterizer(rasterizerHandle)); return reinterpret_cast<jlong>(obj->setRasterizer(rasterizer)); } Loading