#ifndef ROOT_TAttImage
#define ROOT_TAttImage
#ifndef ROOT_TObject
#include "TObject.h"
#endif
#ifndef ROOT_Riosfwd
#include "Riosfwd.h"
#endif
class TAttImage;
class TPaletteEditor {
protected:
TAttImage *fAttImage;
public:
TPaletteEditor(TAttImage *attImage, UInt_t w, UInt_t h);
virtual ~TPaletteEditor() { }
virtual void CloseWindow();
ClassDef(TPaletteEditor, 0)
};
class TImagePalette : public TObject {
public:
UInt_t fNumPoints;
Double_t *fPoints;
UShort_t *fColorRed;
UShort_t *fColorGreen;
UShort_t *fColorBlue;
UShort_t *fColorAlpha;
TImagePalette();
TImagePalette(const TImagePalette &palette);
TImagePalette(UInt_t numPoints);
TImagePalette(Int_t ncolors, Int_t *colors);
virtual ~TImagePalette();
virtual Int_t FindColor(UShort_t r, UShort_t g, UShort_t b);
virtual Int_t *GetRootColors();
TImagePalette &operator=(const TImagePalette &palette);
static TImagePalette* Create(Option_t* opts);
static TImagePalette* CreateCOLPalette(Int_t nContours);
ClassDef(TImagePalette,2)
};
class TAttImage {
public:
enum EImageQuality {
kImgDefault = -1,
kImgPoor = 0,
kImgFast = 1,
kImgGood = 2,
kImgBest = 3
};
protected:
EImageQuality fImageQuality;
UInt_t fImageCompression;
Bool_t fConstRatio;
TImagePalette fPalette;
TPaletteEditor *fPaletteEditor;
Bool_t fPaletteEnabled;
public:
TAttImage();
TAttImage(EImageQuality lquality, UInt_t lcompression, Bool_t constRatio);
virtual ~TAttImage();
void Copy(TAttImage &attline) const;
Bool_t GetConstRatio() const { return fConstRatio; }
UInt_t GetImageCompression() const { return fImageCompression; }
EImageQuality GetImageQuality() const { return fImageQuality; }
virtual const TImagePalette &GetPalette() const { return fPalette; }
virtual void ResetAttImage(Option_t *option="");
virtual void SaveImageAttributes(std::ostream &out, const char *name,
EImageQuality qualdef = kImgDefault,
UInt_t comprdef = 0,
Bool_t constRatiodef = kTRUE);
virtual void SetConstRatio(Bool_t constRatio = kTRUE);
virtual void SetPaletteEnabled(Bool_t on = kTRUE) { fPaletteEnabled = on; }
virtual void SetImageCompression(UInt_t lcompression)
{ fImageCompression = (lcompression > 100) ? 100 : lcompression; }
virtual void SetImageQuality(EImageQuality lquality)
{ fImageQuality = lquality;}
virtual void SetPalette(const TImagePalette *palette);
virtual void StartPaletteEditor();
virtual void EditorClosed() { fPaletteEditor = 0; }
Bool_t IsPaletteEnabled() const { return fPaletteEnabled; }
ClassDef(TAttImage,1)
};
R__EXTERN TImagePalette *gHistImagePalette;
R__EXTERN TImagePalette *gWebImagePalette;
#endif