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