Logo ROOT  
Reference Guide
TColorWheel.h
Go to the documentation of this file.
1// @(#)root/gpad:$Id$
2// Author: Rene Brun 10/03/2007
3
4/*************************************************************************
5 * Copyright (C) 1995-2007, 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_TColorWheel
13#define ROOT_TColorWheel
14
15
16#include "TNamed.h"
17
18class TCanvas;
19class TArc;
20class TLine;
21class TText;
22class TGraph;
23
24class TColorWheel : public TNamed {
25
26private:
27 Double_t fRmin; ///<Minimum radius for rectangles
28 Double_t fRmax; ///<Maximum radius for rectangles
29 Double_t fR0; ///<Minimum radius for circles
30 Double_t fDr; ///<Circles radius
31 Double_t fRgray; ///<Maximum radius of gray circle
32 Double_t fX[15]; ///<X coordinates of the center of circles
33 Double_t fY[15]; ///<Y coordinates of the center of circles
34 TCanvas *fCanvas; ///<! Canvas used to draw the Color Wheel
35 TArc *fArc; ///<! pointer to utility arc
36 TLine *fLine; ///<! pointer to utility line
37 TText *fText; ///<! pointer to utility text
38 TGraph *fGraph; ///<! pointer to utility graph
39
40 TColorWheel(const TColorWheel &org); // no copy, use TObject::Clone()
41 TColorWheel &operator=(const TColorWheel &rhs); // idem
42
43protected:
44 Int_t InCircles(Double_t x, Double_t y, Int_t coffset, Double_t angle) const;
46 Int_t InRectangles(Double_t x, Double_t y, Int_t coffset, Double_t angle) const;
47 void PaintCircle(Int_t coffset,Int_t n,Double_t x, Double_t y, Double_t ang) const;
48 void PaintCircles(Int_t coffset, Double_t angle) const ;
49 void PaintGray() const;
50 void PaintRectangles(Int_t coffset, Double_t angle) const;
51 void Rotate(Double_t x, Double_t y, Double_t &u, Double_t &v, Double_t ang) const;
52
53public:
55 virtual ~TColorWheel();
56 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
57 virtual void Draw(Option_t *option="");
58 TCanvas *GetCanvas() const {return fCanvas;}
59 virtual Int_t GetColor(Int_t px, Int_t py) const;
60 virtual char *GetObjectInfo(Int_t px, Int_t py) const;
61 virtual void Paint(Option_t *option="");
62 virtual void SetCanvas(TCanvas *can) {fCanvas = can;}
63
64 ClassDef(TColorWheel,1) //The ROOT Color Wheel
65};
66
67#endif
68
int Int_t
Definition: RtypesCore.h:41
double Double_t
Definition: RtypesCore.h:55
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:326
Create an Arc.
Definition: TArc.h:28
The Canvas class.
Definition: TCanvas.h:31
Draw the ROOT Color Wheel.
Definition: TColorWheel.h:24
Int_t InRectangles(Double_t x, Double_t y, Int_t coffset, Double_t angle) const
Return the color number when the mouse point to a rectangle.
TCanvas * fCanvas
! Canvas used to draw the Color Wheel
Definition: TColorWheel.h:34
TArc * fArc
! pointer to utility arc
Definition: TColorWheel.h:35
TLine * fLine
! pointer to utility line
Definition: TColorWheel.h:36
Double_t fRgray
Maximum radius of gray circle.
Definition: TColorWheel.h:31
void PaintCircle(Int_t coffset, Int_t n, Double_t x, Double_t y, Double_t ang) const
Draw one color of type circle.
Int_t InCircles(Double_t x, Double_t y, Int_t coffset, Double_t angle) const
Return the color number when the mouse point to a circle.
virtual void Draw(Option_t *option="")
Paint the color wheel.
Double_t fR0
Minimum radius for circles.
Definition: TColorWheel.h:29
Double_t fY[15]
Y coordinates of the center of circles.
Definition: TColorWheel.h:33
TColorWheel & operator=(const TColorWheel &rhs)
virtual void SetCanvas(TCanvas *can)
Definition: TColorWheel.h:62
TColorWheel()
constructor
Definition: TColorWheel.cxx:65
virtual void Paint(Option_t *option="")
Paint the color wheel.
Int_t InGray(Double_t x, Double_t y) const
Return the color number when the mouse point to the gray circle.
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Return the color number pointed by the mouse.
Double_t fX[15]
X coordinates of the center of circles.
Definition: TColorWheel.h:32
virtual Int_t GetColor(Int_t px, Int_t py) const
Return the color number pointed by the mouse.
TColorWheel(const TColorWheel &org)
Double_t fRmin
Minimum radius for rectangles.
Definition: TColorWheel.h:27
virtual ~TColorWheel()
destructor
Definition: TColorWheel.cxx:99
TCanvas * GetCanvas() const
Definition: TColorWheel.h:58
TText * fText
! pointer to utility text
Definition: TColorWheel.h:37
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
always return the color wheel
Double_t fRmax
Maximum radius for rectangles.
Definition: TColorWheel.h:28
void PaintGray() const
Draw the gray colors + white + black.
void PaintCircles(Int_t coffset, Double_t angle) const
Draw all colors of type circle.
Double_t fDr
Circles radius.
Definition: TColorWheel.h:30
void PaintRectangles(Int_t coffset, Double_t angle) const
Draw all colors of type rectangle.
void Rotate(Double_t x, Double_t y, Double_t &u, Double_t &v, Double_t ang) const
Rotate point x,y with an angle=ang.
TGraph * fGraph
! pointer to utility graph
Definition: TColorWheel.h:38
A Graph is a graphics object made of two arrays X and Y with npoints each.
Definition: TGraph.h:41
A simple line.
Definition: TLine.h:23
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
Base class for several text objects.
Definition: TText.h:23
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17
const Int_t n
Definition: legend1.C:16
#define org(otri, vertexptr)
Definition: triangle.c:1037