12 #ifndef ROOT_TGLContext
13 #define ROOT_TGLContext
38 std::unique_ptr<TGLContextPrivate>
fPimpl;
static TGLContext * GetDefaultContextAny()
Get the first GL context with the default identity.
static TGLContextIdentity * GetDefaultIdentity()
Get identity of a default Gl context. Static.
Int_t GetClientRefCnt() const
std::pair< UInt_t, Int_t > DLRange_t
Identifier of a shared GL-context.
DLTrash_t::const_iterator DLTrashIt_t
std::list< TGLContext * > CtxList_t
TGLContextIdentity * fIdentity
void CheckDestroy()
Private function called when reference count is reduced.
void Release(TGLContext *ctx)
Remove context ctx from the list of references.
#define ClassDef(name, id)
TGLContextIdentity * GetIdentity() const
We can have several shared contexts, and gl-scene wants to know, if some context (defined by its iden...
Bool_t MakeCurrent()
If context is valid (TGLPaintDevice, for which context was created still exists), make it current...
std::list< DLRange_t > DLTrash_t
virtual ~TGLContextIdentity()
Destructor.
static TGLContextIdentity * GetCurrent()
Find identitfy of current context. Static.
TGLContext(TGLWidget *glWidget, Bool_t shareDefault=kTRUE, const TGLContext *shareList=0)
TGLContext ctor "from" TGLWidget.
TGLFontManager * fFontManager
void DeleteGLResources()
Delete GL resources registered for destruction.
static void GlewInit()
Initialize GLEW - static private function.
TGLFontManager * GetFontManager()
Get the free-type font-manager associated with this context-identity.
void SetContext(TGLWidget *widget, const TGLContext *shareList)
X11 gl-context creation.
void SwapBuffers()
If context is valid (TGLPaintDevice, for which context was created still exists), swap buffers (in ca...
This class encapsulates window-system specific information about a GL-context and alows their proper ...
Bool_t ClearCurrent()
Reset current context.
void AddRef(TGLContext *ctx)
Add context ctx to the list of references.
TGLContextIdentity()
Constructor.
void Release()
Make the context invalid and (do thread switch, if needed) free resources.
static TGLContext * GetCurrent()
Ask TGLContextPrivate to lookup context in its internal map.
A FreeType GL font manager.
static Bool_t fgGlewInitDone
static TGLContextIdentity * fgDefaultIdentity
void RegisterDLNameRangeToWipe(UInt_t base, Int_t size)
Remember dl range for deletion in next MakeCurrent or dtor execution.
virtual ~TGLContext()
TGLContext dtor.
std::unique_ptr< TGLContextPrivate > fPimpl
TGLContext & operator=(const TGLContext &)