library: libGraf #include "TPave.h"

# TPave

class description - source file - inheritance tree (.pdf)

## class TPave : public TBox

| Inheritance Chart:
`TObject`
`TAttLine`
`TAttFill`
| <- | `TBox`
| <- | `TPave` |
<- |
`TLegend` |
`TPaletteAxis` |
`TPaveLabel` | <- |
`TPaveClass` |
`TPaveText` | <- |
`TDiamond` |
`TPaveStats` |
`TPavesText` |

        public:

                            TPave()
                            TPave(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Int_t bordersize = 4, Option_t* option = "br")
                            TPave(const TPave& pave)
                    virtual ~TPave()
             static TClass* Class()
               virtual void ConvertNDCtoPad()
               virtual void Copy(TObject& pave) const
               virtual void Draw(Option_t* option = "")
               virtual void DrawPave(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Int_t bordersize = 4, Option_t* option = "br")
               virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
                      Int_t GetBorderSize()
                   Double_t GetCornerRadius()
          virtual Option_t* GetName() const
          virtual Option_t* GetOption() const
                   Double_t GetX1NDC() const
                   Double_t GetX2NDC() const
                   Double_t GetY1NDC() const
                   Double_t GetY2NDC() const
            virtual ULong_t Hash() const
            virtual TClass* IsA() const
             virtual Bool_t IsSortable() const
               virtual void ls(Option_t* option = "") const
                     TPave& operator=(const TPave&)
               virtual void Paint(Option_t* option = "")
               virtual void PaintPave(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Int_t bordersize = 4, Option_t* option = "br")
               virtual void PaintPaveArc(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Int_t bordersize = 4, Option_t* option = "br")
               virtual void Print(Option_t* option = "") const
               virtual void SavePrimitive(ofstream& out, Option_t* option)
               virtual void SetBorderSize(Int_t bordersize = 4)
               virtual void SetCornerRadius(Double_t rad = 0.2)
               virtual void SetName(const char* name = "")
               virtual void SetOption(Option_t* option = "br")
               virtual void SetX1NDC(Double_t x1)
               virtual void SetX2NDC(Double_t x2)
               virtual void SetY1NDC(Double_t y1)
               virtual void SetY2NDC(Double_t y2)
               virtual void ShowMembers(TMemberInspector& insp, char* parent)
               virtual void Streamer(TBuffer& b)
                       void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

          Double_t fX1NDC         X1 point in NDC coordinates
          Double_t fY1NDC         Y1 point in NDC coordinates
          Double_t fX2NDC         X2 point in NDC coordinates
          Double_t fY2NDC         Y2 point in NDC coordinates
             Int_t fBorderSize    window box bordersize in pixels
             Int_t fInit          (=0 if transformation to NDC not yet done)
          Double_t fCornerRadius  Corner radius in case of option arc
           TString fOption        Pave style
           TString fName          Pave name

        public:

          static const enum TPave:: kNameIsAction

## Class Description

     a PAVE is a TBox with a bordersize and a shadow option
     The corners of a TPave can be rounded (option "arc")
     More functional objects like TPavelabel, TPaveText derive from TPave.

/* */

TPave(): TBox()

    *-*-*-*-*-*-*-*-*-*-*pave default constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  ========================

TPave(Double_t x1, Double_t y1,Double_t x2, Double_t y2, Int_t bordersize ,Option_t *option) :TBox(x1,y1,x2,y2)

    *-*-*-*-*-*-*-*-*-*-*pave normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  =======================
     a PAVE is a box with a bordersize and a shadow option
     the bordersize is in pixels
      option = "T" Top frame
      option = "B" Bottom frame
      option = "R" Right frame
      option = "L" Left frame
      option = "NDC" x1,y1,x2,y2 are given in NDC
      option = "ARC" corners are rounded

      IMPORTANT NOTE:
      Because TPave objects (and objects deriving from TPave) have their
      master coordinate system in NDC, one cannot use the TBox functions
      SetX1,SetY1,SetX2,SetY2 to change the corner coordinates. One should use
      instead SetX1NDC, SetY1NDC, SetX2NDC, SetY2NDC.

~TPave()

    *-*-*-*-*-*-*-*-*-*-*pave default destructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  =======================

TPave(const TPave &pave) : TBox(pave)

void ConvertNDCtoPad()

    *-*-*-*-*-*-*Convert pave coordinates from NDC to Pad coordinates*-*-*-*-*-*
    *-*          ====================================================

void Copy(TObject &obj) const

    *-*-*-*-*-*-*-*-*-*-*Copy this pave to pave*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  ======================

void Draw(Option_t *option)

    *-*-*-*-*-*-*-*-*-*-*Draw this pave with its current attributes*-*-*-*-*-*-*
    *-*                  ==========================================

void DrawPave(Double_t x1, Double_t y1,Double_t x2, Double_t y2, Int_t bordersize ,Option_t *option)

    *-*-*-*-*-*-*-*-*-*-*Draw this pave with new coordinates*-*-*-*-*-*-*-*-*-*
    *-*                  ===================================

void ExecuteEvent(Int_t event, Int_t px, Int_t py)

    *-*-*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-*
    *-*                  =========================================
      This member function is called when a PAVE object is clicked.

void ls(Option_t *) const

    *-*-*-*-*-*-*-*-*-*-*-*List this pave with its attributes*-*-*-*-*-*-*-*-*
    *-*                    =================================

void Paint(Option_t *option)

    *-*-*-*-*-*-*-*-*-*-*Paint this pave with its current attributes*-*-*-*-*-*-*
    *-*                  ===========================================
      option = "T" Top frame
      option = "B" Bottom frame
      option = "R" Right frame
      option = "L" Left frame
      option = "NDC" x1,y1,x2,y2 are given in NDC
      option = "ARC" corners are rounded
          In case of option "ARC", the corner radius is specified
          via TPave::SetCornerRadius(rad) where rad is given in percent
          of the pave height (default value is 0.2).

void PaintPave(Double_t x1, Double_t y1,Double_t x2, Double_t y2, Int_t bordersize ,Option_t *option)

    *-*-*-*-*-*-*-*-*-*-*Draw this pave with new coordinates*-*-*-*-*-*-*-*-*-*
    *-*                  ===================================

void PaintPaveArc(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Int_t, Option_t *option)

    *-*-*-*-*-*-*-*-*-*-*Draw this pave with rounded corners*-*-*-*-*-*-*-*-*-*
    *-*                  ===================================

void Print(Option_t *option) const

    *-*-*-*-*-*-*-*-*-*-*Dump this pave with its attributes*-*-*-*-*-*-*-*-*-*
    *-*                  ==================================

void SavePrimitive(ofstream &out, Option_t *)

     Save primitive as a C++ statement(s) on output stream out

void Streamer(TBuffer &R__b)

     Stream an object of class TPave.

### Inline Functions

                  Int_t GetBorderSize()
               Double_t GetCornerRadius()
              Option_t* GetName() const
              Option_t* GetOption() const
               Double_t GetX1NDC() const
               Double_t GetX2NDC() const
               Double_t GetY1NDC() const
               Double_t GetY2NDC() const
                ULong_t Hash() const
                 Bool_t IsSortable() const
                   void SetBorderSize(Int_t bordersize = 4)
                   void SetCornerRadius(Double_t rad = 0.2)
                   void SetName(const char* name = "")
                   void SetOption(Option_t* option = "br")
                   void SetX1NDC(Double_t x1)
                   void SetX2NDC(Double_t x2)
                   void SetY1NDC(Double_t y1)
                   void SetY2NDC(Double_t y2)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void StreamerNVirtual(TBuffer& b)
                 TPave& operator=(const TPave&)

Author: Rene Brun 16/10/95
Last update: root/graf:$Name: $:$Id: TPave.cxx,v 1.17 2004/08/18 10:55:37 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *