// @(#)root/base:$Id: 5214d7dc2746ceb518366bc6c4f4068b652d5241 $
// Author: Rene Brun   12/12/94

/*************************************************************************
 * Copyright (C) 1995-2000, 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_TStyle
#define ROOT_TStyle


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TStyle                                                               //
//                                                                      //
// A collection of all graphics attributes.                             //
//                                                                      //
//////////////////////////////////////////////////////////////////////////


#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
#ifndef ROOT_TAttAxis
#include "TAttAxis.h"
#endif
#ifndef ROOT_TAttLine
#include "TAttLine.h"
#endif
#ifndef ROOT_TAttFill
#include "TAttFill.h"
#endif
#ifndef ROOT_TAttText
#include "TAttText.h"
#endif
#ifndef ROOT_TAttMarker
#include "TAttMarker.h"
#endif
#ifndef ROOT_TArrayI
#include "TArrayI.h"
#endif

class TBrowser;

class TStyle : public TNamed, public TAttLine, public TAttFill, public TAttMarker, public TAttText {

private:
   TAttAxis      fXaxis;             //X axis attributes
   TAttAxis      fYaxis;             //Y axis attributes
   TAttAxis      fZaxis;             //Z axis attributes
   Float_t       fBarWidth;          //width of bar for graphs
   Float_t       fBarOffset;         //offset of bar for graphs
   Int_t         fColorModelPS;      //PostScript color model: 0 = RGB, 1 = CMYK
   Int_t         fDrawBorder;        //flag to draw border(=1) or not (0)
   Int_t         fOptLogx;           //=1 if log scale in X
   Int_t         fOptLogy;           //=1 if log scale in y
   Int_t         fOptLogz;           //=1 if log scale in z
   Int_t         fOptDate;           //=1 if date option is selected
   Int_t         fOptStat;           //=1 if option Stat is selected
   Int_t         fOptTitle;          //=1 if option Title is selected
   Int_t         fOptFile;           //=1 if option File is selected
   Int_t         fOptFit;            //=1 if option Fit is selected
   Int_t         fShowEventStatus;   //Show event status panel
   Int_t         fShowEditor;        //Show pad editor
   Int_t         fShowToolBar;       //Show toolbar

   Int_t         fNumberContours;    //default number of contours for 2-d plots
   TAttText      fAttDate;           //canvas date attribute
   Float_t       fDateX;             //X position of the date in the canvas (in NDC)
   Float_t       fDateY;             //Y position of the date in the canvas (in NDC)
   Float_t       fEndErrorSize;      //Size of lines at the end of error bars
   Float_t       fErrorX;            //per cent of bin width for errors along X
   Color_t       fFuncColor;         //function color
   Style_t       fFuncStyle;         //function style
   Width_t       fFuncWidth;         //function line width
   Color_t       fGridColor;         //grid line color (if 0 use axis line color)
   Style_t       fGridStyle;         //grid line style
   Width_t       fGridWidth;         //grid line width
   Width_t       fLegendBorderSize;  //legend box border size
   Color_t       fLegendFillColor;   //legend fill color
   Style_t       fLegendFont;        //legend font style
   Double_t      fLegendTextSize;    //legend text size. If 0 the size is computed automatically
   Int_t         fHatchesLineWidth;  //hatches line width for hatch styles > 3100
   Double_t      fHatchesSpacing;    //hatches spacing for hatch styles > 3100
   Color_t       fFrameFillColor;    //pad frame fill color
   Color_t       fFrameLineColor;    //pad frame line color
   Style_t       fFrameFillStyle;    //pad frame fill style
   Style_t       fFrameLineStyle;    //pad frame line style
   Width_t       fFrameLineWidth;    //pad frame line width
   Width_t       fFrameBorderSize;   //pad frame border size
   Int_t         fFrameBorderMode;   //pad frame border mode
   Color_t       fHistFillColor;     //histogram fill color
   Color_t       fHistLineColor;     //histogram line color
   Style_t       fHistFillStyle;     //histogram fill style
   Style_t       fHistLineStyle;     //histogram line style
   Width_t       fHistLineWidth;     //histogram line width
   Bool_t        fHistMinimumZero;   //true if default minimum is 0, false if minimum is automatic
   Double_t      fHistTopMargin;     //margin between histogram's top and pad's top
   Bool_t        fCanvasPreferGL;    //if true, rendering in canvas is with GL
   Color_t       fCanvasColor;       //canvas color
   Width_t       fCanvasBorderSize;  //canvas border size
   Int_t         fCanvasBorderMode;  //canvas border mode
   Int_t         fCanvasDefH;        //default canvas height
   Int_t         fCanvasDefW;        //default canvas width
   Int_t         fCanvasDefX;        //default canvas top X position
   Int_t         fCanvasDefY;        //default canvas top Y position
   Color_t       fPadColor;          //pad color
   Width_t       fPadBorderSize;     //pad border size
   Int_t         fPadBorderMode;     //pad border mode
   Float_t       fPadBottomMargin;   //pad bottom margin
   Float_t       fPadTopMargin;      //pad top margin
   Float_t       fPadLeftMargin;     //pad left margin
   Float_t       fPadRightMargin;    //pad right margin
   Bool_t        fPadGridX;          //true to get the grid along X
   Bool_t        fPadGridY;          //true to get the grid along Y
   Int_t         fPadTickX;          //=1 to set special pad ticks along X
   Int_t         fPadTickY;          //=1 to set special pad ticks along Y
   Float_t       fPaperSizeX;        //PostScript paper size along X
   Float_t       fPaperSizeY;        //PostScript paper size along Y
   Float_t       fScreenFactor;      //Multiplication factor for canvas size and position
   Color_t       fStatColor;         //stat fill area color
   Color_t       fStatTextColor;     //stat text color
   Width_t       fStatBorderSize;    //border size of Stats PaveLabel
   Style_t       fStatFont;          //font style of Stats PaveLabel
   Float_t       fStatFontSize;      //font size in pixels for fonts with precision type 3
   Style_t       fStatStyle;         //fill area style of Stats PaveLabel
   TString       fStatFormat;        //Printing format for stats
   Float_t       fStatX;             //X position of top right corner of stat box
   Float_t       fStatY;             //Y position of top right corner of stat box
   Float_t       fStatW;             //width of stat box
   Float_t       fStatH;             //height of stat box
   Bool_t        fStripDecimals;     //Strip decimals in axis labels
   Int_t         fTitleAlign;        //title box alignment
   Color_t       fTitleColor;        //title fill area color
   Color_t       fTitleTextColor;    //title text color
   Width_t       fTitleBorderSize;   //border size of Title PavelLabel
   Style_t       fTitleFont;         //font style of Title PaveLabel
   Float_t       fTitleFontSize;     //font size in pixels for fonts with precision type 3
   Style_t       fTitleStyle;        //fill area style of title PaveLabel
   Float_t       fTitleX;            //X position of top left corner of title box
   Float_t       fTitleY;            //Y position of top left corner of title box
   Float_t       fTitleW;            //width of title box
   Float_t       fTitleH;            //height of title box
   Float_t       fLegoInnerR;        //Inner radius for cylindrical legos
   TString       fLineStyle[30];     //String describing line style i (for postScript)
   TString       fHeaderPS;          //User defined additional Postscript header
   TString       fTitlePS;           //User defined Postscript file title
   TString       fFitFormat;         //Printing format for fit parameters
   TString       fPaintTextFormat;   //Printing format for TH2::PaintText
   Float_t       fLineScalePS;       //Line scale factor when drawing lines on Postscript
   Double_t      fTimeOffset;        //Time offset to the beginning of an axis
   Bool_t        fIsReading;         //!Set to FALSE when userclass::UseCurrentStyle is called by the style manager
public:
   enum EPaperSize { kA4, kUSLetter };

   TStyle();
   TStyle(const char *name, const char *title);
   TStyle(const TStyle &style);
   virtual          ~TStyle();
   inline Int_t     AxisChoice(Option_t *axis) const {
      // Return axis number (1 for X, 2 for Y, 3 for Z)
      UChar_t a = *axis;
      a -= (a >= 'x') ? 'x' : 'X'; // toupper and a-='X'; intentional underflow
      return (a > 2) ? 0 : (Int_t)(a+1);
   };
   virtual void     Browse(TBrowser *b);
   static  void     BuildStyles();
   virtual void     Copy(TObject &style) const;
   virtual void     cd();

   virtual Int_t    DistancetoPrimitive(Int_t px, Int_t py);
   Int_t            GetNdivisions(Option_t *axis="X") const;
   TAttText        *GetAttDate() {return &fAttDate;}
   Color_t          GetAxisColor(Option_t *axis="X") const;
   Color_t          GetLabelColor(Option_t *axis="X") const;
   Style_t          GetLabelFont(Option_t *axis="X") const;
   Float_t          GetLabelOffset(Option_t *axis="X") const;
   Float_t          GetLabelSize(Option_t *axis="X") const;
   Color_t          GetTitleColor(Option_t *axis="X") const;  //return axis title color of pad title color
   Style_t          GetTitleFont(Option_t *axis="X") const;   //return axis title font of pad title font
   Float_t          GetTitleOffset(Option_t *axis="X") const; //return axis title offset
   Float_t          GetTitleSize(Option_t *axis="X") const;   //return axis title size
   Float_t          GetTickLength(Option_t *axis="X") const;

   Float_t          GetBarOffset() const {return fBarOffset;}
   Float_t          GetBarWidth() const {return fBarWidth;}
   Int_t            GetDrawBorder() const {return fDrawBorder;}
   Float_t          GetEndErrorSize() const {return fEndErrorSize;}
   Float_t          GetErrorX() const {return fErrorX;}
   Bool_t           GetCanvasPreferGL() const {return fCanvasPreferGL;}
   Color_t          GetCanvasColor() const {return fCanvasColor;}
   Width_t          GetCanvasBorderSize() const {return fCanvasBorderSize;}
   Int_t            GetCanvasBorderMode() const {return fCanvasBorderMode;}
   Int_t            GetCanvasDefH() const      {return fCanvasDefH;}
   Int_t            GetCanvasDefW() const      {return fCanvasDefW;}
   Int_t            GetCanvasDefX() const      {return fCanvasDefX;}
   Int_t            GetCanvasDefY() const      {return fCanvasDefY;}
   Int_t            GetColorPalette(Int_t i) const;
   Int_t            GetColorModelPS() const    {return fColorModelPS;}
   Float_t          GetDateX()  const          {return fDateX;}
   Float_t          GetDateY() const           {return fDateY;}
   const char      *GetFitFormat()       const {return fFitFormat.Data();}
   Int_t            GetHatchesLineWidth() const {return fHatchesLineWidth;}
   Double_t         GetHatchesSpacing() const  {return fHatchesSpacing;}
   Width_t          GetLegendBorderSize() const   {return fLegendBorderSize;}
   Color_t          GetLegendFillColor() const {return fLegendFillColor;}
   Style_t          GetLegendFont() const {return fLegendFont;}
   Double_t         GetLegendTextSize() const {return fLegendTextSize;}
   Int_t            GetNumberOfColors() const;
   Color_t          GetPadColor() const        {return fPadColor;}
   Width_t          GetPadBorderSize() const   {return fPadBorderSize;}
   Int_t            GetPadBorderMode() const   {return fPadBorderMode;}
   Float_t          GetPadBottomMargin() const {return fPadBottomMargin;}
   Float_t          GetPadTopMargin() const    {return fPadTopMargin;}
   Float_t          GetPadLeftMargin() const   {return fPadLeftMargin;}
   Float_t          GetPadRightMargin() const  {return fPadRightMargin;}
   Bool_t           GetPadGridX() const        {return fPadGridX;}
   Bool_t           GetPadGridY() const        {return fPadGridY;}
   Int_t            GetPadTickX() const        {return fPadTickX;}
   Int_t            GetPadTickY() const        {return fPadTickY;}
   Color_t          GetFuncColor() const       {return fFuncColor;}
   Style_t          GetFuncStyle() const       {return fFuncStyle;}
   Width_t          GetFuncWidth() const       {return fFuncWidth;}
   Color_t          GetGridColor() const       {return fGridColor;}
   Style_t          GetGridStyle() const       {return fGridStyle;}
   Width_t          GetGridWidth() const       {return fGridWidth;}
   Color_t          GetFrameFillColor()  const {return fFrameFillColor;}
   Color_t          GetFrameLineColor()  const {return fFrameLineColor;}
   Style_t          GetFrameFillStyle()  const {return fFrameFillStyle;}
   Style_t          GetFrameLineStyle()  const {return fFrameLineStyle;}
   Width_t          GetFrameLineWidth()  const {return fFrameLineWidth;}
   Width_t          GetFrameBorderSize() const {return fFrameBorderSize;}
   Int_t            GetFrameBorderMode() const {return fFrameBorderMode;}
   Color_t          GetHistFillColor()   const {return fHistFillColor;}
   Color_t          GetHistLineColor()   const {return fHistLineColor;}
   Style_t          GetHistFillStyle()   const {return fHistFillStyle;}
   Style_t          GetHistLineStyle()   const {return fHistLineStyle;}
   Width_t          GetHistLineWidth()   const {return fHistLineWidth;}
   Bool_t           GetHistMinimumZero() const {return fHistMinimumZero;}
   Double_t         GetHistTopMargin()   const {return fHistTopMargin;}
   Float_t          GetLegoInnerR() const {return fLegoInnerR;}
   Int_t            GetNumberContours() const {return fNumberContours;}
   Int_t            GetOptDate() const {return fOptDate;}
   Int_t            GetOptFile() const {return fOptFile;}
   Int_t            GetOptFit() const {return fOptFit;}
   Int_t            GetOptStat() const {return fOptStat;}
   Int_t            GetOptTitle() const {return fOptTitle;}
   Int_t            GetOptLogx() const {return fOptLogx;}
   Int_t            GetOptLogy() const {return fOptLogy;}
   Int_t            GetOptLogz() const {return fOptLogz;}
   const char      *GetPaintTextFormat() const {return fPaintTextFormat.Data();}
   void             GetPaperSize(Float_t &xsize, Float_t &ysize) const;
   Int_t            GetShowEventStatus() const {return fShowEventStatus;}
   Int_t            GetShowEditor() const {return fShowEditor;}
   Int_t            GetShowToolBar() const {return fShowToolBar;}

   Float_t          GetScreenFactor() const {return fScreenFactor;}
   Color_t          GetStatColor() const {return fStatColor;}
   Color_t          GetStatTextColor() const {return fStatTextColor;}
   Width_t          GetStatBorderSize() const {return fStatBorderSize;}
   Style_t          GetStatFont() const  {return fStatFont;}
   Float_t          GetStatFontSize() const  {return fStatFontSize;}
   Style_t          GetStatStyle() const  {return fStatStyle;}
   const char      *GetStatFormat() const {return fStatFormat.Data();}
   Float_t          GetStatX() const     {return fStatX;}
   Float_t          GetStatY() const     {return fStatY;}
   Float_t          GetStatW() const     {return fStatW;}
   Float_t          GetStatH() const     {return fStatH;}
   Int_t            GetStripDecimals() const {return fStripDecimals;}
   Double_t         GetTimeOffset() const {return fTimeOffset;} //return axis time offset
   Int_t            GetTitleAlign() {return fTitleAlign;} // return the histogram title TPaveLabel alignment
   Color_t          GetTitleFillColor() const {return fTitleColor;}  //return histogram title fill area color
   Color_t          GetTitleTextColor() const {return fTitleTextColor;}  //return histogram title text color
   Style_t          GetTitleStyle() const  {return fTitleStyle;}
   Float_t          GetTitleFontSize() const  {return fTitleFontSize;} //return histogram title font size
   Width_t          GetTitleBorderSize() const {return fTitleBorderSize;} //return border size of histogram title TPaveLabel
   Float_t          GetTitleXOffset() const {return GetTitleOffset("X");} //return X axis title offset
   Float_t          GetTitleXSize() const   {return GetTitleSize("X");}   //return X axis title size
   Float_t          GetTitleYOffset() const {return GetTitleOffset("Y");} //return Y axis title offset
   Float_t          GetTitleYSize() const   {return GetTitleSize("Y");}   //return Y axis title size
   Float_t          GetTitleX() const     {return fTitleX;}  //return left X position of histogram title TPavelabel
   Float_t          GetTitleY() const     {return fTitleY;}  //return left bottom position of histogram title TPavelabel
   Float_t          GetTitleW() const     {return fTitleW;}  //return width of histogram title TPaveLabel
   Float_t          GetTitleH() const     {return fTitleH;}  //return height of histogram title TPavelabel
   const char      *GetHeaderPS() const {return fHeaderPS.Data();}
   const char      *GetTitlePS()  const {return fTitlePS.Data();}
   const char      *GetLineStyleString(Int_t i=1) const;
   Float_t          GetLineScalePS() const {return fLineScalePS;}
   Bool_t           IsReading() const {return fIsReading;}
   virtual void     Paint(Option_t *option="");
   virtual void     Reset(Option_t *option="");

   void             SetColorModelPS(Int_t c=0);
   void             SetFitFormat(const char *format="5.4g") {fFitFormat = format;}
   void             SetHeaderPS(const char *header);
   void             SetHatchesLineWidth(Int_t l) {fHatchesLineWidth = l;}
   void             SetHatchesSpacing(Double_t h) {fHatchesSpacing = TMath::Max(0.1,h);}
   void             SetTitlePS(const char *pstitle);
   void             SetLineScalePS(Float_t scale=3) {fLineScalePS=scale;}
   void             SetLineStyleString(Int_t i, const char *text);
   void             SetNdivisions(Int_t n=510, Option_t *axis="X");
   void             SetAxisColor(Color_t color=1, Option_t *axis="X");
   void             SetLabelColor(Color_t color=1, Option_t *axis="X");
   void             SetLabelFont(Style_t font=62, Option_t *axis="X");
   void             SetLabelOffset(Float_t offset=0.005, Option_t *axis="X");
   void             SetLabelSize(Float_t size=0.04, Option_t *axis="X");
   void             SetLegoInnerR(Float_t rad=0.5) {fLegoInnerR = rad;}
   void             SetScreenFactor(Float_t factor=1) {fScreenFactor = factor;}
   void             SetTickLength(Float_t length=0.03, Option_t *axis="X");
   void             SetTitleColor(Color_t color=1, Option_t *axis="X"); //set axis title color or pad title color
   void             SetTitleFont(Style_t font=62, Option_t *axis="X"); //set axis title font or pad title font
   void             SetTitleOffset(Float_t offset=1, Option_t *axis="X"); //set axis title offset
   void             SetTitleSize(Float_t size=0.02, Option_t *axis="X");  //set axis title size or pad title size
   void             SetNumberContours(Int_t number=20);
   void             SetOptDate(Int_t datefl=1);
   void             SetOptFile(Int_t file=1) {fOptFile = file;}
   void             SetOptFit(Int_t fit=1);
   void             SetOptLogx(Int_t logx=1) {fOptLogx = logx;}
   void             SetOptLogy(Int_t logy=1) {fOptLogy = logy;}
   void             SetOptLogz(Int_t logz=1) {fOptLogz = logz;}
   void             SetOptStat(Int_t stat=1);
   void             SetOptStat(Option_t *stat);
   void             SetOptTitle(Int_t tit=1) {fOptTitle = tit;}
   void             SetBarOffset(Float_t baroff=0.5) {fBarOffset = baroff;}
   void             SetBarWidth(Float_t barwidth=0.5) {fBarWidth = barwidth;}
   void             SetDateX(Float_t x=0.01) {fDateX = x;}
   void             SetDateY(Float_t y=0.01) {fDateY = y;}
   void             SetEndErrorSize(Float_t np=2);
   void             SetErrorX(Float_t errorx=0.5) {fErrorX = errorx;}
   void             SetCanvasPreferGL(Bool_t prefer = kTRUE) {fCanvasPreferGL=prefer;}
   void             SetDrawBorder(Int_t drawborder=1) {fDrawBorder = drawborder;}
   void             SetCanvasColor(Color_t color=19) {fCanvasColor = color;}
   void             SetCanvasBorderSize(Width_t size=1) {fCanvasBorderSize = size;}
   void             SetCanvasBorderMode(Int_t mode=1) {fCanvasBorderMode = mode;}
   void             SetCanvasDefH(Int_t h=500) {fCanvasDefH = h;}
   void             SetCanvasDefW(Int_t w=700) {fCanvasDefW = w;}
   void             SetCanvasDefX(Int_t topx=10) {fCanvasDefX = topx;}
   void             SetCanvasDefY(Int_t topy=10) {fCanvasDefY = topy;}
   void             SetLegendBorderSize(Width_t size=4) {fLegendBorderSize = size;}
   void             SetLegendFillColor(Color_t color=0) {fLegendFillColor = color;}
   void             SetLegendFont(Style_t font=62) {fLegendFont = font;}
   void             SetLegendTextSize(Double_t size=0.) {fLegendTextSize = size;}
   void             SetPadColor(Color_t color=19) {fPadColor = color;}
   void             SetPadBorderSize(Width_t size=1) {fPadBorderSize = size;}
   void             SetPadBorderMode(Int_t mode=1) {fPadBorderMode = mode;}
   void             SetPadBottomMargin(Float_t margin=0.1) {fPadBottomMargin=margin;}
   void             SetPadTopMargin(Float_t margin=0.1)    {fPadTopMargin=margin;}
   void             SetPadLeftMargin(Float_t margin=0.1)   {fPadLeftMargin=margin;}
   void             SetPadRightMargin(Float_t margin=0.1)  {fPadRightMargin=margin;}
   void             SetPadGridX(Bool_t gridx) {fPadGridX = gridx;}
   void             SetPadGridY(Bool_t gridy) {fPadGridY = gridy;}
   void             SetPadTickX(Int_t tickx)  {fPadTickX = tickx;}
   void             SetPadTickY(Int_t ticky)  {fPadTickY = ticky;}
   void             SetFuncStyle(Style_t style=1) {fFuncStyle = style;}
   void             SetFuncColor(Color_t color=1) {fFuncColor = color;}
   void             SetFuncWidth(Width_t width=4) {fFuncWidth = width;}
   void             SetGridStyle(Style_t style=3) {fGridStyle = style;}
   void             SetGridColor(Color_t color=0) {fGridColor = color;}
   void             SetGridWidth(Width_t width=1) {fGridWidth = width;}
   void             SetFrameFillColor(Color_t color=1) {fFrameFillColor = color;}
   void             SetFrameLineColor(Color_t color=1) {fFrameLineColor = color;}
   void             SetFrameFillStyle(Style_t styl=0)  {fFrameFillStyle = styl;}
   void             SetFrameLineStyle(Style_t styl=0)  {fFrameLineStyle = styl;}
   void             SetFrameLineWidth(Width_t width=1) {fFrameLineWidth = width;}
   void             SetFrameBorderSize(Width_t size=1) {fFrameBorderSize = size;}
   void             SetFrameBorderMode(Int_t mode=1) {fFrameBorderMode = mode;}
   void             SetHistFillColor(Color_t color=1) {fHistFillColor = color;}
   void             SetHistLineColor(Color_t color=1) {fHistLineColor = color;}
   void             SetHistFillStyle(Style_t styl=0)  {fHistFillStyle = styl;}
   void             SetHistLineStyle(Style_t styl=0)  {fHistLineStyle = styl;}
   void             SetHistLineWidth(Width_t width=1) {fHistLineWidth = width;}
   void             SetHistMinimumZero(Bool_t zero=kTRUE);
   void             SetHistTopMargin(Double_t hmax=0.05) {fHistTopMargin = hmax;}
   void             SetPaintTextFormat(const char *format="g") {fPaintTextFormat = format;}
   void             SetPaperSize(EPaperSize size);
   void             SetPaperSize(Float_t xsize=20, Float_t ysize=26);
   void             SetStatColor(Color_t color=19) {fStatColor=color;}
   void             SetStatTextColor(Color_t color=1) {fStatTextColor=color;}
   void             SetStatStyle(Style_t style=1001) {fStatStyle=style;}
   void             SetStatBorderSize(Width_t size=2) {fStatBorderSize=size;}
   void             SetStatFont(Style_t font=62) {fStatFont=font;}
   void             SetStatFontSize(Float_t size=0)  {fStatFontSize=size;}
   void             SetStatFormat(const char *format="6.4g") {fStatFormat = format;}
   void             SetStatX(Float_t x=0)    {fStatX=x;}
   void             SetStatY(Float_t y=0)    {fStatY=y;}
   void             SetStatW(Float_t w=0.19) {fStatW=w;}
   void             SetStatH(Float_t h=0.1)  {fStatH=h;}
   void             SetStripDecimals(Bool_t strip=kTRUE);
   void             SetTimeOffset(Double_t toffset);
   void             SetTitleAlign(Int_t a=13) {fTitleAlign=a;}
   void             SetTitleFillColor(Color_t color=1)   {fTitleColor=color;}
   void             SetTitleTextColor(Color_t color=1)   {fTitleTextColor=color;}
   void             SetTitleStyle(Style_t style=1001)  {fTitleStyle=style;}
   void             SetTitleFontSize(Float_t size=0)   {fTitleFontSize=size;}
   void             SetTitleBorderSize(Width_t size=2) {fTitleBorderSize=size;}
   void             SetTitleXOffset(Float_t offset=1)  {SetTitleOffset(offset,"X");}
   void             SetTitleXSize(Float_t size=0.02)   {SetTitleSize(size,"X");}
   void             SetTitleYOffset(Float_t offset=1)  {SetTitleOffset(offset,"Y");}
   void             SetTitleYSize(Float_t size=0.02)   {SetTitleSize(size,"Y");}
   void             SetTitleX(Float_t x=0)     {fTitleX=x;}
   void             SetTitleY(Float_t y=0.985) {fTitleY=y;}
   void             SetTitleW(Float_t w=0)     {fTitleW=w;}
   void             SetTitleH(Float_t h=0)     {fTitleH=h;}
   void             ToggleEventStatus() { fShowEventStatus = fShowEventStatus ? 0 : 1; }
   void             ToggleEditor() { fShowEditor = fShowEditor ? 0 : 1; }
   void             ToggleToolBar() { fShowToolBar = fShowToolBar ? 0 : 1; }
   void             SetIsReading(Bool_t reading=kTRUE);
   void             SetPalette(Int_t ncolors=0, Int_t *colors=0, Float_t alpha=1.);
   void             SavePrimitive(std::ostream &out, Option_t * = "");
   void             SaveSource(const char *filename, Option_t *option=0);

   ClassDef(TStyle, 16);  //A collection of all graphics attributes
};


R__EXTERN TStyle  *gStyle;

#endif
 TStyle.h:1
 TStyle.h:2
 TStyle.h:3
 TStyle.h:4
 TStyle.h:5
 TStyle.h:6
 TStyle.h:7
 TStyle.h:8
 TStyle.h:9
 TStyle.h:10
 TStyle.h:11
 TStyle.h:12
 TStyle.h:13
 TStyle.h:14
 TStyle.h:15
 TStyle.h:16
 TStyle.h:17
 TStyle.h:18
 TStyle.h:19
 TStyle.h:20
 TStyle.h:21
 TStyle.h:22
 TStyle.h:23
 TStyle.h:24
 TStyle.h:25
 TStyle.h:26
 TStyle.h:27
 TStyle.h:28
 TStyle.h:29
 TStyle.h:30
 TStyle.h:31
 TStyle.h:32
 TStyle.h:33
 TStyle.h:34
 TStyle.h:35
 TStyle.h:36
 TStyle.h:37
 TStyle.h:38
 TStyle.h:39
 TStyle.h:40
 TStyle.h:41
 TStyle.h:42
 TStyle.h:43
 TStyle.h:44
 TStyle.h:45
 TStyle.h:46
 TStyle.h:47
 TStyle.h:48
 TStyle.h:49
 TStyle.h:50
 TStyle.h:51
 TStyle.h:52
 TStyle.h:53
 TStyle.h:54
 TStyle.h:55
 TStyle.h:56
 TStyle.h:57
 TStyle.h:58
 TStyle.h:59
 TStyle.h:60
 TStyle.h:61
 TStyle.h:62
 TStyle.h:63
 TStyle.h:64
 TStyle.h:65
 TStyle.h:66
 TStyle.h:67
 TStyle.h:68
 TStyle.h:69
 TStyle.h:70
 TStyle.h:71
 TStyle.h:72
 TStyle.h:73
 TStyle.h:74
 TStyle.h:75
 TStyle.h:76
 TStyle.h:77
 TStyle.h:78
 TStyle.h:79
 TStyle.h:80
 TStyle.h:81
 TStyle.h:82
 TStyle.h:83
 TStyle.h:84
 TStyle.h:85
 TStyle.h:86
 TStyle.h:87
 TStyle.h:88
 TStyle.h:89
 TStyle.h:90
 TStyle.h:91
 TStyle.h:92
 TStyle.h:93
 TStyle.h:94
 TStyle.h:95
 TStyle.h:96
 TStyle.h:97
 TStyle.h:98
 TStyle.h:99
 TStyle.h:100
 TStyle.h:101
 TStyle.h:102
 TStyle.h:103
 TStyle.h:104
 TStyle.h:105
 TStyle.h:106
 TStyle.h:107
 TStyle.h:108
 TStyle.h:109
 TStyle.h:110
 TStyle.h:111
 TStyle.h:112
 TStyle.h:113
 TStyle.h:114
 TStyle.h:115
 TStyle.h:116
 TStyle.h:117
 TStyle.h:118
 TStyle.h:119
 TStyle.h:120
 TStyle.h:121
 TStyle.h:122
 TStyle.h:123
 TStyle.h:124
 TStyle.h:125
 TStyle.h:126
 TStyle.h:127
 TStyle.h:128
 TStyle.h:129
 TStyle.h:130
 TStyle.h:131
 TStyle.h:132
 TStyle.h:133
 TStyle.h:134
 TStyle.h:135
 TStyle.h:136
 TStyle.h:137
 TStyle.h:138
 TStyle.h:139
 TStyle.h:140
 TStyle.h:141
 TStyle.h:142
 TStyle.h:143
 TStyle.h:144
 TStyle.h:145
 TStyle.h:146
 TStyle.h:147
 TStyle.h:148
 TStyle.h:149
 TStyle.h:150
 TStyle.h:151
 TStyle.h:152
 TStyle.h:153
 TStyle.h:154
 TStyle.h:155
 TStyle.h:156
 TStyle.h:157
 TStyle.h:158
 TStyle.h:159
 TStyle.h:160
 TStyle.h:161
 TStyle.h:162
 TStyle.h:163
 TStyle.h:164
 TStyle.h:165
 TStyle.h:166
 TStyle.h:167
 TStyle.h:168
 TStyle.h:169
 TStyle.h:170
 TStyle.h:171
 TStyle.h:172
 TStyle.h:173
 TStyle.h:174
 TStyle.h:175
 TStyle.h:176
 TStyle.h:177
 TStyle.h:178
 TStyle.h:179
 TStyle.h:180
 TStyle.h:181
 TStyle.h:182
 TStyle.h:183
 TStyle.h:184
 TStyle.h:185
 TStyle.h:186
 TStyle.h:187
 TStyle.h:188
 TStyle.h:189
 TStyle.h:190
 TStyle.h:191
 TStyle.h:192
 TStyle.h:193
 TStyle.h:194
 TStyle.h:195
 TStyle.h:196
 TStyle.h:197
 TStyle.h:198
 TStyle.h:199
 TStyle.h:200
 TStyle.h:201
 TStyle.h:202
 TStyle.h:203
 TStyle.h:204
 TStyle.h:205
 TStyle.h:206
 TStyle.h:207
 TStyle.h:208
 TStyle.h:209
 TStyle.h:210
 TStyle.h:211
 TStyle.h:212
 TStyle.h:213
 TStyle.h:214
 TStyle.h:215
 TStyle.h:216
 TStyle.h:217
 TStyle.h:218
 TStyle.h:219
 TStyle.h:220
 TStyle.h:221
 TStyle.h:222
 TStyle.h:223
 TStyle.h:224
 TStyle.h:225
 TStyle.h:226
 TStyle.h:227
 TStyle.h:228
 TStyle.h:229
 TStyle.h:230
 TStyle.h:231
 TStyle.h:232
 TStyle.h:233
 TStyle.h:234
 TStyle.h:235
 TStyle.h:236
 TStyle.h:237
 TStyle.h:238
 TStyle.h:239
 TStyle.h:240
 TStyle.h:241
 TStyle.h:242
 TStyle.h:243
 TStyle.h:244
 TStyle.h:245
 TStyle.h:246
 TStyle.h:247
 TStyle.h:248
 TStyle.h:249
 TStyle.h:250
 TStyle.h:251
 TStyle.h:252
 TStyle.h:253
 TStyle.h:254
 TStyle.h:255
 TStyle.h:256
 TStyle.h:257
 TStyle.h:258
 TStyle.h:259
 TStyle.h:260
 TStyle.h:261
 TStyle.h:262
 TStyle.h:263
 TStyle.h:264
 TStyle.h:265
 TStyle.h:266
 TStyle.h:267
 TStyle.h:268
 TStyle.h:269
 TStyle.h:270
 TStyle.h:271
 TStyle.h:272
 TStyle.h:273
 TStyle.h:274
 TStyle.h:275
 TStyle.h:276
 TStyle.h:277
 TStyle.h:278
 TStyle.h:279
 TStyle.h:280
 TStyle.h:281
 TStyle.h:282
 TStyle.h:283
 TStyle.h:284
 TStyle.h:285
 TStyle.h:286
 TStyle.h:287
 TStyle.h:288
 TStyle.h:289
 TStyle.h:290
 TStyle.h:291
 TStyle.h:292
 TStyle.h:293
 TStyle.h:294
 TStyle.h:295
 TStyle.h:296
 TStyle.h:297
 TStyle.h:298
 TStyle.h:299
 TStyle.h:300
 TStyle.h:301
 TStyle.h:302
 TStyle.h:303
 TStyle.h:304
 TStyle.h:305
 TStyle.h:306
 TStyle.h:307
 TStyle.h:308
 TStyle.h:309
 TStyle.h:310
 TStyle.h:311
 TStyle.h:312
 TStyle.h:313
 TStyle.h:314
 TStyle.h:315
 TStyle.h:316
 TStyle.h:317
 TStyle.h:318
 TStyle.h:319
 TStyle.h:320
 TStyle.h:321
 TStyle.h:322
 TStyle.h:323
 TStyle.h:324
 TStyle.h:325
 TStyle.h:326
 TStyle.h:327
 TStyle.h:328
 TStyle.h:329
 TStyle.h:330
 TStyle.h:331
 TStyle.h:332
 TStyle.h:333
 TStyle.h:334
 TStyle.h:335
 TStyle.h:336
 TStyle.h:337
 TStyle.h:338
 TStyle.h:339
 TStyle.h:340
 TStyle.h:341
 TStyle.h:342
 TStyle.h:343
 TStyle.h:344
 TStyle.h:345
 TStyle.h:346
 TStyle.h:347
 TStyle.h:348
 TStyle.h:349
 TStyle.h:350
 TStyle.h:351
 TStyle.h:352
 TStyle.h:353
 TStyle.h:354
 TStyle.h:355
 TStyle.h:356
 TStyle.h:357
 TStyle.h:358
 TStyle.h:359
 TStyle.h:360
 TStyle.h:361
 TStyle.h:362
 TStyle.h:363
 TStyle.h:364
 TStyle.h:365
 TStyle.h:366
 TStyle.h:367
 TStyle.h:368
 TStyle.h:369
 TStyle.h:370
 TStyle.h:371
 TStyle.h:372
 TStyle.h:373
 TStyle.h:374
 TStyle.h:375
 TStyle.h:376
 TStyle.h:377
 TStyle.h:378
 TStyle.h:379
 TStyle.h:380
 TStyle.h:381
 TStyle.h:382
 TStyle.h:383
 TStyle.h:384
 TStyle.h:385
 TStyle.h:386
 TStyle.h:387
 TStyle.h:388
 TStyle.h:389
 TStyle.h:390
 TStyle.h:391
 TStyle.h:392
 TStyle.h:393
 TStyle.h:394
 TStyle.h:395
 TStyle.h:396
 TStyle.h:397
 TStyle.h:398
 TStyle.h:399
 TStyle.h:400
 TStyle.h:401
 TStyle.h:402
 TStyle.h:403
 TStyle.h:404
 TStyle.h:405
 TStyle.h:406
 TStyle.h:407
 TStyle.h:408
 TStyle.h:409
 TStyle.h:410
 TStyle.h:411
 TStyle.h:412
 TStyle.h:413
 TStyle.h:414
 TStyle.h:415
 TStyle.h:416
 TStyle.h:417
 TStyle.h:418
 TStyle.h:419
 TStyle.h:420
 TStyle.h:421
 TStyle.h:422