1 /* 2 * Copyright 2018 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 GrLinearGradientLayout.fp; do not modify. 10 **************************************************************************************************/ 11 #ifndef GrLinearGradientLayout_DEFINED 12 #define GrLinearGradientLayout_DEFINED 13 14 #include "include/core/SkM44.h" 15 #include "include/core/SkTypes.h" 16 17 #include "src/gpu/effects/GrMatrixEffect.h" 18 #include "src/gpu/gradients/GrGradientShader.h" 19 #include "src/shaders/gradients/SkLinearGradient.h" 20 21 #include "src/gpu/GrFragmentProcessor.h" 22 23 class GrLinearGradientLayout : public GrFragmentProcessor { 24 public: 25 static std::unique_ptr<GrFragmentProcessor> Make(const SkLinearGradient& gradient, 26 const GrFPArgs& args); 27 GrLinearGradientLayout(const GrLinearGradientLayout& src); 28 std::unique_ptr<GrFragmentProcessor> clone() const override; name()29 const char* name() const override { return "LinearGradientLayout"; } 30 31 private: GrLinearGradientLayout()32 GrLinearGradientLayout() 33 : INHERITED(kGrLinearGradientLayout_ClassID, 34 (OptimizationFlags)kPreservesOpaqueInput_OptimizationFlag) { 35 this->setUsesSampleCoordsDirectly(); 36 } 37 std::unique_ptr<GrGLSLFragmentProcessor> onMakeProgramImpl() const override; 38 void onGetGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override; 39 bool onIsEqual(const GrFragmentProcessor&) const override; 40 #if GR_TEST_UTILS 41 SkString onDumpInfo() const override; 42 #endif 43 GR_DECLARE_FRAGMENT_PROCESSOR_TEST 44 using INHERITED = GrFragmentProcessor; 45 }; 46 #endif 47