Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fdbf68ff authored by Chris Craik's avatar Chris Craik Committed by Android (Google) Code Review
Browse files

Merge "Revert "Remove references to SkPorterDuff as it is deprecated.""

parents f045198f 26b4f598
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@

#include "SkColorFilter.h"
#include "SkColorMatrixFilter.h"
#include "SkXfermode.h"
#include "SkPorterDuff.h"

#include <Caches.h>

@@ -36,9 +36,10 @@ public:
        if (filter) SkSafeUnref(filter);
    }

    static jlong CreatePorterDuffFilter(JNIEnv* env, jobject, jint srcColor, jint modeHandle) {
        SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(modeHandle);
        return reinterpret_cast<jlong>(SkColorFilter::CreateModeFilter(srcColor, mode));
    static jlong CreatePorterDuffFilter(JNIEnv* env, jobject, jint srcColor,
            jint modeHandle) {
        SkPorterDuff::Mode mode = (SkPorterDuff::Mode) modeHandle;
        return reinterpret_cast<jlong>(SkColorFilter::CreateModeFilter(srcColor, SkPorterDuff::ToXfermodeMode(mode)));
    }

    static jlong CreateLightingFilter(JNIEnv* env, jobject, jint mul, jint add) {
+3 −23
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
#include "GraphicsJNI.h"
#include "core_jni_helpers.h"

#include "SkXfermode.h"
#include "SkPorterDuff.h"

namespace android {

@@ -32,28 +32,8 @@ class SkPorterDuffGlue {
public:

    static jlong CreateXfermode(JNIEnv* env, jobject, jint modeHandle) {
        // validate that the Java enum values match our expectations
        SK_COMPILE_ASSERT(0  == SkXfermode::kClear_Mode,    xfermode_mismatch);
        SK_COMPILE_ASSERT(1  == SkXfermode::kSrc_Mode,      xfermode_mismatch);
        SK_COMPILE_ASSERT(2  == SkXfermode::kDst_Mode,      xfermode_mismatch);
        SK_COMPILE_ASSERT(3  == SkXfermode::kSrcOver_Mode,  xfermode_mismatch);
        SK_COMPILE_ASSERT(4  == SkXfermode::kDstOver_Mode,  xfermode_mismatch);
        SK_COMPILE_ASSERT(5  == SkXfermode::kSrcIn_Mode,    xfermode_mismatch);
        SK_COMPILE_ASSERT(6  == SkXfermode::kDstIn_Mode,    xfermode_mismatch);
        SK_COMPILE_ASSERT(7  == SkXfermode::kSrcOut_Mode,   xfermode_mismatch);
        SK_COMPILE_ASSERT(8  == SkXfermode::kDstOut_Mode,   xfermode_mismatch);
        SK_COMPILE_ASSERT(9  == SkXfermode::kSrcATop_Mode,  xfermode_mismatch);
        SK_COMPILE_ASSERT(10 == SkXfermode::kDstATop_Mode,  xfermode_mismatch);
        SK_COMPILE_ASSERT(11 == SkXfermode::kXor_Mode,      xfermode_mismatch);
        SK_COMPILE_ASSERT(16 == SkXfermode::kDarken_Mode,   xfermode_mismatch);
        SK_COMPILE_ASSERT(17 == SkXfermode::kLighten_Mode,  xfermode_mismatch);
        SK_COMPILE_ASSERT(13 == SkXfermode::kModulate_Mode, xfermode_mismatch);
        SK_COMPILE_ASSERT(14 == SkXfermode::kScreen_Mode,   xfermode_mismatch);
        SK_COMPILE_ASSERT(12 == SkXfermode::kPlus_Mode,     xfermode_mismatch);
        SK_COMPILE_ASSERT(15 == SkXfermode::kOverlay_Mode,  xfermode_mismatch);
        
        SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(modeHandle);
        return reinterpret_cast<jlong>(SkXfermode::Create(mode));
        SkPorterDuff::Mode mode = static_cast<SkPorterDuff::Mode>(modeHandle);
        return reinterpret_cast<jlong>(SkPorterDuff::CreateXfermode(mode));
    }
 
};
+6 −4
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@

#include "SkShader.h"
#include "SkGradientShader.h"
#include "SkPorterDuff.h"
#include "SkComposeShader.h"
#include "SkTemplates.h"
#include "SkXfermode.h"
@@ -226,13 +227,14 @@ static jlong ComposeShader_create1(JNIEnv* env, jobject o,
}

static jlong ComposeShader_create2(JNIEnv* env, jobject o,
        jlong shaderAHandle, jlong shaderBHandle, jint xfermodeHandle)
        jlong shaderAHandle, jlong shaderBHandle, jint porterDuffModeHandle)
{
    SkShader* shaderA = reinterpret_cast<SkShader *>(shaderAHandle);
    SkShader* shaderB = reinterpret_cast<SkShader *>(shaderBHandle);
    SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(xfermodeHandle);
    SkAutoTUnref<SkXfermode> xfermode(SkXfermode::Create(mode));
    SkShader* shader = new SkComposeShader(shaderA, shaderB, xfermode.get());
    SkPorterDuff::Mode porterDuffMode = static_cast<SkPorterDuff::Mode>(porterDuffModeHandle);
    SkAutoUnref au(SkPorterDuff::CreateXfermode(porterDuffMode));
    SkXfermode* mode = (SkXfermode*) au.get();
    SkShader* shader = new SkComposeShader(shaderA, shaderB, mode);
    return reinterpret_cast<jlong>(shader);
}

+2 −2
Original line number Diff line number Diff line
@@ -185,8 +185,8 @@ static jboolean clipRegion(JNIEnv* env, jobject, jlong canvasHandle, jlong devic
}

static void drawColor(JNIEnv* env, jobject, jlong canvasHandle, jint color, jint modeHandle) {
    SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(modeHandle);
    get_canvas(canvasHandle)->drawColor(color, mode);
     SkPorterDuff::Mode mode = static_cast<SkPorterDuff::Mode>(modeHandle);
     get_canvas(canvasHandle)->drawColor(color, SkPorterDuff::ToXfermodeMode(mode));
}

static void drawPaint(JNIEnv* env, jobject, jlong canvasHandle, jlong paintHandle) {
+7 −7
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ package android.graphics;

public class PorterDuff {

    // these value must match their native equivalents. See SkXfermode.h
    // these value must match their native equivalents. See SkPorterDuff.h
    public enum Mode {
        /** [0, 0] */
        CLEAR       (0),
@@ -46,17 +46,17 @@ public class PorterDuff {
        XOR         (11),
        /** [Sa + Da - Sa*Da,
             Sc*(1 - Da) + Dc*(1 - Sa) + min(Sc, Dc)] */
        DARKEN      (16),
        DARKEN      (12),
        /** [Sa + Da - Sa*Da,
             Sc*(1 - Da) + Dc*(1 - Sa) + max(Sc, Dc)] */
        LIGHTEN     (17),
        LIGHTEN     (13),
        /** [Sa * Da, Sc * Dc] */
        MULTIPLY    (24),
        MULTIPLY    (14),
        /** [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] */
        SCREEN      (14),
        SCREEN      (15),
        /** Saturate(S + D) */
        ADD         (12),
        OVERLAY     (15);
        ADD         (16),
        OVERLAY     (17);

        Mode(int nativeInt) {
            this.nativeInt = nativeInt;