#ifndef ROOT_TEveDigitSet
#define ROOT_TEveDigitSet
#include "TNamed.h"
#include "TQObject.h"
#include "TAtt3D.h"
#include "TAttBBox.h"
#include "TEveUtil.h"
#include "TEveElement.h"
#include "TEveFrameBox.h"
#include "TEveRGBAPalette.h"
#include "TEveChunkManager.h"
#include "TObject.h"
class TEveDigitSet : public TEveElement,
public TNamed, public TQObject,
public TAtt3D,
public TAttBBox
{
friend class TEveDigitSetEditor;
TEveDigitSet(const TEveDigitSet&);
TEveDigitSet& operator=(const TEveDigitSet&);
public:
enum ERenderMode_e { kRM_AsIs, kRM_Line, kRM_Fill };
typedef void (*Callback_foo)(TEveDigitSet*, Int_t, TObject*);
protected:
struct DigitBase_t
{
Int_t fValue;
TRef fId;
DigitBase_t(Int_t v=0) : fValue(v), fId() {}
virtual ~DigitBase_t() {}
};
Int_t fDefaultValue;
Bool_t fValueIsColor;
Bool_t fOwnIds;
TEveChunkManager fPlex;
DigitBase_t* fLastDigit;
TEveFrameBox* fFrame;
TEveRGBAPalette* fPalette;
ERenderMode_e fRenderMode;
Bool_t fDisableLigting;
Bool_t fHistoButtons;
Bool_t fEmitSignals;
Callback_foo fCallbackFoo;
DigitBase_t* NewDigit();
void ReleaseIds();
public:
TEveDigitSet(const Text_t* n="TEveDigitSet", const Text_t* t="");
virtual ~TEveDigitSet();
virtual Bool_t CanEditMainColor() const { return kTRUE; }
virtual void SetMainColor(Color_t color);
virtual Bool_t CanEditMainTransparency() const { return kTRUE; }
void RefitPlex();
void ScanMinMaxValues(Int_t& min, Int_t& max);
void DigitValue(Int_t value);
void DigitColor(Color_t ci);
void DigitColor(Color_t ci, UChar_t transparency);
void DigitColor(UChar_t r, UChar_t g, UChar_t b, UChar_t a=255);
void DigitColor(UChar_t* rgba);
void DigitId(TObject* id);
Bool_t GetOwnIds() const { return fOwnIds; }
void SetOwnIds(Bool_t o) { fOwnIds = o; }
DigitBase_t* GetDigit(Int_t n) { return (DigitBase_t*) fPlex.Atom(n); }
TObject* GetId(Int_t n) { return GetDigit(n)->fId.GetObject(); }
virtual void Paint(Option_t* option="");
virtual void DigitSelected(Int_t idx);
virtual void SecSelected(TEveDigitSet* qs, Int_t idx);
TEveChunkManager* GetPlex() { return &fPlex; }
TEveFrameBox* GetFrame() const { return fFrame; }
void SetFrame(TEveFrameBox* b);
Bool_t GetValueIsColor() const { return fValueIsColor; }
TEveRGBAPalette* GetPalette() const { return fPalette; }
void SetPalette(TEveRGBAPalette* p);
TEveRGBAPalette* AssertPalette();
ERenderMode_e GetRenderMode() const { return fRenderMode; }
void SetRenderMode(ERenderMode_e rm) { fRenderMode = rm; }
Bool_t GetHistoButtons() const { return fHistoButtons; }
void SetHistoButtons(Bool_t f) { fHistoButtons = f; }
Bool_t GetEmitSignals() const { return fEmitSignals; }
void SetEmitSignals(Bool_t f) { fEmitSignals = f; }
Callback_foo GetCallbackFoo() const { return fCallbackFoo; }
void SetCallbackFoo(Callback_foo f) { fCallbackFoo = f; }
ClassDef(TEveDigitSet, 0);
};
#endif
Last change: Fri Oct 31 16:20:48 2008
Last generated: 2008-10-31 16:20
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.