00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TAttImage
00013 #define ROOT_TAttImage
00014
00015
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00055
00056 #ifndef ROOT_TObject
00057 #include "TObject.h"
00058 #endif
00059
00060 #ifndef ROOT_Riosfwd
00061 #include "Riosfwd.h"
00062 #endif
00063
00064 class TAttImage;
00065
00066
00067 class TPaletteEditor {
00068
00069 protected:
00070 TAttImage *fAttImage;
00071
00072 public:
00073 TPaletteEditor(TAttImage *attImage, UInt_t w, UInt_t h);
00074
00075 virtual void CloseWindow();
00076
00077 ClassDef(TPaletteEditor, 0)
00078 };
00079
00080
00081
00082 class TImagePalette : public TObject {
00083
00084 public:
00085 UInt_t fNumPoints;
00086 Double_t *fPoints;
00087 UShort_t *fColorRed;
00088 UShort_t *fColorGreen;
00089 UShort_t *fColorBlue;
00090 UShort_t *fColorAlpha;
00091
00092 TImagePalette();
00093 TImagePalette(const TImagePalette &palette);
00094 TImagePalette(UInt_t numPoints);
00095 virtual ~TImagePalette();
00096
00097 TImagePalette &operator=(const TImagePalette &palette);
00098
00099 ClassDef(TImagePalette,1)
00100 };
00101
00102
00103
00104 class TAttImage {
00105
00106 public:
00107
00108 enum EImageQuality {
00109 kImgDefault = -1,
00110 kImgPoor = 0,
00111 kImgFast = 1,
00112 kImgGood = 2,
00113 kImgBest = 3
00114 };
00115
00116 protected:
00117 EImageQuality fImageQuality;
00118 UInt_t fImageCompression;
00119 Bool_t fConstRatio;
00120 TImagePalette fPalette;
00121 TPaletteEditor *fPaletteEditor;
00122
00123 public:
00124 TAttImage();
00125 TAttImage(EImageQuality lquality, UInt_t lcompression, Bool_t constRatio);
00126 virtual ~TAttImage();
00127
00128 void Copy(TAttImage &attline) const;
00129 Bool_t GetConstRatio() const { return fConstRatio; }
00130 UInt_t GetImageCompression() const { return fImageCompression; }
00131 EImageQuality GetImageQuality() const { return fImageQuality; }
00132 virtual const TImagePalette &GetPalette() const { return fPalette; }
00133
00134 virtual void ResetAttImage(Option_t *option="");
00135 virtual void SaveImageAttributes(ofstream &out, const char *name,
00136 EImageQuality qualdef = kImgDefault,
00137 UInt_t comprdef = 0,
00138 Bool_t constRatiodef = kTRUE);
00139 virtual void SetConstRatio(Bool_t constRatio = kTRUE);
00140 virtual void SetImageCompression(UInt_t lcompression)
00141 { fImageCompression = (lcompression > 100) ? 100 : lcompression; }
00142 virtual void SetImageQuality(EImageQuality lquality)
00143 { fImageQuality = lquality;}
00144 virtual void SetPalette(const TImagePalette *palette);
00145 virtual void StartPaletteEditor();
00146 virtual void EditorClosed() { fPaletteEditor = 0; }
00147
00148 ClassDef(TAttImage,1)
00149 };
00150
00151 #endif