1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 3cb93a386Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4cb93a386Sopenharmony_ci * you may not use this file except in compliance with the License. 5cb93a386Sopenharmony_ci * You may obtain a copy of the License at 6cb93a386Sopenharmony_ci * 7cb93a386Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8cb93a386Sopenharmony_ci * 9cb93a386Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10cb93a386Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11cb93a386Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12cb93a386Sopenharmony_ci * See the License for the specific language governing permissions and 13cb93a386Sopenharmony_ci * limitations under the License. 14cb93a386Sopenharmony_ci */ 15cb93a386Sopenharmony_ci 16cb93a386Sopenharmony_ci#ifndef GR_SDF_BLUR_EFFECT_DEFINED 17cb93a386Sopenharmony_ci#define GR_SDF_BLUR_EFFECT_DEFINED 18cb93a386Sopenharmony_ci 19cb93a386Sopenharmony_ci#include "include/core/SkPoint.h" 20cb93a386Sopenharmony_ci#include "src/core/SkRuntimeEffectPriv.h" 21cb93a386Sopenharmony_ci#include "src/gpu/effects/GrSkSLFP.h" 22cb93a386Sopenharmony_ci#include "src/gpu/effects/GrMatrixEffect.h" 23cb93a386Sopenharmony_ci#include "src/gpu/GrFragmentProcessor.h" 24cb93a386Sopenharmony_ci#include "include/effects/SkRuntimeEffect.h" 25cb93a386Sopenharmony_ci 26cb93a386Sopenharmony_ciclass GrSDFBlurEffect : public GrFragmentProcessor { 27cb93a386Sopenharmony_cipublic: 28cb93a386Sopenharmony_ci inline static constexpr float kHalfFactor = 2.f; 29cb93a386Sopenharmony_ci 30cb93a386Sopenharmony_ci static std::unique_ptr<GrFragmentProcessor> Make(GrRecordingContext* context, float noxFormedSigma, 31cb93a386Sopenharmony_ci const SkRRect& srcRRect); 32cb93a386Sopenharmony_ci}; 33cb93a386Sopenharmony_ci#endif 34