ROOT  6.06/09
Reference Guide
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | List of all members
TGLLockable Class Reference

Simple locking interface used by viewer and scene.

Definition at line 17 of file TGLLockable.h.

Classes

class  TUnlocker
 

Public Types

enum  ELock { kUnlocked, kDrawLock, kSelectLock, kModifyLock }
 

Public Member Functions

 TGLLockable ()
 
virtual ~TGLLockable ()
 
virtual const char * LockIdStr () const
 
Bool_t TakeLock (ELock lock) const
 Lock the object in mode 'lock'. More...
 
Bool_t ReleaseLock (ELock lock) const
 Release current lock, make sure it the same as the 'lock' argument. More...
 
Bool_t IsLocked () const
 
ELock CurrentLock () const
 
Bool_t IsDrawOrSelectLock () const
 
 ClassDef (TGLLockable, 0)
 

Static Public Member Functions

static const char * LockName (ELock lock)
 Return name-string for given lock-type. More...
 
static Bool_t LockValid (ELock lock)
 Test if lock is a valid type to take/release. More...
 

Protected Attributes

ELock fLock
 

Private Member Functions

 TGLLockable (const TGLLockable &)
 
TGLLockableoperator= (const TGLLockable &)
 

#include <TGLLockable.h>

+ Inheritance diagram for TGLLockable:

Member Enumeration Documentation

Enumerator
kUnlocked 
kDrawLock 
kSelectLock 
kModifyLock 

Definition at line 20 of file TGLLockable.h.

Constructor & Destructor Documentation

TGLLockable::TGLLockable ( const TGLLockable )
private
TGLLockable::TGLLockable ( )

Definition at line 22 of file TGLLockable.cxx.

virtual TGLLockable::~TGLLockable ( )
inlinevirtual

Definition at line 54 of file TGLLockable.h.

Member Function Documentation

TGLLockable::ClassDef ( TGLLockable  ,
 
)
ELock TGLLockable::CurrentLock ( ) const
inline
Bool_t TGLLockable::IsDrawOrSelectLock ( ) const
inline

Definition at line 63 of file TGLLockable.h.

Referenced by TGLSceneBase::PreDraw(), and TGLViewer::SwapBuffers().

Bool_t TGLLockable::IsLocked ( ) const
inline
virtual const char* TGLLockable::LockIdStr ( ) const
inlinevirtual

Reimplemented in TGLViewerBase, and TGLSceneBase.

Definition at line 56 of file TGLLockable.h.

Referenced by ReleaseLock(), and TakeLock().

const char * TGLLockable::LockName ( ELock  lock)
static
Bool_t TGLLockable::LockValid ( ELock  lock)
static

Test if lock is a valid type to take/release.

kUnlocked is never valid in these cases.

Definition at line 85 of file TGLLockable.cxx.

Referenced by ReleaseLock(), and TakeLock().

TGLLockable& TGLLockable::operator= ( const TGLLockable )
private
Bool_t TGLLockable::ReleaseLock ( ELock  lock) const

Release current lock, make sure it the same as the 'lock' argument.

Returns TRUE on success, FALSE on failure.

Definition at line 51 of file TGLLockable.cxx.

Referenced by TGLViewer::DoDraw(), TGLViewer::DoOverlaySelect(), TGLViewer::DoSecondarySelect(), TGLViewer::DoSelect(), TGLScene::EndUpdate(), TGLViewerBase::PostRender(), TGLViewerBase::PreRender(), TGLScene::~TGLScene(), and TGLLockable::TUnlocker::~TUnlocker().

Bool_t TGLLockable::TakeLock ( ELock  lock) const

Member Data Documentation

ELock TGLLockable::fLock
mutableprotected

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