Home | History | Annotate | Download | only in effects
      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 GrPremulInputFragmentProcessor.fp; do not modify.
     10  **************************************************************************************************/
     11 #ifndef GrPremulInputFragmentProcessor_DEFINED
     12 #define GrPremulInputFragmentProcessor_DEFINED
     13 #include "SkTypes.h"
     14 #include "GrFragmentProcessor.h"
     15 #include "GrCoordTransform.h"
     16 class GrPremulInputFragmentProcessor : public GrFragmentProcessor {
     17 public:
     18     SkPMColor4f constantOutputForConstantInput(const SkPMColor4f& input) const override {
     19         return SkColor4f{input.fR, input.fG, input.fB, input.fA}.premul();
     20     }
     21     static std::unique_ptr<GrFragmentProcessor> Make() {
     22         return std::unique_ptr<GrFragmentProcessor>(new GrPremulInputFragmentProcessor());
     23     }
     24     GrPremulInputFragmentProcessor(const GrPremulInputFragmentProcessor& src);
     25     std::unique_ptr<GrFragmentProcessor> clone() const override;
     26     const char* name() const override { return "PremulInputFragmentProcessor"; }
     27 
     28 private:
     29     GrPremulInputFragmentProcessor()
     30             : INHERITED(kGrPremulInputFragmentProcessor_ClassID,
     31                         (OptimizationFlags)kPreservesOpaqueInput_OptimizationFlag |
     32                                 kConstantOutputForConstantInput_OptimizationFlag) {}
     33     GrGLSLFragmentProcessor* onCreateGLSLInstance() const override;
     34     void onGetGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override;
     35     bool onIsEqual(const GrFragmentProcessor&) const override;
     36     GR_DECLARE_FRAGMENT_PROCESSOR_TEST
     37     typedef GrFragmentProcessor INHERITED;
     38 };
     39 #endif
     40