// @(#)root/gl:$Name: $:$Id: TGLLogicalShape.h,v 1.4 2005/05/28 12:21:00 rdm Exp $
// Author: Richard Maunder 25/05/2005
/*************************************************************************
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGLLogicalShape
#define ROOT_TGLLogicalShape
#ifndef ROOT_TGLDrawable
#include "TGLDrawable.h"
#endif
class TContextMenu;
/*************************************************************************
* TGLLogicalShape - TODO
*
*
*
*************************************************************************/
class TGLLogicalShape : public TGLDrawable { // Rename TGLLogicalObject?
private:
// Fields
mutable UInt_t fRef; //! physical instance ref counting
public:
TGLLogicalShape(ULong_t ID);
virtual ~TGLLogicalShape();
virtual void Purge();
virtual void InvokeContextMenu(TContextMenu & menu, UInt_t x, UInt_t y) const = 0;
// Physical shape ref counting
void AddRef() const { ++fRef; }
Bool_t SubRef() const { if (--fRef == 0) return kTRUE; return kFALSE; }
UInt_t Ref() const { return fRef; }
ClassDef(TGLLogicalShape,0) // a logical (non-placed, local frame) drawable object
};
#endif // ROOT_TGLLogicalShape
syntax highlighted by Code2HTML, v. 0.9.1