SkBlurMaskFilter.h 代码
时间: 2023-09-21 09:13:24 浏览: 45
以下是SkBlurMaskFilter.h的代码,您可以查看是否正确使用了BlurStyle类型:
```
#ifndef SkBlurMaskFilter_DEFINED
#define SkBlurMaskFilter_DEFINED
#include "include/core/SkMaskFilter.h"
class SK_API SkBlurMaskFilter : public SkMaskFilter {
public:
enum BlurStyle {
kNormal_SkBlurStyle, //!< fuzzy inside and outside
kSolid_SkBlurStyle, //!< solid inside, fuzzy outside
kOuter_SkBlurStyle, //!< nothing inside, fuzzy outside
kInner_SkBlurStyle, //!< fuzzy inside, nothing outside
kLastEnum_SkBlurStyle = kInner_SkBlurStyle
};
static constexpr int kBlurStyleCount = kLastEnum_SkBlurStyle + 1;
/** Create a blur maskfilter.
@param sigma Standard deviation of the Gaussian blur to apply. Must be > 0.
@param style How to apply the blur to the drawing. This cannot be nullptr.
@param respectCTM If true, the blur's sigma will respect the current transform's scale.
@return the new maskfilter.
*/
static sk_sp<SkMaskFilter> Make(SkScalar sigma, SkBlurMaskFilter::BlurStyle style,
bool respectCTM = false);
static sk_sp<SkMaskFilter> MakeEmboss(SkScalar sigma, const SkScalar[3], SkScalar ambient,
SkScalar specular);
BlurStyle getBlurStyle() const { return fBlurStyle; }
SkScalar getSigma() const { return fSigma; }
bool respectCTM() const { return fRespectCTM; }
bool filterMask(SkMask*, const SkMask&, const SkMatrix&, SkIPoint*) const override;
SkMaskFilter::BlurRec computeBlurRec(const SkMatrix& matrix, SkScalar totalSigma) const override;
const char* getTypeName() const override { return "SkBlurMaskFilter"; }
#if SK_SUPPORT_GPU
std::unique_ptr<GrFragmentProcessor> asFragmentProcessor(const GrFPArgs&) const override;
#endif
protected:
explicit SkBlurMaskFilter(SkScalar sigma, SkBlurMaskFilter::BlurStyle style, bool respectCTM);
private:
SkScalar fSigma;
BlurStyle fBlurStyle;
bool fRespectCTM;
typedef SkMaskFilter INHERITED;
};
#endif
```
如果您仍然无法解决问题,请提供更多上下文信息,以便我更好地帮助您。