• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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