library: libGraf #include "TDiamond.h"

# TDiamond

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

## class TDiamond : public TPaveText

| Inheritance Chart:
`TObject`
`TAttLine`
`TAttFill`
| <- | `TBox`
| <- | `TPave`
`TAttText`
| <- | `TPaveText`
| <- | `TDiamond` |

        public:

                          TDiamond()
                          TDiamond(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
                          TDiamond(const TDiamond& diamond)
                  virtual ~TDiamond()
           static TClass* Class()
            virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
             virtual void Draw(Option_t* option = "")
             virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
          virtual TClass* IsA() const
                TDiamond& operator=(const TDiamond&)
             virtual void Paint(Option_t* option = "")
             virtual void SavePrimitive(ofstream& out, Option_t* option)
             virtual void ShowMembers(TMemberInspector& insp, char* parent)
             virtual void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)

### Data Members

## Class Description

     A diamond is defined by :
       - Its central left coordinates x1,y1
       - Its top central coordinates x2,y2

     A diamond has line attributes (see TAttLine)
       and fill area attributes (see TAttFill).

     Like for the class TPaveText, a TDiamond may have one or more line(s)
     of text inside.

/* */

TDiamond(): TPaveText()

    *-*-*-*-*-*-*-*-*-*-*Diamond default constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  ===========================

TDiamond(Double_t x1, Double_t y1,Double_t x2, Double_t y2) :TPaveText(x1,y1,x2,y2)

    *-*-*-*-*-*-*-*-*-*-*Diamond standard constructor*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  ============================

~TDiamond()

    *-*-*-*-*-*-*-*-*-*-*Diamond destructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  ==================

TDiamond(const TDiamond &diamond) : TPaveText()

Int_t DistancetoPrimitive(Int_t px, Int_t py)

    *-*-*-*-*-*-*-*-*Compute distance from point px,py to a diamond*-*-*-*-*-*
    *-*              ==============================================
      Compute the closest distance of approach from point px,py to the
      edges of this diamond.
      The distance is computed in pixels units.

void Draw(Option_t *option)

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

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

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

      If the mouse is clicked inside the diamond, the diamond is moved.

      If the mouse is clicked on the 4 tops (L,R,T,B), the diamond is rscaled.

                                 T
                            +---------+
                            |   / \   |
                            |  /   \  |
                            | /     \ |
                           L|/ inside\|R
                            |\       /|
                            | \     / |
                            |  \   /  |
                            |   \ /   |
                            +---------+
                                 B

void Paint(Option_t *)

    *-*-*-*-*-*-*-*-*-*-*Paint this diamond with its current attributes*-*-*-*-*
    *-*                  ==============================================

void SavePrimitive(ofstream &out, Option_t *)

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

### Inline Functions

                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
              TDiamond& operator=(const TDiamond&)

Author: Rene Brun 22/06/96
Last update: root/graf:$Name: $:$Id: TDiamond.cxx,v 1.7 2003/09/30 10:09:38 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *