#ifndef ROOT_TColorWheel
#define ROOT_TColorWheel
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
class TCanvas;
class TArc;
class TLine;
class TText;
class TGraph;
class TColorWheel : public TNamed {
private:
Double_t fRmin;
Double_t fRmax;
Double_t fR0;
Double_t fDr;
Double_t fRgray;
Double_t fX[15];
Double_t fY[15];
TCanvas *fCanvas;
TArc *fArc;
TLine *fLine;
TText *fText;
TGraph *fGraph;
TColorWheel(const TColorWheel &org);
TColorWheel &operator=(const TColorWheel &rhs);
protected:
Int_t InCircles(Double_t x, Double_t y, Int_t coffset, Double_t angle) const;
Int_t InGray(Double_t x, Double_t y) const;
Int_t InRectangles(Double_t x, Double_t y, Int_t coffset, Double_t angle) const;
void PaintCircle(Int_t coffset,Int_t n,Double_t x, Double_t y, Double_t ang) const;
void PaintCircles(Int_t coffset, Double_t angle) const ;
void PaintGray() const;
void PaintRectangles(Int_t coffset, Double_t angle) const;
void Rotate(Double_t x, Double_t y, Double_t &u, Double_t &v, Double_t ang) const;
public:
TColorWheel();
virtual ~TColorWheel();
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
virtual void Draw(Option_t *option="");
TCanvas *GetCanvas() const {return fCanvas;}
virtual Int_t GetColor(Int_t px, Int_t py) const;
virtual char *GetObjectInfo(Int_t px, Int_t py) const;
virtual void Paint(Option_t *option="");
virtual void SetCanvas(TCanvas *can) {fCanvas = can;}
ClassDef(TColorWheel,1)
};
#endif