From b11e2dea56bd59ab503f95652b0125738c4b477d Mon Sep 17 00:00:00 2001 From: Kevin Lubick Date: Thu, 16 Feb 2023 13:01:41 +0000 Subject: [PATCH] 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 --- libs/hwui/Properties.cpp | 2 +- libs/hwui/jni/MaskFilter.cpp | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libs/hwui/Properties.cpp b/libs/hwui/Properties.cpp index b0896daee2a1d..33c9eac41cb64 100644 --- a/libs/hwui/Properties.cpp +++ b/libs/hwui/Properties.cpp @@ -21,7 +21,7 @@ #ifdef __ANDROID__ #include "HWUIProperties.sysprop.h" #endif -#include "SkTraceEventCommon.h" +#include "src/core/SkTraceEventCommon.h" #include #include diff --git a/libs/hwui/jni/MaskFilter.cpp b/libs/hwui/jni/MaskFilter.cpp index 048ce025ce279..cbd452031f696 100644 --- a/libs/hwui/jni/MaskFilter.cpp +++ b/libs/hwui/jni/MaskFilter.cpp @@ -1,6 +1,5 @@ #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(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);