00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ROOT_TVirtualGraphPainter
00012 #define ROOT_TVirtualGraphPainter
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef ROOT_TObject
00023 #include "TObject.h"
00024 #endif
00025
00026 class TGraph;
00027 class TF1;
00028
00029 class TVirtualGraphPainter : public TObject {
00030
00031 private:
00032 static TVirtualGraphPainter *fgPainter;
00033
00034 public:
00035 TVirtualGraphPainter() { }
00036 virtual ~TVirtualGraphPainter() { }
00037
00038 virtual Int_t DistancetoPrimitiveHelper(TGraph *theGraph, Int_t px, Int_t py) = 0;
00039 virtual void DrawPanelHelper(TGraph *theGraph) = 0;
00040 virtual void ExecuteEventHelper(TGraph *theGraph, Int_t event, Int_t px, Int_t py) = 0;
00041 virtual char *GetObjectInfoHelper(TGraph *theGraph, Int_t px, Int_t py) const = 0;
00042 virtual void PaintHelper(TGraph *theGraph, Option_t *option) = 0;
00043 virtual void PaintGraph(TGraph *theGraph, Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt) = 0;
00044 virtual void PaintGrapHist(TGraph *theGraph, Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt) = 0;
00045 virtual void PaintStats(TGraph *theGraph, TF1 *fit) = 0;
00046
00047 static TVirtualGraphPainter *GetPainter();
00048 static void SetPainter(TVirtualGraphPainter *painter);
00049
00050 ClassDef(TVirtualGraphPainter,0)
00051 };
00052
00053 #endif