• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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