2 * Copyright 2016 Google Inc.
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
8 #ifndef GrGLSLColorSpaceXformHelper_DEFINED
9 #define GrGLSLColorSpaceXformHelper_DEFINED
11 #include "GrGLSLUniformHandler.h"
13 class GrColorSpaceXform;
16 * Stack helper class to assist with using GrColorSpaceXform within an FP's emitCode function.
18 class GrGLSLColorSpaceXformHelper : public SkNoncopyable {
20 GrGLSLColorSpaceXformHelper(GrGLSLUniformHandler* uniformHandler,
21 GrColorSpaceXform* colorSpaceXform,
22 GrGLSLProgramDataManager::UniformHandle* handle) {
23 SkASSERT(uniformHandler && handle);
24 if (colorSpaceXform) {
25 *handle = uniformHandler->addUniform(kFragment_GrShaderFlag, kMat44f_GrSLType,
26 kDefault_GrSLPrecision, "ColorXform",
29 fXformMatrix = nullptr;
33 const char* getXformMatrix() const { return fXformMatrix; }
36 const char* fXformMatrix;