Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TVirtualGraphPainter.h
Go to the documentation of this file.
1 // @(#)root/hist:$Id$
2 // Author: Olivier Couet 20/05/08
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 #ifndef ROOT_TVirtualGraphPainter
12 #define ROOT_TVirtualGraphPainter
13 
14 //////////////////////////////////////////////////////////////////////////
15 // //
16 // TVirtualGraphPainter //
17 // //
18 // Abstract base class for Graph painters //
19 // //
20 //////////////////////////////////////////////////////////////////////////
21 
22 #include "TObject.h"
23 
24 class TGraph;
25 class TF1;
26 
27 class TVirtualGraphPainter : public TObject {
28 
29 private:
30  static TVirtualGraphPainter *fgPainter; //Pointer to class painter
31 
32 public:
33  TVirtualGraphPainter() { }
34  virtual ~TVirtualGraphPainter() { }
35 
36  virtual Int_t DistancetoPrimitiveHelper(TGraph *theGraph, Int_t px, Int_t py) = 0;
37  virtual void DrawPanelHelper(TGraph *theGraph) = 0;
38  virtual void ExecuteEventHelper(TGraph *theGraph, Int_t event, Int_t px, Int_t py) = 0;
39  virtual char *GetObjectInfoHelper(TGraph *theGraph, Int_t px, Int_t py) const = 0;
40  virtual void PaintHelper(TGraph *theGraph, Option_t *option) = 0;
41  virtual void PaintGraph(TGraph *theGraph, Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt) = 0;
42  virtual void PaintGrapHist(TGraph *theGraph, Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt) = 0;
43  virtual void PaintStats(TGraph *theGraph, TF1 *fit) = 0;
44  virtual void SetHighlight(TGraph *theGraph) = 0;
45 
46  static TVirtualGraphPainter *GetPainter();
47  static void SetPainter(TVirtualGraphPainter *painter);
48 
49  ClassDef(TVirtualGraphPainter,0) //Abstract interface for histogram painters
50 };
51 
52 #endif