Loading core/jni/android/graphics/ColorFilter.cpp +8 −8 Original line number Diff line number Diff line Loading @@ -46,14 +46,14 @@ public: } static jlong CreateColorMatrixFilter(JNIEnv* env, jobject, jfloatArray jarray) { AutoJavaFloatArray autoArray(env, jarray, 20); const float* src = autoArray.ptr(); #ifdef SK_SCALAR_IS_FLOAT return reinterpret_cast<jlong>(SkColorFilters::MatrixRowMajor255(src).release()); #else SkASSERT(false); #endif float matrix[20]; env->GetFloatArrayRegion(jarray, 0, 20, matrix); // java biases the translates by 255, so undo that before calling skia matrix[ 4] *= (1.0f/255); matrix[ 9] *= (1.0f/255); matrix[14] *= (1.0f/255); matrix[19] *= (1.0f/255); return reinterpret_cast<jlong>(SkColorFilters::Matrix(matrix).release()); } }; Loading libs/hwui/CanvasTransform.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -100,7 +100,7 @@ static void applyColorTransform(ColorTransform transform, SkPaint& paint) { SkBlendMode mode; SkColor color; // TODO: LRU this or something to avoid spamming new color mode filters if (paint.getColorFilter()->asColorMode(&color, &mode)) { if (paint.getColorFilter()->asAColorMode(&color, &mode)) { color = transformColor(transform, color); paint.setColorFilter(SkColorFilters::Blend(color, mode)); } Loading libs/hwui/tests/common/scenes/SimpleColorMatrixAnimation.cpp +0 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,6 @@ private: x, y, x + width, y + height, [width, height](RenderProperties& props, Canvas& canvas) { SkPaint paint; // Simple scale/translate case where R, G, and B are all treated equivalently SkColorMatrix cm; cm.setScale(1.1f, 1.1f, 1.1f, 0.5f); Loading libs/hwui/tests/unit/SkiaBehaviorTests.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -48,14 +48,14 @@ TEST(SkiaBehavior, lightingColorFilter_simplify) { SkColor observedColor; SkBlendMode observedMode; ASSERT_TRUE(filter->asColorMode(&observedColor, &observedMode)); ASSERT_TRUE(filter->asAColorMode(&observedColor, &observedMode)); EXPECT_EQ(0xFF223344, observedColor); EXPECT_EQ(SkBlendMode::kModulate, observedMode); } { sk_sp<SkColorFilter> failFilter(SkColorMatrixFilter::MakeLightingFilter(0x11223344, 0x1)); EXPECT_FALSE(failFilter->asColorMode(nullptr, nullptr)); EXPECT_FALSE(failFilter->asAColorMode(nullptr, nullptr)); } } Loading Loading
core/jni/android/graphics/ColorFilter.cpp +8 −8 Original line number Diff line number Diff line Loading @@ -46,14 +46,14 @@ public: } static jlong CreateColorMatrixFilter(JNIEnv* env, jobject, jfloatArray jarray) { AutoJavaFloatArray autoArray(env, jarray, 20); const float* src = autoArray.ptr(); #ifdef SK_SCALAR_IS_FLOAT return reinterpret_cast<jlong>(SkColorFilters::MatrixRowMajor255(src).release()); #else SkASSERT(false); #endif float matrix[20]; env->GetFloatArrayRegion(jarray, 0, 20, matrix); // java biases the translates by 255, so undo that before calling skia matrix[ 4] *= (1.0f/255); matrix[ 9] *= (1.0f/255); matrix[14] *= (1.0f/255); matrix[19] *= (1.0f/255); return reinterpret_cast<jlong>(SkColorFilters::Matrix(matrix).release()); } }; Loading
libs/hwui/CanvasTransform.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -100,7 +100,7 @@ static void applyColorTransform(ColorTransform transform, SkPaint& paint) { SkBlendMode mode; SkColor color; // TODO: LRU this or something to avoid spamming new color mode filters if (paint.getColorFilter()->asColorMode(&color, &mode)) { if (paint.getColorFilter()->asAColorMode(&color, &mode)) { color = transformColor(transform, color); paint.setColorFilter(SkColorFilters::Blend(color, mode)); } Loading
libs/hwui/tests/common/scenes/SimpleColorMatrixAnimation.cpp +0 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,6 @@ private: x, y, x + width, y + height, [width, height](RenderProperties& props, Canvas& canvas) { SkPaint paint; // Simple scale/translate case where R, G, and B are all treated equivalently SkColorMatrix cm; cm.setScale(1.1f, 1.1f, 1.1f, 0.5f); Loading
libs/hwui/tests/unit/SkiaBehaviorTests.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -48,14 +48,14 @@ TEST(SkiaBehavior, lightingColorFilter_simplify) { SkColor observedColor; SkBlendMode observedMode; ASSERT_TRUE(filter->asColorMode(&observedColor, &observedMode)); ASSERT_TRUE(filter->asAColorMode(&observedColor, &observedMode)); EXPECT_EQ(0xFF223344, observedColor); EXPECT_EQ(SkBlendMode::kModulate, observedMode); } { sk_sp<SkColorFilter> failFilter(SkColorMatrixFilter::MakeLightingFilter(0x11223344, 0x1)); EXPECT_FALSE(failFilter->asColorMode(nullptr, nullptr)); EXPECT_FALSE(failFilter->asAColorMode(nullptr, nullptr)); } } Loading