// @(#)root/gui:$Id$
// Author: Fons Rademakers   6/09/2000

/*************************************************************************
 * 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_TG3DLine
#define ROOT_TG3DLine


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGHorizontal3DLine and TGVertical3DLine                              //
//                                                                      //
// A horizontal 3D line is a line that typically separates a toolbar    //
// from the menubar.                                                    //
// A vertical 3D line is a line that can be used to separate groups of  //
// widgets.                                                             //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif


class TGHorizontal3DLine : public TGFrame {

public:
   TGHorizontal3DLine(const TGWindow *p = 0, UInt_t w = 4, UInt_t h = 2,
                      UInt_t options = kChildFrame,
                      Pixel_t back = GetDefaultFrameBackground());

   virtual void DrawBorder() {
      gVirtualX->DrawLine(fId, GetShadowGC()(),  0, 0, fWidth-2, 0);
      gVirtualX->DrawLine(fId, GetHilightGC()(), 0, 1, fWidth-1, 1);
      gVirtualX->DrawLine(fId, GetHilightGC()(), fWidth-1, 0, fWidth-1, 1);
   }
   virtual void  SavePrimitive(std::ostream &out, Option_t *option = "");

   ClassDef(TGHorizontal3DLine,0)  //A horizontal 3D separator line
};


class TGVertical3DLine : public TGFrame {

public:
   TGVertical3DLine(const TGWindow *p = 0, UInt_t w = 2, UInt_t h = 4,
                    UInt_t options = kChildFrame,
                    Pixel_t back = GetDefaultFrameBackground());

   virtual void DrawBorder() {
      gVirtualX->DrawLine(fId, GetShadowGC()(),  0, 0, 0, fHeight-2);
      gVirtualX->DrawLine(fId, GetHilightGC()(), 1, 0, 1, fHeight-1);
      gVirtualX->DrawLine(fId, GetHilightGC()(), 0, fHeight-1, 1, fHeight-1);
   }
   virtual void  SavePrimitive(std::ostream &out, Option_t *option = "");

   ClassDef(TGVertical3DLine,0)  //A vertical 3D separator line
};

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