105 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
106 0xffff, 0xffff, 0xffff, 0xffff
110 0x0000, 0x0000, 0x7000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff,
111 0x7000, 0x8000, 0xffff, 0xffff
115 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0x0000,
116 0x0000, 0x8000, 0xffff, 0xffff
120 0x0000, 0x0000, 0x7000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000,
121 0x0000, 0xa000, 0xffff, 0xffff
131 Int_t fCLUT[6][6][6];
143 for (i = 0; i < 214; i++) {
144 fPoints[i + 1] = (double)i/213;
150 for (
int r = 0;
r < 6;
r++) {
151 for (
int g = 0;
g < 6;
g++) {
152 for (
int b = 0;
b < 6;
b++) {
156 fColorAlpha[i] = 0xffff;
168 return fCLUT[ri][gi][bi];
172 static Int_t *gRootColors = 0;
173 if (gRootColors)
return gRootColors;
175 gRootColors =
new Int_t[216];
178 for (
int r = 0; r < 6; r++) {
179 for (
int g = 0; g < 6; g++) {
180 for (
int b = 0; b < 6; b++) {
195 0.00,0.02,0.04,0.06,0.08,0.10,0.12,0.14,0.16,0.18,0.20,0.22,0.24,0.26,
196 0.28,0.30,0.32,0.34,0.36,0.38,0.40,0.42,0.44,0.46,0.48,0.50,0.52,0.54,
197 0.56,0.58,0.60,0.62,0.64,0.66,0.68,0.70,0.72,0.74,0.76,0.78,0.80,0.82,
198 0.84,0.86,0.88,0.90,0.92,0.94,0.96,0.98 };
201 242,229,204,178,153,127,102,76,192,204,204,193,186,178,183,173,155,135,
202 175,132,89,137,130,173,122, 117,104,109,124,127,170,89,211,221,188,198,
203 191,170,165,147,206,211,255,0,255,255,0,0,53,0 };
206 242,229,204,178,153,127,102,76,182,198,198,191,181,165,163,153,142,102,
207 206,193,211,168,158,188,142,137,130,122,153,127,165,84,206,186,158,153,
208 130,142,119,104,94,89,0,255,0,255,0,255,53,0 };
211 242,229,204,178,153,127,102,76,172,170,170,168,163,150,155,140,130,86,
212 198,163,84,160,140,198,153,145,150,132,209,155,191,216,135,135,130,124,
213 119,147,122,112,96,84,0,255,255,0,255,0,53,0 };
216 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
217 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
218 255,255,255,255,255,255,255,255,255,255,255,255,255,255 };
221 19,18,17,16,15,14,13,12,11,20,21,22,23,24,25,26,27,28,29,30, 8,
222 31,32,33,34,35,36,37,38,39,40, 9, 41,42,43,44,45,47,48,49,46,50, 2,
223 7, 6, 5, 4, 3, 112,1};
237 for (
int i = 0; i<50; i++) {
238 fColorRed[i] = fColorRed[i] << 8;
239 fColorGreen[i] = fColorGreen[i] << 8;
240 fColorBlue[i] = fColorBlue[i] << 8;
241 fColorAlpha[i] = fColorAlpha[i] << 8;
256 fAttImage = attImage;
264 fAttImage->EditorClosed();
286 fNumPoints = numPoints;
288 fColorRed =
new UShort_t[fNumPoints];
289 fColorGreen =
new UShort_t[fNumPoints];
290 fColorBlue =
new UShort_t[fNumPoints];
291 fColorAlpha =
new UShort_t[fNumPoints];
327 static Int_t palette[50] = {19,18,17,16,15,14,13,12,11,20,
328 21,22,23,24,25,26,27,28,29,30, 8,
329 31,32,33,34,35,36,37,38,39,40, 9,
330 41,42,43,44,45,47,48,49,46,50, 2,
331 7, 6, 5, 4, 3, 112,1};
344 for (i=0;i<ncolors;i++) {
345 col =
gROOT->GetColor(palette[i]);
358 if (ncolors == 1 && colors == 0) {
375 for (i=1;i<ncolors;i++) {
376 col =
gROOT->GetColor(51+i);
389 if (colors == 0 && ncolors > 50) {
390 static const Int_t nRGBs = 5;
391 static Float_t stops[nRGBs] = { 0.00, 0.34, 0.61, 0.84, 1.00 };
392 static Float_t red[nRGBs] = { 0.00, 0.09, 0.18, 0.09, 0.00 };
393 static Float_t green[nRGBs] = { 0.01, 0.02, 0.39, 0.68, 0.97 };
394 static Float_t blue[nRGBs] = { 0.17, 0.39, 0.62, 0.79, 0.97 };
420 for (i=0;i<ncolors;i++) {
422 col =
gROOT->GetColor(colors[i]);
455 if (
this != &palette) {
509 static Int_t *gRootColors = 0;
510 if (gRootColors)
return gRootColors;
528 fPaletteEnabled =
kTRUE;
549 fImageQuality = lquality;
550 fImageCompression = (lcompression > 100) ? 100 : lcompression;
551 fConstRatio = constRatio;
553 fPaletteEnabled =
kTRUE;
561 delete fPaletteEditor;
586 fImageQuality = kImgPoor;
587 fImageCompression = 0;
591 delete [] fPalette.fPoints;
592 delete [] fPalette.fColorRed;
593 delete [] fPalette.fColorGreen;
594 delete [] fPalette.fColorBlue;
595 delete [] fPalette.fColorAlpha;
611 fPalette.fPoints[point + 1] = (
double)point / (kNUM_DEFAULT_COLORS - 3);
612 fPalette.fPoints[0] = 0;
613 fPalette.fPoints[kNUM_DEFAULT_COLORS - 1] = 1;
624 if (fImageQuality != qualdef) {
625 out<<
" "<<name<<
"->SetImageQuality("<<fImageQuality<<
");"<<std::endl;
627 if (fImageCompression != comprdef) {
628 out<<
" "<<name<<
"->SetImageCompression("<<fImageCompression<<
");"<<std::endl;
630 if (fConstRatio != constRatiodef) {
631 out<<
" "<<name<<
"->SetConstRatio("<<fConstRatio<<
");"<<std::endl;
643 fConstRatio = constRatio;
658 delete [] fPalette.fColorRed;
659 delete [] fPalette.fColorGreen;
660 delete [] fPalette.fColorBlue;
661 delete [] fPalette.fColorAlpha;
677 fPalette.fPoints[point + 1] = (
double)point / (kNUM_DEFAULT_COLORS - 3);
678 fPalette.fPoints[0] = 0;
679 fPalette.fPoints[kNUM_DEFAULT_COLORS - 1] = 1;
723 pPalette =
new TDefHistImagePalette();
725 pPalette =
new TWebPalette();
753 if (ncontours != 0 ) {
754 minColor = (0.99*ncolors)/ncontours;
755 scale =
static_cast<Double_t>(ncolors)/ncontours;
761 Double_t step = 1./(pPalette->fNumPoints-1);
763 for (
UInt_t i=0; i<pPalette->fNumPoints; ++i) {
765 pPalette->fPoints[i] = i*step;
781 if (fPaletteEditor == 0) {
784 if ((h =
gROOT->GetPluginManager()->FindHandler(
"TPaletteEditor"))) {
Double_t * fPoints
[fNumPoints] value of each anchor point [0..1]
virtual ~TAttImage()
TAttImage destructor.
static UShort_t gDefHistB[50]
R__EXTERN TStyle * gStyle
virtual void SetConstRatio(Bool_t constRatio=kTRUE)
Set (constRatio = kTRUE) or unset (constRadio = kFALSE) the ratio flag.
static Int_t gDefHistRoot[50]
static UShort_t gWebBase[6]
TPaletteEditor(TAttImage *attImage, UInt_t w, UInt_t h)
Constructor.
Int_t LoadPlugin()
Load the plugin library for this handler.
EImageQuality fImageQuality
OPTION={GetMethod="GetImageQuality";SetMethod="SetImageQuality";Items=(kImgDefault="Default",kImgPoor="Poor",kImgFast="Fast",kImgGood="Good",kImgBest="Best")}
TImagePalette * gHistImagePalette
virtual void SaveImageAttributes(std::ostream &out, const char *name, EImageQuality qualdef=kImgDefault, UInt_t comprdef=0, Bool_t constRatiodef=kTRUE)
Save image attributes as C++ statement(s) on output stream, but not the palette.
UShort_t * fColorRed
[fNumPoints] red color at each anchor point
static UShort_t gDefHistA[50]
static UShort_t gDefHistR[50]
static TImagePalette * Create(Option_t *opts)
Factory method to creates an image palette of a specific typ.
virtual ~TImagePalette()
Destructor.
UInt_t fImageCompression
compression [0 .. 100] 0: no compression
Int_t GetColorPalette(Int_t i) const
Return color number i in current palette.
static UShort_t gDefHistG[50]
Edit the palette via a GUI.
TImagePalette * gWebImagePalette
Long_t ExecPlugin(int nargs, const T &... params)
TImagePalette fPalette
color palette for value -> color conversion
UShort_t * fColorAlpha
[fNumPoints] alpha at each anchor point
static Double_t gDefHistP[50]
static TImagePalette * CreateCOLPalette(Int_t nContours)
Factory method to creates an image palette for histogram plotting.
virtual void SetPalette(const TImagePalette *palette)
Set a new palette for the image.
static Int_t GetColor(const char *hexcolor)
Static method returning color number for color specified by hex color string of form: "#rrggbb"...
void Copy(TAttImage &attline) const
Copy this image attributes to a new attimage.
UInt_t fNumPoints
number of anchor points
TAttImage()
TAttImage default constructor.
virtual Int_t * GetRootColors()
Returns a list of ROOT colors.
UShort_t * fColorBlue
[fNumPoints] blue color at each anchor point
Int_t GetNumberOfColors() const
Return number of colors in the color palette.
static UShort_t gAlphaDefault[kNUM_DEFAULT_COLORS]
Bool_t fConstRatio
keep aspect ratio of image on the screen
static UShort_t gGreenDefault[kNUM_DEFAULT_COLORS]
virtual Int_t FindColor(UShort_t r, UShort_t g, UShort_t b)
Returns an index of the closest color.
static UShort_t gBlueDefault[kNUM_DEFAULT_COLORS]
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
The color creation and management class.
A class to define a conversion from pixel values to pixel color.
static UShort_t gRedDefault[kNUM_DEFAULT_COLORS]
Mother of all ROOT objects.
const Int_t kNUM_DEFAULT_COLORS
UShort_t * fColorGreen
[fNumPoints] green color at each anchor point
TImagePalette & operator=(const TImagePalette &palette)
Assignment operator.
TImagePalette()
Default constructor, sets all pointers to 0.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
virtual void StartPaletteEditor()
Opens a GUI to edit the color palette.
virtual void CloseWindow()
Closes the window and deletes itself.
virtual void ResetAttImage(Option_t *option="")
Reset this image attributes to default values.
Long64_t BinarySearch(Long64_t n, const T *array, T value)
static constexpr double g