/* * Copyright 2018 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /************************************************************************************************** *** This file was autogenerated from GrMagnifierEffect.fp; do not modify. **************************************************************************************************/ #ifndef GrMagnifierEffect_DEFINED #define GrMagnifierEffect_DEFINED #include "include/core/SkM44.h" #include "include/core/SkTypes.h" #include "src/gpu/GrFragmentProcessor.h" class GrMagnifierEffect : public GrFragmentProcessor { public: static std::unique_ptr Make(std::unique_ptr src, SkIRect bounds, SkRect srcRect, float xInvZoom, float yInvZoom, float xInvInset, float yInvInset) { return std::unique_ptr(new GrMagnifierEffect( std::move(src), bounds, srcRect, xInvZoom, yInvZoom, xInvInset, yInvInset)); } GrMagnifierEffect(const GrMagnifierEffect& src); std::unique_ptr clone() const override; const char* name() const override { return "MagnifierEffect"; } SkIRect bounds; SkRect srcRect; float xInvZoom; float yInvZoom; float xInvInset; float yInvInset; private: GrMagnifierEffect(std::unique_ptr src, SkIRect bounds, SkRect srcRect, float xInvZoom, float yInvZoom, float xInvInset, float yInvInset) : INHERITED(kGrMagnifierEffect_ClassID, kNone_OptimizationFlags) , bounds(bounds) , srcRect(srcRect) , xInvZoom(xInvZoom) , yInvZoom(yInvZoom) , xInvInset(xInvInset) , yInvInset(yInvInset) { this->setUsesSampleCoordsDirectly(); this->registerChild(std::move(src), SkSL::SampleUsage::Explicit()); } std::unique_ptr onMakeProgramImpl() const override; void onGetGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override; bool onIsEqual(const GrFragmentProcessor&) const override; #if GR_TEST_UTILS SkString onDumpInfo() const override; #endif GR_DECLARE_FRAGMENT_PROCESSOR_TEST using INHERITED = GrFragmentProcessor; }; #endif