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 #if SK_SUPPORT_GPU
     15 #include "GrFragmentProcessor.h"
     16 #include "GrCoordTransform.h"
     17 class GrLumaColorFilterEffect : public GrFragmentProcessor {
     18 public:
     19 #include "SkColorData.h"
     20 
     21     GrColor4f constantOutputForConstantInput(GrColor4f input) const override {
     22         float luma = SK_ITU_BT709_LUM_COEFF_R * input.fRGBA[0] +
     23                      SK_ITU_BT709_LUM_COEFF_G * input.fRGBA[1] +
     24                      SK_ITU_BT709_LUM_COEFF_B * input.fRGBA[2];
     25         return GrColor4f(0, 0, 0, luma);
     26     }
     27     static std::unique_ptr<GrFragmentProcessor> Make() {
     28         return std::unique_ptr<GrFragmentProcessor>(new GrLumaColorFilterEffect());
     29     }
     30     GrLumaColorFilterEffect(const GrLumaColorFilterEffect& src);
     31     std::unique_ptr<GrFragmentProcessor> clone() const override;
     32     const char* name() const override { return "LumaColorFilterEffect"; }
     33 
     34 private:
     35     GrLumaColorFilterEffect()
     36             : INHERITED(kGrLumaColorFilterEffect_ClassID, kNone_OptimizationFlags) {}
     37     GrGLSLFragmentProcessor* onCreateGLSLInstance() const override;
     38     void onGetGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override;
     39     bool onIsEqual(const GrFragmentProcessor&) const override;
     40     GR_DECLARE_FRAGMENT_PROCESSOR_TEST
     41     typedef GrFragmentProcessor INHERITED;
     42 };
     43 #endif
     44 #endif
     45