1 2 /* 3 * Copyright 2012 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9 #ifndef GrShaderObj_DEFINED 10 #define GrShaderObj_DEFINED 11 12 #include "GrFakeRefObj.h" 13 #include "../GrGLDefines.h" 14 15 //////////////////////////////////////////////////////////////////////////////// 16 class GrShaderObj : public GrFakeRefObj { 17 GR_DEFINE_CREATOR(GrShaderObj); 18 19 public: GrShaderObj()20 GrShaderObj() 21 : GrFakeRefObj() 22 , fType(GR_GL_VERTEX_SHADER) {} 23 setType(GrGLenum type)24 void setType(GrGLenum type) { fType = type; } getType()25 GrGLenum getType() { return fType; } 26 27 void deleteAction() override; 28 29 protected: 30 private: 31 GrGLenum fType; // either GR_GL_VERTEX_SHADER or GR_GL_FRAGMENT_SHADER 32 33 typedef GrFakeRefObj INHERITED; 34 }; 35 36 #endif // GrShaderObj_DEFINED 37