103 const
Int_t kNUM_DEFAULT_COLORS = 12;
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++) {
150 for (
int r = 0; r < 6; r++) {
151 for (
int g = 0; g < 6; g++) {
152 for (
int b = 0; b < 6; b++) {
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++) {
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;
610 for (
Int_t point = 0; point < kNUM_DEFAULT_COLORS - 2; point++)
611 fPalette.
fPoints[point + 1] = (
double)point / (kNUM_DEFAULT_COLORS - 3);
625 out<<
" "<<name<<
"->SetImageQuality("<<
fImageQuality<<
");"<<std::endl;
631 out<<
" "<<name<<
"->SetConstRatio("<<
fConstRatio<<
");"<<std::endl;
676 for (
Int_t point = 0; point < kNUM_DEFAULT_COLORS - 2; point++)
677 fPalette.
fPoints[point + 1] = (
double)point / (kNUM_DEFAULT_COLORS - 3);
691 if ((h =
gROOT->GetPluginManager()->FindHandler(
"TPaletteEditor"))) {
virtual void EditorClosed()
static Vc_ALWAYS_INLINE int_v min(const int_v &x, const int_v &y)
virtual ~TAttImage()
TAttImage destructor.
static UShort_t gDefHistB[50]
void Copy(TAttImage &attline) const
Copy this image attributes to a new attimage.
virtual void SetConstRatio(Bool_t constRatio=kTRUE)
Set (constRatio = kTRUE) or unset (constRadio = kFALSE) the ratio flag.
ClassImp(TPaletteEditor) ClassImp(TAttImage) ClassImp(TImagePalette) const Int_t kNUM_DEFAULT_COLORS
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
Long_t ExecPlugin(int nargs, const T &...params)
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.
Bool_t fPaletteEnabled
GUI to edit the color palette.
static UShort_t gDefHistA[50]
static UShort_t gDefHistR[50]
virtual ~TImagePalette()
Destructor.
static UShort_t gDefHistG[50]
Edit the palette via a GUI.
static Double_t gDefHistP[50]
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"...
TAttImage()
kTRUE - palette is drawn on the image
virtual Int_t * GetRootColors()
Returns a list of ROOT colors.
static UShort_t gAlphaDefault[kNUM_DEFAULT_COLORS]
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]
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.
TImagePalette & operator=(const TImagePalette &palette)
Assignment operator.
TImagePalette()
Default constructor, sets all pointers to 0.
TPaletteEditor * fPaletteEditor
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)