// @(#)root/graf:$Id$
// 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_TWbox
#define ROOT_TWbox


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TWbox                                                                //
//                                                                      //
// A window box (box with 3-D effects).                                 //
//                                                                      //
//////////////////////////////////////////////////////////////////////////


#ifndef ROOT_TBox
#include "TBox.h"
#endif

#ifndef ROOT_TColor
#include "TColor.h"
#endif

class TWbox : public TBox {

protected:
   Short_t      fBorderSize;    //window box bordersize in pixels
   Short_t      fBorderMode;    //Bordermode (-1=down, 0 = no border, 1=up)

public:
   TWbox();
   TWbox(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2,
         Color_t color=18, Short_t bordersize=5 ,Short_t bordermode=1);
   TWbox(const TWbox &wbox);
   virtual ~TWbox();

   void          Copy(TObject &wbox) const;
   virtual void  Draw(Option_t *option="");
   virtual void  DrawWbox(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2,
                      Color_t color=33 ,Short_t bordersize=5 ,Short_t bordermode=-1);
   virtual void  ExecuteEvent(Int_t event, Int_t px, Int_t py);
   Short_t       GetBorderMode() const { return fBorderMode;}
   Short_t       GetBorderSize() const { return fBorderSize;}
   Int_t         GetDarkColor() const  {return TColor::GetColorDark(GetFillColor());}
   Int_t         GetLightColor() const {return TColor::GetColorBright(GetFillColor());}
   virtual void  Paint(Option_t *option="");
   virtual void  PaintFrame(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2,
                            Color_t color, Short_t bordersize, Short_t bordermode,
                            Bool_t tops);
   virtual void  PaintWbox(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2,
                 Color_t color=33, Short_t bordersize=5, Short_t bordermode=-1);
   virtual void  SavePrimitive(std::ostream &out, Option_t *option = "");
   virtual void  SetBorderMode(Short_t bordermode) {fBorderMode = bordermode;} // *MENU*
   virtual void  SetBorderSize(Short_t bordersize) {fBorderSize = bordersize;} // *MENU*

   ClassDef(TWbox,1)  //A window box (box with 3-D effects)
};

#endif

 TWbox.h:1
 TWbox.h:2
 TWbox.h:3
 TWbox.h:4
 TWbox.h:5
 TWbox.h:6
 TWbox.h:7
 TWbox.h:8
 TWbox.h:9
 TWbox.h:10
 TWbox.h:11
 TWbox.h:12
 TWbox.h:13
 TWbox.h:14
 TWbox.h:15
 TWbox.h:16
 TWbox.h:17
 TWbox.h:18
 TWbox.h:19
 TWbox.h:20
 TWbox.h:21
 TWbox.h:22
 TWbox.h:23
 TWbox.h:24
 TWbox.h:25
 TWbox.h:26
 TWbox.h:27
 TWbox.h:28
 TWbox.h:29
 TWbox.h:30
 TWbox.h:31
 TWbox.h:32
 TWbox.h:33
 TWbox.h:34
 TWbox.h:35
 TWbox.h:36
 TWbox.h:37
 TWbox.h:38
 TWbox.h:39
 TWbox.h:40
 TWbox.h:41
 TWbox.h:42
 TWbox.h:43
 TWbox.h:44
 TWbox.h:45
 TWbox.h:46
 TWbox.h:47
 TWbox.h:48
 TWbox.h:49
 TWbox.h:50
 TWbox.h:51
 TWbox.h:52
 TWbox.h:53
 TWbox.h:54
 TWbox.h:55
 TWbox.h:56
 TWbox.h:57
 TWbox.h:58
 TWbox.h:59
 TWbox.h:60
 TWbox.h:61
 TWbox.h:62
 TWbox.h:63
 TWbox.h:64
 TWbox.h:65
 TWbox.h:66
 TWbox.h:67
 TWbox.h:68
 TWbox.h:69