// @(#)root/base:$Id$
// Author: Anna-Pia Lohfink 27.3.2014

/*************************************************************************
 * Copyright (C) 1995-2014, 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_TAttBBox2D
#define ROOT_TAttBBox2D

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TAttBBox2D                                                           //
//                                                                      //
// Abstract base class for elements drawn in the editor.                //
// Classes inhereting from TAttBBox2D implementing the TAttBBox2D       //
// virtual classes, and using TPad::ShowGuideLines in ExecuteEvent      //
// will autimatically get the guide lines drawn when moved in the pad.  //
// All methods work with pixel coordinates.                             //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_GuiTypes
#include "GuiTypes.h"
#endif
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif

class TPoint;
class TAttBBox2D {

public:
   virtual ~TAttBBox2D();
   virtual Rectangle_t     GetBBox()  = 0; //Get TopLeft Corner with width and height
   virtual TPoint          GetBBoxCenter() = 0;
   virtual void            SetBBoxCenter(const TPoint &p) = 0;
   virtual void            SetBBoxCenterX(const Int_t x) = 0;
   virtual void            SetBBoxCenterY(const Int_t y) = 0;
   virtual void            SetBBoxX1(const Int_t x) = 0; //set lhs of BB to value
   virtual void            SetBBoxX2(const Int_t x) = 0; //set rhs of BB to value
   virtual void            SetBBoxY1(const Int_t y) = 0; //set top of BB to value
   virtual void            SetBBoxY2(const Int_t y) = 0; //set bottom of BB to value

   ClassDef(TAttBBox2D,0);  //2D bounding box attributes
};

#endif
 TAttBBox2D.h:1
 TAttBBox2D.h:2
 TAttBBox2D.h:3
 TAttBBox2D.h:4
 TAttBBox2D.h:5
 TAttBBox2D.h:6
 TAttBBox2D.h:7
 TAttBBox2D.h:8
 TAttBBox2D.h:9
 TAttBBox2D.h:10
 TAttBBox2D.h:11
 TAttBBox2D.h:12
 TAttBBox2D.h:13
 TAttBBox2D.h:14
 TAttBBox2D.h:15
 TAttBBox2D.h:16
 TAttBBox2D.h:17
 TAttBBox2D.h:18
 TAttBBox2D.h:19
 TAttBBox2D.h:20
 TAttBBox2D.h:21
 TAttBBox2D.h:22
 TAttBBox2D.h:23
 TAttBBox2D.h:24
 TAttBBox2D.h:25
 TAttBBox2D.h:26
 TAttBBox2D.h:27
 TAttBBox2D.h:28
 TAttBBox2D.h:29
 TAttBBox2D.h:30
 TAttBBox2D.h:31
 TAttBBox2D.h:32
 TAttBBox2D.h:33
 TAttBBox2D.h:34
 TAttBBox2D.h:35
 TAttBBox2D.h:36
 TAttBBox2D.h:37
 TAttBBox2D.h:38
 TAttBBox2D.h:39
 TAttBBox2D.h:40
 TAttBBox2D.h:41
 TAttBBox2D.h:42
 TAttBBox2D.h:43
 TAttBBox2D.h:44
 TAttBBox2D.h:45
 TAttBBox2D.h:46
 TAttBBox2D.h:47
 TAttBBox2D.h:48
 TAttBBox2D.h:49
 TAttBBox2D.h:50
 TAttBBox2D.h:51
 TAttBBox2D.h:52