Logo ROOT   6.18/05
Reference Guide
List of all members | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
TGLContextIdentity Class Reference

Identifier of a shared GL-context.

Objects shared among GL-contexts include: display-list definitions, texture objects and shader programs.

Definition at line 80 of file TGLContext.h.

Public Member Functions

 TGLContextIdentity ()
 Constructor. More...
 
virtual ~TGLContextIdentity ()
 Destructor. More...
 
void AddClientRef ()
 
void AddRef (TGLContext *ctx)
 Add context ctx to the list of references. More...
 
void DeleteGLResources ()
 Delete GL resources registered for destruction. More...
 
Int_t GetClientRefCnt () const
 
TGLFontManagerGetFontManager ()
 Get the free-type font-manager associated with this context-identity. More...
 
Int_t GetRefCnt () const
 
Bool_t IsValid () const
 
void RegisterDLNameRangeToWipe (UInt_t base, Int_t size)
 Remember dl range for deletion in next MakeCurrent or dtor execution. More...
 
void Release (TGLContext *ctx)
 Remove context ctx from the list of references. More...
 
void ReleaseClient ()
 

Static Public Member Functions

static TGLContextIdentityGetCurrent ()
 Find identitfy of current context. Static. More...
 
static TGLContextGetDefaultContextAny ()
 Get the first GL context with the default identity. More...
 
static TGLContextIdentityGetDefaultIdentity ()
 Get identity of a default Gl context. Static. More...
 

Protected Attributes

TGLFontManagerfFontManager
 

Private Types

typedef std::list< TGLContext * > CtxList_t
 
typedef std::pair< UInt_t, Int_tDLRange_t
 
typedef std::list< DLRange_tDLTrash_t
 
typedef DLTrash_t::const_iterator DLTrashIt_t
 

Private Member Functions

void CheckDestroy ()
 Private function called when reference count is reduced. More...
 

Private Attributes

Int_t fClientCnt
 
Int_t fCnt
 
CtxList_t fCtxs
 
DLTrash_t fDLTrash
 

Static Private Attributes

static TGLContextIdentityfgDefaultIdentity = new TGLContextIdentity
 

#include <TGLContext.h>

Member Typedef Documentation

◆ CtxList_t

typedef std::list<TGLContext*> TGLContextIdentity::CtxList_t
private

Definition at line 121 of file TGLContext.h.

◆ DLRange_t

typedef std::pair<UInt_t, Int_t> TGLContextIdentity::DLRange_t
private

Definition at line 117 of file TGLContext.h.

◆ DLTrash_t

typedef std::list<DLRange_t> TGLContextIdentity::DLTrash_t
private

Definition at line 118 of file TGLContext.h.

◆ DLTrashIt_t

typedef DLTrash_t::const_iterator TGLContextIdentity::DLTrashIt_t
private

Definition at line 119 of file TGLContext.h.

Constructor & Destructor Documentation

◆ TGLContextIdentity()

TGLContextIdentity::TGLContextIdentity ( )

Constructor.

Definition at line 471 of file TGLContext.cxx.

◆ ~TGLContextIdentity()

TGLContextIdentity::~TGLContextIdentity ( )
virtual

Destructor.

Definition at line 479 of file TGLContext.cxx.

Member Function Documentation

◆ AddClientRef()

void TGLContextIdentity::AddClientRef ( )
inline

Definition at line 93 of file TGLContext.h.

◆ AddRef()

void TGLContextIdentity::AddRef ( TGLContext ctx)

Add context ctx to the list of references.

Definition at line 487 of file TGLContext.cxx.

◆ CheckDestroy()

void TGLContextIdentity::CheckDestroy ( )
private

Private function called when reference count is reduced.

Definition at line 577 of file TGLContext.cxx.

◆ DeleteGLResources()

void TGLContextIdentity::DeleteGLResources ( )

Delete GL resources registered for destruction.

Definition at line 522 of file TGLContext.cxx.

◆ GetClientRefCnt()

Int_t TGLContextIdentity::GetClientRefCnt ( ) const
inline

Definition at line 97 of file TGLContext.h.

◆ GetCurrent()

TGLContextIdentity * TGLContextIdentity::GetCurrent ( )
static

Find identitfy of current context. Static.

Definition at line 538 of file TGLContext.cxx.

◆ GetDefaultContextAny()

TGLContext * TGLContextIdentity::GetDefaultContextAny ( )
static

Get the first GL context with the default identity.

Can return zero, but that's OK, too. Static.

Definition at line 558 of file TGLContext.cxx.

◆ GetDefaultIdentity()

TGLContextIdentity * TGLContextIdentity::GetDefaultIdentity ( )
static

Get identity of a default Gl context. Static.

Definition at line 547 of file TGLContext.cxx.

◆ GetFontManager()

TGLFontManager * TGLContextIdentity::GetFontManager ( )

Get the free-type font-manager associated with this context-identity.

Definition at line 568 of file TGLContext.cxx.

◆ GetRefCnt()

Int_t TGLContextIdentity::GetRefCnt ( ) const
inline

Definition at line 96 of file TGLContext.h.

◆ IsValid()

Bool_t TGLContextIdentity::IsValid ( ) const
inline

Definition at line 99 of file TGLContext.h.

◆ RegisterDLNameRangeToWipe()

void TGLContextIdentity::RegisterDLNameRangeToWipe ( UInt_t  base,
Int_t  size 
)

Remember dl range for deletion in next MakeCurrent or dtor execution.

Definition at line 514 of file TGLContext.cxx.

◆ Release()

void TGLContextIdentity::Release ( TGLContext ctx)

Remove context ctx from the list of references.

Definition at line 496 of file TGLContext.cxx.

◆ ReleaseClient()

void TGLContextIdentity::ReleaseClient ( )
inline

Definition at line 94 of file TGLContext.h.

Member Data Documentation

◆ fClientCnt

Int_t TGLContextIdentity::fClientCnt
private

Definition at line 113 of file TGLContext.h.

◆ fCnt

Int_t TGLContextIdentity::fCnt
private

Definition at line 112 of file TGLContext.h.

◆ fCtxs

CtxList_t TGLContextIdentity::fCtxs
private

Definition at line 124 of file TGLContext.h.

◆ fDLTrash

DLTrash_t TGLContextIdentity::fDLTrash
private

Definition at line 123 of file TGLContext.h.

◆ fFontManager

TGLFontManager* TGLContextIdentity::fFontManager
protected

Definition at line 84 of file TGLContext.h.

◆ fgDefaultIdentity

TGLContextIdentity * TGLContextIdentity::fgDefaultIdentity = new TGLContextIdentity
staticprivate

Definition at line 126 of file TGLContext.h.

Libraries for TGLContextIdentity:
[legend]

The documentation for this class was generated from the following files: