summaryrefslogtreecommitdiffstats
path: root/core/jni/android/graphics/ColorFilter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/jni/android/graphics/ColorFilter.cpp')
-rw-r--r--core/jni/android/graphics/ColorFilter.cpp67
1 files changed, 4 insertions, 63 deletions
diff --git a/core/jni/android/graphics/ColorFilter.cpp b/core/jni/android/graphics/ColorFilter.cpp
index da40acf..09589bd 100644
--- a/core/jni/android/graphics/ColorFilter.cpp
+++ b/core/jni/android/graphics/ColorFilter.cpp
@@ -23,7 +23,6 @@
#include "SkColorMatrixFilter.h"
#include "SkPorterDuff.h"
-#include <SkiaColorFilter.h>
#include <Caches.h>
namespace android {
@@ -32,64 +31,9 @@ using namespace uirenderer;
class SkColorFilterGlue {
public:
- static void finalizer(JNIEnv* env, jobject clazz, jlong objHandle, jlong fHandle) {
- SkColorFilter* obj = reinterpret_cast<SkColorFilter *>(objHandle);
- SkiaColorFilter* f = reinterpret_cast<SkiaColorFilter *>(fHandle);
- if (obj) SkSafeUnref(obj);
- // f == NULL when not !USE_OPENGL_RENDERER, so no need to delete outside the ifdef
-#ifdef USE_OPENGL_RENDERER
- if (f && android::uirenderer::Caches::hasInstance()) {
- android::uirenderer::Caches::getInstance().resourceCache.destructor(f);
- } else {
- delete f;
- }
-#endif
- }
-
- static jlong glCreatePorterDuffFilter(JNIEnv* env, jobject, jlong skFilterHandle,
- jint srcColor, jint modeHandle) {
- SkColorFilter *skFilter = reinterpret_cast<SkColorFilter *>(skFilterHandle);
- SkPorterDuff::Mode mode = static_cast<SkPorterDuff::Mode>(modeHandle);
-#ifdef USE_OPENGL_RENDERER
- return reinterpret_cast<jlong>(new SkiaBlendFilter(skFilter, srcColor, SkPorterDuff::ToXfermodeMode(mode)));
-#else
- return NULL;
-#endif
- }
-
- static jlong glCreateLightingFilter(JNIEnv* env, jobject, jlong skFilterHandle,
- jint mul, jint add) {
- SkColorFilter *skFilter = reinterpret_cast<SkColorFilter *>(skFilterHandle);
-#ifdef USE_OPENGL_RENDERER
- return reinterpret_cast<jlong>(new SkiaLightingFilter(skFilter, mul, add));
-#else
- return NULL;
-#endif
- }
-
- static jlong glCreateColorMatrixFilter(JNIEnv* env, jobject, jlong skFilterHandle,
- jfloatArray jarray) {
- SkColorFilter *skFilter = reinterpret_cast<SkColorFilter *>(skFilterHandle);
-#ifdef USE_OPENGL_RENDERER
- AutoJavaFloatArray autoArray(env, jarray, 20);
- const float* src = autoArray.ptr();
-
- float* colorMatrix = new float[16];
- memcpy(colorMatrix, src, 4 * sizeof(float));
- memcpy(&colorMatrix[4], &src[5], 4 * sizeof(float));
- memcpy(&colorMatrix[8], &src[10], 4 * sizeof(float));
- memcpy(&colorMatrix[12], &src[15], 4 * sizeof(float));
-
- float* colorVector = new float[4];
- colorVector[0] = src[4];
- colorVector[1] = src[9];
- colorVector[2] = src[14];
- colorVector[3] = src[19];
-
- return reinterpret_cast<jlong>(new SkiaColorMatrixFilter(skFilter, colorMatrix, colorVector));
-#else
- return NULL;
-#endif
+ static void finalizer(JNIEnv* env, jobject clazz, jlong skFilterHandle) {
+ SkColorFilter* filter = reinterpret_cast<SkColorFilter *>(skFilterHandle);
+ if (filter) SkSafeUnref(filter);
}
static jlong CreatePorterDuffFilter(JNIEnv* env, jobject, jint srcColor,
@@ -119,22 +63,19 @@ public:
};
static JNINativeMethod colorfilter_methods[] = {
- {"destroyFilter", "(JJ)V", (void*) SkColorFilterGlue::finalizer}
+ {"destroyFilter", "(J)V", (void*) SkColorFilterGlue::finalizer}
};
static JNINativeMethod porterduff_methods[] = {
{ "native_CreatePorterDuffFilter", "(II)J", (void*) SkColorFilterGlue::CreatePorterDuffFilter },
- { "nCreatePorterDuffFilter", "(JII)J", (void*) SkColorFilterGlue::glCreatePorterDuffFilter }
};
static JNINativeMethod lighting_methods[] = {
{ "native_CreateLightingFilter", "(II)J", (void*) SkColorFilterGlue::CreateLightingFilter },
- { "nCreateLightingFilter", "(JII)J", (void*) SkColorFilterGlue::glCreateLightingFilter },
};
static JNINativeMethod colormatrix_methods[] = {
{ "nativeColorMatrixFilter", "([F)J", (void*) SkColorFilterGlue::CreateColorMatrixFilter },
- { "nColorMatrixFilter", "(J[F)J", (void*) SkColorFilterGlue::glCreateColorMatrixFilter }
};
#define REG(env, name, array) \