Merge "Remove use of private SkBlurMask.h"
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
#ifdef __ANDROID__
|
||||
#include "HWUIProperties.sysprop.h"
|
||||
#endif
|
||||
#include "SkTraceEventCommon.h"
|
||||
#include "src/core/SkTraceEventCommon.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstdlib>
|
||||
|
||||
@@ -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<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);
|
||||
|
||||
Reference in New Issue
Block a user