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 GrLumaColorFilterEffect.fp; do not modify.
     10  **************************************************************************************************/
     11 #ifndef GrLumaColorFilterEffect_DEFINED
     12 #define GrLumaColorFilterEffect_DEFINED
     13 #include "SkTypes.h"
     14 #include "GrFragmentProcessor.h"
     15 #include "GrCoordTransform.h"
     16 class GrLumaColorFilterEffect : public GrFragmentProcessor {
     17 public:
     18 #include "SkColorData.h"
     19 
     20     SkPMColor4f constantOutputForConstantInput(const SkPMColor4f& input) const override {
     21         float luma = SK_ITU_BT709_LUM_COEFF_R * input.fR + SK_ITU_BT709_LUM_COEFF_G * input.fG +
     22                      SK_ITU_BT709_LUM_COEFF_B * input.fB;
     23         return {0, 0, 0, luma};
     24     }
     25     static std::unique_ptr<GrFragmentProcessor> Make() {
     26         return std::unique_ptr<GrFragmentProcessor>(new GrLumaColorFilterEffect());
     27     }
     28     GrLumaColorFilterEffect(const GrLumaColorFilterEffect& src);
     29     std::unique_ptr<GrFragmentProcessor> clone() const override;
     30     const char* name() const override { return "LumaColorFilterEffect"; }
     31 
     32 private:
     33     GrLumaColorFilterEffect()
     34             : INHERITED(kGrLumaColorFilterEffect_ClassID, kNone_OptimizationFlags) {}
     35     GrGLSLFragmentProcessor* onCreateGLSLInstance() const override;
     36     void onGetGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override;
     37     bool onIsEqual(const GrFragmentProcessor&) const override;
     38     GR_DECLARE_FRAGMENT_PROCESSOR_TEST
     39     typedef GrFragmentProcessor INHERITED;
     40 };
     41 #endif
     42