///////////////////////////////////////////////////////////////////////////////
// CallList
// - "Smart" wrapper for managing OpenGL call lists
// - Automatically frees call list when destroyed
///////////////////////////////////////////////////////////////////////////////
class CallList
{
public:
GLenum id;
// Construct a CallList object with no id number
inline CallList()
// Create a new OpenGL CallList ID
inline void create()
// Deallocate the CallList ID (if one was created)
inline void clear()
// Return the ID number and drop the CallList contents without freeing the call list.
inline GLenum detach()
// Assign the CallList ID number from a GLenum (be careful not to deallocate the other one!)
inline void operator =(GLenum newID)
// Extract the CallList ID number from the class
inline operator GLenum() const
// Destroy the CallList (deallocate the ID)
inline ~CallList()
};