• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2012 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #ifndef GrTextureUnitObj_DEFINED
9 #define GrTextureUnitObj_DEFINED
10 
11 #include "GrFakeRefObj.h"
12 class GrTextureObj;
13 
14 ////////////////////////////////////////////////////////////////////////////////
15 // Although texture unit objects are allocated & deallocated like the other
16 // GL emulation objects they are derived from GrFakeRefObj to provide some
17 // uniformity in how the GrDebugGL class manages resources
18 class GrTextureUnitObj : public GrFakeRefObj {
19     GR_DEFINE_CREATOR(GrTextureUnitObj);
20 
21 public:
GrTextureUnitObj()22     GrTextureUnitObj()
23         : GrFakeRefObj()
24         , fNumber(0)
25         , fTexture(nullptr) {
26     }
27 
setNumber(GrGLenum number)28     void setNumber(GrGLenum number) {
29         fNumber = number;
30     }
getNumber()31     GrGLenum getNumber() const { return fNumber; }
32 
33     void setTexture(GrTextureObj *texture);
getTexture()34     GrTextureObj *getTexture()                  { return fTexture; }
35 
36 protected:
37 private:
38     GrGLenum fNumber;
39     GrTextureObj *fTexture;
40 
41     typedef GrFakeRefObj INHERITED;
42 };
43 
44 #endif // GrTextureUnitObj_DEFINED
45