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

Commit b11e2dea authored by Kevin Lubick's avatar Kevin Lubick
Browse files

Remove use of private SkBlurMask.h

This also makes a use of src/core/SkTraceEventCommon.h explicit.

These are small steps toward removing Skia's src/core from
the hwui include search path.

Change-Id: I4fe843a4e44a675748bfe2cef329202eb4dab7bf
Bug: skia:13983
parent 15530467
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);