1    	// @(#)root/base:$Id$
2    	// Author: Anna-Pia Lohfink 27.3.2014
3    	
4    	/*************************************************************************
5    	 * Copyright (C) 1995-2014, Rene Brun and Fons Rademakers.               *
6    	 * All rights reserved.                                                  *
7    	 *                                                                       *
8    	 * For the licensing terms see $ROOTSYS/LICENSE.                         *
9    	 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
10   	 *************************************************************************/
11   	
12   	#ifndef ROOT_TAttBBox2D
13   	#define ROOT_TAttBBox2D
14   	
15   	//////////////////////////////////////////////////////////////////////////
16   	//                                                                      //
17   	// TAttBBox2D                                                           //
18   	//                                                                      //
19   	// Abstract base class for elements drawn in the editor.                //
20   	// Classes inhereting from TAttBBox2D implementing the TAttBBox2D       //
21   	// virtual classes, and using TPad::ShowGuideLines in ExecuteEvent      //
22   	// will autimatically get the guide lines drawn when moved in the pad.  //
23   	// All methods work with pixel coordinates.                             //
24   	//                                                                      //
25   	//////////////////////////////////////////////////////////////////////////
26   	
27   	#ifndef ROOT_GuiTypes
28   	#include "GuiTypes.h"
29   	#endif
30   	#ifndef ROOT_Rtypes
31   	#include "Rtypes.h"
32   	#endif
33   	
34   	class TPoint;
35   	class TAttBBox2D {
36   	
37   	public:
38   	   virtual ~TAttBBox2D();
39   	   virtual Rectangle_t     GetBBox()  = 0; //Get TopLeft Corner with width and height
40   	   virtual TPoint          GetBBoxCenter() = 0;
41   	   virtual void            SetBBoxCenter(const TPoint &p) = 0;
42   	   virtual void            SetBBoxCenterX(const Int_t x) = 0;
43   	   virtual void            SetBBoxCenterY(const Int_t y) = 0;
44   	   virtual void            SetBBoxX1(const Int_t x) = 0; //set lhs of BB to value
45   	   virtual void            SetBBoxX2(const Int_t x) = 0; //set rhs of BB to value
46   	   virtual void            SetBBoxY1(const Int_t y) = 0; //set top of BB to value
47   	   virtual void            SetBBoxY2(const Int_t y) = 0; //set bottom of BB to value
48   	
49   	   ClassDef(TAttBBox2D,0);  //2D bounding box attributes
50   	};
51   	
52   	#endif
53