namespace gl
{
-Object::Object(GLuint name) : name(name)
+Object::Object()
{
referenceCount = 0;
}
}
}
+NamedObject::NamedObject(GLuint name) : name(name)
+{
+}
+
+NamedObject::~NamedObject()
+{
+}
+
}
class Object
{
public:
- explicit Object(GLuint name);
+ Object();
virtual ~Object();
virtual void addRef();
virtual void release();
-
- const GLuint name;
private:
volatile int referenceCount;
};
+class NamedObject : public Object
+{
+public:
+ explicit NamedObject(GLuint name);
+ virtual ~NamedObject();
+
+ const GLuint name;
+};
+
template<class ObjectType>
class BindingPointer
{
\r
namespace egl\r
{\r
-class Texture : public gl::Object\r
+class Texture : public gl::NamedObject\r
{\r
public:\r
- Texture(GLuint name) : Object(name) {};\r
+ Texture(GLuint name) : NamedObject(name) {};\r
virtual void releaseTexImage() = 0;\r
};\r
}\r
namespace gl
{
-Buffer::Buffer(GLuint name) : Object(name)
+Buffer::Buffer(GLuint name) : NamedObject(name)
{
mContents = 0;
mSize = 0;
\r
namespace gl\r
{\r
-class Buffer : public Object\r
+class Buffer : public NamedObject\r
{\r
public:\r
explicit Buffer(GLuint name);\r
namespace gl\r
{\r
\r
-Query::Query(GLuint name, GLenum type) : Object(name)\r
+Query::Query(GLuint name, GLenum type) : NamedObject(name)\r
{ \r
mQuery = NULL;\r
mStatus = GL_FALSE;\r
namespace gl\r
{\r
\r
-class Query : public Object\r
+class Query : public NamedObject\r
{\r
public:\r
Query(GLuint name, GLenum type);\r
////// Renderbuffer Implementation //////
-Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : Object(name)
+Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : NamedObject(name)
{
ASSERT(instance != NULL);
mInstance = instance;
// Renderbuffer implements the GL renderbuffer object.\r
// It's only a proxy for a RenderbufferInterface instance; the internal object\r
// can change whenever glRenderbufferStorage is called.\r
-class Renderbuffer : public Object\r
+class Renderbuffer : public NamedObject\r
{\r
public:\r
Renderbuffer(GLuint name, RenderbufferInterface *storage);\r
namespace gl\r
{\r
\r
-Texture::Texture(GLuint name) : Object(name)\r
+Texture::Texture(GLuint name) : NamedObject(name)\r
{\r
mMinFilter = GL_NEAREST_MIPMAP_LINEAR;\r
mMagFilter = GL_LINEAR;\r
IMPLEMENTATION_MAX_SAMPLES = 4\r
};\r
\r
-class Texture : public Object\r
+class Texture : public NamedObject\r
{\r
public:\r
explicit Texture(GLuint name);\r
namespace es1
{
-Buffer::Buffer(GLuint name) : Object(name)
+Buffer::Buffer(GLuint name) : NamedObject(name)
{
mContents = 0;
mSize = 0;
\r
namespace es1\r
{\r
-class Buffer : public gl::Object\r
+class Buffer : public gl::NamedObject\r
{\r
public:\r
explicit Buffer(GLuint name);\r
////// Renderbuffer Implementation //////
-Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : Object(name)
+Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : NamedObject(name)
{
ASSERT(instance != NULL);
mInstance = instance;
// Renderbuffer implements the GL renderbuffer object.\r
// It's only a proxy for a RenderbufferInterface instance; the internal object\r
// can change whenever glRenderbufferStorage is called.\r
-class Renderbuffer : public gl::Object\r
+class Renderbuffer : public gl::NamedObject\r
{\r
public:\r
Renderbuffer(GLuint name, RenderbufferInterface *storage);\r
namespace es2
{
-Buffer::Buffer(GLuint name) : Object(name)
+Buffer::Buffer(GLuint name) : NamedObject(name)
{
mContents = 0;
mSize = 0;
\r
namespace es2\r
{\r
-class Buffer : public gl::Object\r
+class Buffer : public gl::NamedObject\r
{\r
public:\r
explicit Buffer(GLuint name);\r
namespace es2\r
{\r
\r
-Query::Query(GLuint name, GLenum type) : Object(name)\r
+Query::Query(GLuint name, GLenum type) : NamedObject(name)\r
{ \r
mQuery = NULL;\r
mStatus = GL_FALSE;\r
namespace es2\r
{\r
\r
-class Query : public gl::Object\r
+class Query : public gl::NamedObject\r
{\r
public:\r
Query(GLuint name, GLenum type);\r
////// Renderbuffer Implementation //////
-Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : Object(name)
+Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : NamedObject(name)
{
ASSERT(instance != NULL);
mInstance = instance;
// Renderbuffer implements the GL renderbuffer object.\r
// It's only a proxy for a RenderbufferInterface instance; the internal object\r
// can change whenever glRenderbufferStorage is called.\r
-class Renderbuffer : public gl::Object\r
+class Renderbuffer : public gl::NamedObject\r
{\r
public:\r
Renderbuffer(GLuint name, RenderbufferInterface *storage);\r
namespace es2\r
{\r
\r
-class Sampler : public gl::Object\r
+class Sampler : public gl::NamedObject\r
{\r
public:\r
- Sampler(GLuint name) : Object(name)\r
+ Sampler(GLuint name) : NamedObject(name)\r
{\r
mMinFilter = GL_NEAREST_MIPMAP_LINEAR;\r
mMagFilter = GL_LINEAR;\r
namespace es2\r
{\r
\r
-TransformFeedback::TransformFeedback(GLuint name) : Object(name), mActive(false), mPaused(false)\r
+TransformFeedback::TransformFeedback(GLuint name) : NamedObject(name), mActive(false), mPaused(false)\r
{\r
mGenericBuffer = NULL;\r
}\r
{\r
class Buffer;\r
\r
-class TransformFeedback : public gl::Object\r
+class TransformFeedback : public gl::NamedObject\r
{\r
public:\r
// FIXME: Change this when implementing transform feedback\r