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////////////////////////////////////////////////////////////////////////////////
16class GrShaderObj : public GrFakeRefObj {
17    GR_DEFINE_CREATOR(GrShaderObj);
18
19public:
20    GrShaderObj()
21        : GrFakeRefObj()
22        , fType(GR_GL_VERTEX_SHADER)    {}
23
24    void setType(GrGLenum type)         { fType = type; }
25    GrGLenum getType()                  { return fType; }
26
27    virtual void deleteAction() SK_OVERRIDE;
28
29protected:
30private:
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