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

Commit 3ed86af2 authored by Kevin Lubick's avatar Kevin Lubick Committed by Android (Google) Code Review
Browse files

Merge "Remove use of private SkBlurMask.h"

parents dbb9c473 b11e2dea
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
#ifdef __ANDROID__
#include "HWUIProperties.sysprop.h"
#endif
#include "SkTraceEventCommon.h"
#include "src/core/SkTraceEventCommon.h"

#include <algorithm>
#include <cstdlib>
+9 −3
Original line number Diff line number Diff line
#include "GraphicsJNI.h"
#include "SkMaskFilter.h"
#include "SkBlurMask.h"
#include "SkBlurMaskFilter.h"
#include "SkBlurTypes.h"
#include "SkTableMaskFilter.h"
@@ -11,6 +10,13 @@ static void ThrowIAE_IfNull(JNIEnv* env, void* ptr) {
    }
}

// From https://skia.googlesource.com/skia/+/d74c99a3cd5eef5f16b2eb226e6b45fe523c8552/src/core/SkBlurMask.cpp#28
static constexpr float kBLUR_SIGMA_SCALE = 0.57735f;

static float convertRadiusToSigma(float radius) {
    return radius > 0 ? kBLUR_SIGMA_SCALE * radius + 0.5f : 0.0f;
}

class SkMaskFilterGlue {
public:
    static void destructor(JNIEnv* env, jobject, jlong filterHandle) {
@@ -19,7 +25,7 @@ public:
    }

    static jlong createBlur(JNIEnv* env, jobject, jfloat radius, jint blurStyle) {
        SkScalar sigma = SkBlurMask::ConvertRadiusToSigma(radius);
        SkScalar sigma = convertRadiusToSigma(radius);
        SkMaskFilter* filter = SkMaskFilter::MakeBlur((SkBlurStyle)blurStyle, sigma).release();
        ThrowIAE_IfNull(env, filter);
        return reinterpret_cast<jlong>(filter);
@@ -34,7 +40,7 @@ public:
            direction[i] = values[i];
        }

        SkScalar sigma = SkBlurMask::ConvertRadiusToSigma(radius);
        SkScalar sigma = convertRadiusToSigma(radius);
        SkMaskFilter* filter =  SkBlurMaskFilter::MakeEmboss(sigma,
                direction, ambient, specular).release();
        ThrowIAE_IfNull(env, filter);