Home | History | Annotate | Download | only in debug
      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 debug interface class manages resources
     18 class GrTextureUnitObj : public GrFakeRefObj {
     19     GR_DEFINE_CREATOR(GrTextureUnitObj)
     20 
     21 public:
     22     GrTextureUnitObj()
     23         : GrFakeRefObj()
     24         , fNumber(0)
     25         , fTexture(nullptr) {
     26     }
     27 
     28     void setNumber(GrGLenum number) {
     29         fNumber = number;
     30     }
     31     GrGLenum getNumber() const { return fNumber; }
     32 
     33     void setTexture(GrTextureObj *texture);
     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