#ifndef ROOT_TLegend
#define ROOT_TLegend
#ifndef ROOT_TPave
#include "TPave.h"
#endif
#ifndef ROOT_TAttText
#include "TAttText.h"
#endif
class TObject;
class TList;
class TLegendEntry;
class TLegend : public TPave , public TAttText {
protected:
TLegend& operator=(const TLegend&);
public:
TLegend();
TLegend( Double_t x1, Double_t y1, Double_t x2, Double_t y2,
const char* header = "", Option_t* option="brNDC" );
virtual ~TLegend();
TLegend( const TLegend &legend );
TLegendEntry *AddEntry(const TObject* obj, const char* label = "", Option_t* option = "lpf" );
TLegendEntry *AddEntry(const char *name, const char* label = "", Option_t* option = "lpf" );
virtual void Clear( Option_t* option = "" );
virtual void Copy( TObject &obj ) const;
virtual void DeleteEntry();
virtual void Draw( Option_t* option = "" );
virtual void EditEntryAttFill();
virtual void EditEntryAttLine();
virtual void EditEntryAttMarker();
virtual void EditEntryAttText();
Float_t GetColumnSeparation() const { return fColumnSeparation; }
TLegendEntry *GetEntry() const;
Float_t GetEntrySeparation() const { return fEntrySeparation; }
virtual const char *GetHeader() const;
TList *GetListOfPrimitives() const {return fPrimitives;}
Float_t GetMargin() const { return fMargin; }
Int_t GetNColumns() const { return fNColumns; }
Int_t GetNRows() const;
virtual void InsertEntry( const char* objectName = "",const char* label = "",
Option_t* option = "lpf" );
virtual void Paint( Option_t* option = "" );
virtual void PaintPrimitives();
virtual void Print( Option_t* option = "" ) const;
virtual void RecursiveRemove(TObject *obj);
virtual void SavePrimitive(ostream &out, Option_t *option = "");
void SetDefaults() { fEntrySeparation = 0.1f; fMargin = 0.25f; fNColumns = 1; fColumnSeparation = 0.0f; }
void SetColumnSeparation( Float_t columnSeparation )
{ fColumnSeparation = columnSeparation; }
virtual void SetEntryLabel( const char* label );
virtual void SetEntryOption( Option_t* option );
void SetEntrySeparation( Float_t entryseparation )
{ fEntrySeparation = entryseparation; }
virtual void SetHeader( const char *header = "" );
void SetMargin( Float_t margin ) { fMargin = margin; }
void SetNColumns( Int_t nColumns );
protected:
TList *fPrimitives;
Float_t fEntrySeparation;
Float_t fMargin;
Int_t fNColumns;
Float_t fColumnSeparation;
ClassDef(TLegend,2)
};
#endif