From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../skia/src/gpu/effects/GrBitmapTextGeoProc.h | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 gfx/skia/skia/src/gpu/effects/GrBitmapTextGeoProc.h (limited to 'gfx/skia/skia/src/gpu/effects/GrBitmapTextGeoProc.h') diff --git a/gfx/skia/skia/src/gpu/effects/GrBitmapTextGeoProc.h b/gfx/skia/skia/src/gpu/effects/GrBitmapTextGeoProc.h new file mode 100644 index 000000000..226ae770e --- /dev/null +++ b/gfx/skia/skia/src/gpu/effects/GrBitmapTextGeoProc.h @@ -0,0 +1,67 @@ +/* + * Copyright 2013 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef GrBitmapTextGeoProc_DEFINED +#define GrBitmapTextGeoProc_DEFINED + +#include "GrProcessor.h" +#include "GrGeometryProcessor.h" + +class GrGLBitmapTextGeoProc; +class GrInvariantOutput; + +/** + * The output color of this effect is a modulation of the input color and a sample from a texture. + * It allows explicit specification of the filtering and wrap modes (GrTextureParams). The input + * coords are a custom attribute. + */ +class GrBitmapTextGeoProc : public GrGeometryProcessor { +public: + static sk_sp Make(GrColor color, GrTexture* tex, const GrTextureParams& p, + GrMaskFormat format, const SkMatrix& localMatrix, + bool usesLocalCoords) { + return sk_sp( + new GrBitmapTextGeoProc(color, tex, p, format, localMatrix, usesLocalCoords)); + } + + virtual ~GrBitmapTextGeoProc() {} + + const char* name() const override { return "Texture"; } + + const Attribute* inPosition() const { return fInPosition; } + const Attribute* inColor() const { return fInColor; } + const Attribute* inTextureCoords() const { return fInTextureCoords; } + GrMaskFormat maskFormat() const { return fMaskFormat; } + GrColor color() const { return fColor; } + bool colorIgnored() const { return GrColor_ILLEGAL == fColor; } + bool hasVertexColor() const { return SkToBool(fInColor); } + const SkMatrix& localMatrix() const { return fLocalMatrix; } + bool usesLocalCoords() const { return fUsesLocalCoords; } + + void getGLSLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const override; + + GrGLSLPrimitiveProcessor* createGLSLInstance(const GrGLSLCaps& caps) const override; + +private: + GrBitmapTextGeoProc(GrColor, GrTexture* texture, const GrTextureParams& params, + GrMaskFormat format, const SkMatrix& localMatrix, bool usesLocalCoords); + + GrColor fColor; + SkMatrix fLocalMatrix; + bool fUsesLocalCoords; + GrTextureAccess fTextureAccess; + const Attribute* fInPosition; + const Attribute* fInColor; + const Attribute* fInTextureCoords; + GrMaskFormat fMaskFormat; + + GR_DECLARE_GEOMETRY_PROCESSOR_TEST; + + typedef GrGeometryProcessor INHERITED; +}; + +#endif -- cgit v1.2.3