TArrow.h

Go to the documentation of this file.
00001 // @(#)root/graf:$Id: TArrow.h 20882 2007-11-19 11:31:26Z rdm $
00002 // Author: Rene Brun   17/10/95
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TArrow
00013 #define ROOT_TArrow
00014 
00015 
00016 //////////////////////////////////////////////////////////////////////////
00017 //                                                                      //
00018 // TArrow                                                               //
00019 //                                                                      //
00020 // One arrow --->.                                                      //
00021 //                                                                      //
00022 //////////////////////////////////////////////////////////////////////////
00023 
00024 #ifndef ROOT_TString
00025 #include "TString.h"
00026 #endif
00027 #ifndef ROOT_TLine
00028 #include "TLine.h"
00029 #endif
00030 #ifndef ROOT_TAttFill
00031 #include "TAttFill.h"
00032 #endif
00033 
00034 
00035 class TArrow : public TLine, public TAttFill {
00036 protected:
00037    Float_t      fAngle;        //Arrow opening angle (degrees)
00038    Float_t      fArrowSize;    //Arrow Size
00039    TString      fOption;       //Arrow shapes
00040 
00041    static Float_t      fgDefaultAngle;        //default Arrow opening angle (degrees)
00042    static Float_t      fgDefaultArrowSize;    //default Arrow Size
00043    static TString      fgDefaultOption;       //default Arrow shapes
00044 
00045 public:
00046    TArrow();
00047    TArrow(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2
00048          ,Float_t arrowsize=0.05
00049          ,Option_t *option=">");
00050    TArrow(const TArrow &arrow);
00051    virtual ~TArrow();
00052    void Copy(TObject &arrow) const;
00053 
00054    virtual void   Draw(Option_t *option="");
00055    virtual void   DrawArrow(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2
00056                                ,Float_t arrowsize=0 ,Option_t *option="");
00057    Float_t        GetAngle() const {return fAngle;}
00058    Float_t        GetArrowSize() const {return fArrowSize;}
00059    Option_t      *GetOption() const { return fOption.Data();}
00060    virtual void   Paint(Option_t *option="");
00061    virtual void   PaintArrow(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2
00062                                  ,Float_t arrowsize=0.05 ,Option_t *option=">");
00063    virtual void   SavePrimitive(ostream &out, Option_t *option = "");
00064    virtual void   SetAngle(Float_t angle=60) {fAngle=angle;} // *MENU*
00065    virtual void   SetArrowSize(Float_t arrowsize=0.05) {fArrowSize=arrowsize;} // *MENU*
00066    virtual void   SetOption(Option_t *option=">"){ fOption = option;}
00067 
00068    static void SetDefaultAngle     (Float_t  Angle    );
00069    static void SetDefaultArrowSize (Float_t  ArrowSize);  
00070    static void SetDefaultOption    (Option_t *Option  );
00071    static Float_t GetDefaultAngle    ();
00072    static Float_t GetDefaultArrowSize();
00073    static Option_t *GetDefaultOption ();
00074 
00075    ClassDef(TArrow,1)  // An arrow (line with a arrowhead)
00076 };
00077 
00078 #endif

Generated on Tue Jul 5 14:14:08 2011 for ROOT_528-00b_version by  doxygen 1.5.1