GrUnpremulInputFragmentProcessor.h revision fe17456d5e528078ce69b5f15cf7adf1fab963f9
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 GrUnpremulInputFragmentProcessor.fp; do not modify. 10 **************************************************************************************************/ 11#ifndef GrUnpremulInputFragmentProcessor_DEFINED 12#define GrUnpremulInputFragmentProcessor_DEFINED 13#include "SkTypes.h" 14#if SK_SUPPORT_GPU 15#include "GrFragmentProcessor.h" 16#include "GrCoordTransform.h" 17class GrUnpremulInputFragmentProcessor : public GrFragmentProcessor { 18public: 19 GrColor4f constantOutputForConstantInput(GrColor4f input) const override { 20 return input.unpremul(); 21 } 22 static std::unique_ptr<GrFragmentProcessor> Make() { 23 return std::unique_ptr<GrFragmentProcessor>(new GrUnpremulInputFragmentProcessor()); 24 } 25 GrUnpremulInputFragmentProcessor(const GrUnpremulInputFragmentProcessor& src); 26 std::unique_ptr<GrFragmentProcessor> clone() const override; 27 const char* name() const override { return "UnpremulInputFragmentProcessor"; } 28 29private: 30 GrUnpremulInputFragmentProcessor() 31 : INHERITED(kGrUnpremulInputFragmentProcessor_ClassID, 32 (OptimizationFlags)kPreservesOpaqueInput_OptimizationFlag | 33 kConstantOutputForConstantInput_OptimizationFlag) {} 34 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; 35 void onGetGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override; 36 bool onIsEqual(const GrFragmentProcessor&) const override; 37 GR_DECLARE_FRAGMENT_PROCESSOR_TEST 38 typedef GrFragmentProcessor INHERITED; 39}; 40#endif 41#endif 42