1 /* 2 * Copyright 2017 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 /* 9 * This file was autogenerated from GrBlurredEdgeFragmentProcessor.fp; do not modify. 10 */ 11 #ifndef GrBlurredEdgeFragmentProcessor_DEFINED 12 #define GrBlurredEdgeFragmentProcessor_DEFINED 13 #include "SkTypes.h" 14 #if SK_SUPPORT_GPU 15 #include "GrFragmentProcessor.h" 16 #include "GrCoordTransform.h" 17 #include "GrColorSpaceXform.h" 18 #include "effects/GrProxyMove.h" 19 class GrBlurredEdgeFragmentProcessor : public GrFragmentProcessor { 20 public: 21 enum Mode { kGaussian_Mode = 0, kSmoothStep_Mode = 1 }; mode()22 int mode() const { return fMode; } Make(int mode)23 static sk_sp<GrFragmentProcessor> Make(int mode) { 24 return sk_sp<GrFragmentProcessor>(new GrBlurredEdgeFragmentProcessor(mode)); 25 } name()26 const char* name() const override { return "BlurredEdgeFragmentProcessor"; } 27 28 private: GrBlurredEdgeFragmentProcessor(int mode)29 GrBlurredEdgeFragmentProcessor(int mode) : INHERITED(kNone_OptimizationFlags), fMode(mode) { 30 this->initClassID<GrBlurredEdgeFragmentProcessor>(); 31 } 32 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; 33 void onGetGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override; 34 bool onIsEqual(const GrFragmentProcessor&) const override; 35 GR_DECLARE_FRAGMENT_PROCESSOR_TEST 36 int fMode; 37 typedef GrFragmentProcessor INHERITED; 38 }; 39 #endif 40 #endif 41