Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TMarker.h
Go to the documentation of this file.
1 // @(#)root/graf:$Id$
2 // Author: Rene Brun 12/05/95
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, 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_TMarker
13 #define ROOT_TMarker
14 
15 
16 #include "TAttMarker.h"
17 #include "TNamed.h"
18 #include "TAttBBox2D.h"
19 #include "GuiTypes.h"
20 
21 class TPoint;
22 
23 class TMarker : public TObject, public TAttMarker, public TAttBBox2D {
24 
25 protected:
26  Double_t fX; ///< X position of marker (left,center,etc..)
27  Double_t fY; ///< Y position of marker (left,center,etc..)
28 
29 public:
30  // TMarker status bits
31  enum {
32  kMarkerNDC = BIT(14) ///< Marker position is in NDC
33  };
34 
35  TMarker();
36  TMarker(Double_t x, Double_t y, Int_t marker);
37  TMarker(const TMarker &marker);
38  virtual ~TMarker();
39 
40  void Copy(TObject &marker) const;
41  virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
42  virtual void Draw(Option_t *option="");
43  virtual void DrawMarker(Double_t x, Double_t y);
44  virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
45  Double_t GetX() const {return fX;}
46  Double_t GetY() const {return fY;}
47  virtual void ls(Option_t *option="") const;
48  virtual void Paint(Option_t *option="");
49  virtual void PaintMarker(Double_t x, Double_t y);
50  virtual void PaintMarkerNDC(Double_t u, Double_t v);
51  virtual void Print(Option_t *option="") const;
52  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
53  virtual void SetNDC(Bool_t isNDC=kTRUE);
54  virtual void SetX(Double_t x) { fX = x;} // *MENU*
55  virtual void SetY(Double_t y) { fY = y;} // *MENU*
56 
57  virtual Rectangle_t GetBBox();
58  virtual TPoint GetBBoxCenter();
59  virtual void SetBBoxCenter(const TPoint &p);
60  virtual void SetBBoxCenterX(const Int_t x);
61  virtual void SetBBoxCenterY(const Int_t y);
62  virtual void SetBBoxX1(const Int_t x);
63  virtual void SetBBoxX2(const Int_t x);
64  virtual void SetBBoxY1(const Int_t y);
65  virtual void SetBBoxY2(const Int_t y);
66 
67  static void DisplayMarkerTypes();
68 
69  ClassDef(TMarker,3) //Marker
70 };
71 
72 #endif
73