Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TImage.h
Go to the documentation of this file.
1// @(#)root/graf:$Id$
2// Author: Fons Rademakers, Reiner Rohlfs 15/10/2001
3
4/*************************************************************************
5 * Copyright (C) 2001-2001, Rene Brun, Fons Rademakers and Reiner Rohlfs *
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_TImage
13#define ROOT_TImage
14
15
16#include "TNamed.h"
17
18#include "TAttImage.h"
19#include "GuiTypes.h"
20#include "TVectorDfwd.h"
21
22class TVirtualPad;
23class TArrayD;
24class TArrayL;
25class TH2D;
26class TPoint;
27class TText;
28
29class TImage : public TNamed, public TAttImage {
30
31friend TImage operator+(const TImage &i1, const TImage &s2);
32friend TImage operator/(const TImage &i1, const TImage &s2);
33
34public:
35 // Defines image file types
37 kXpm = 0,
56 };
57
59 kPlain = 0, // regular 2D text
70 };
71
72 enum ECharType {
73 kUTF8 = 0,
74 kChar = 1,
75 kUnicode = 4
76 };
77
78 enum ETileType {
83 };
84
88 };
89
96 };
97
98protected:
99 TImage(const char *file) : TNamed(file, "") { }
100 TImage() { }
101
102public:
103 TImage(const TImage &img) : TNamed(img), TAttImage(img) { }
105 { TNamed::operator=(img); TAttImage::operator=(img); return *this; }
106 TImage(UInt_t /*w*/, UInt_t /*h*/) : TNamed(), TAttImage() { }
107
108 ~TImage() override { }
109
110 // Cloning
111 TObject *Clone(const char *) const override { return nullptr; }
112
113 // Input / output
114 virtual void ReadImage(const char * /*file*/, EImageFileTypes /*type*/ = TImage::kUnknown) {}
115 virtual void WriteImage(const char * /*file*/, EImageFileTypes /*type*/ = TImage::kUnknown) {}
116 virtual void SetImage(const Double_t * /*imageData*/, UInt_t /*width*/, UInt_t /*height*/, TImagePalette * /*palette*/ = nullptr) {}
117 virtual void SetImage(const TArrayD & /*imageData*/, UInt_t /*width*/, TImagePalette * /*palette*/ = nullptr) {}
118 virtual void SetImage(const TVectorD & /*imageData*/, UInt_t /*width*/, TImagePalette * /*palette*/ = nullptr) {}
119 virtual void SetImage(Pixmap_t /*pxm*/, Pixmap_t /*mask*/ = 0) {}
120
121 // Create an image from the given pad. (See TASImage::FromPad)
122 virtual void FromPad(TVirtualPad * /*pad*/, Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*w*/ = 0, UInt_t /*h*/ = 0) {}
123
124 // Restore the image original size. (See TASImage::UnZoom)
125 virtual void UnZoom() {}
126
127 // Zoom the image. (See TASImage::Zoom)
128 virtual void Zoom(UInt_t /*offX*/, UInt_t /*offY*/, UInt_t /*width*/, UInt_t /*height*/) {}
129
130 // Flip the image by a multiple of 90 degrees. (See TASImage::Flip)
131 virtual void Flip(Int_t /*flip*/ = 180) {}
132
133 // Converts image to Gray. (See TASImage::Gray)
134 virtual void Gray(Bool_t /*on*/ = kTRUE) {}
135 virtual Bool_t IsGray() const { return kFALSE; }
136
137 // Mirror the image. (See TASImage::Mirror)
138 virtual void Mirror(Bool_t /*vert*/ = kTRUE) {}
139
140 // Scale the image. (See TASImage::Scale)
141 virtual void Scale(UInt_t /*width*/, UInt_t /*height*/) {}
142
143 // Slice the image. (See TASImage::Slice)
144 virtual void Slice(UInt_t /*xStart*/, UInt_t /*xEnd*/, UInt_t /*yStart*/, UInt_t /*yEnd*/,
145 UInt_t /*toWidth*/, UInt_t /*toHeight*/) {}
146
147 // Tile the image. (See TASImage::Tile)
148 virtual void Tile(UInt_t /*width*/, UInt_t /*height*/) {}
149
150 // Crop the image. (See TASImage::Crop)
151 virtual void Crop(Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
152
153 // Enlarge image. (See TASImage::Pad)
154 virtual void Pad(const char * /*color*/ = "#FFFFFFFF", UInt_t /*left*/ = 0,
155 UInt_t /*right*/ = 0, UInt_t /*top*/ = 0, UInt_t /*bottom*/ = 0) {}
156
157 // Gaussian blurr. (See TASImage::Blur)
158 virtual void Blur(Double_t /*horizontal*/ = 3, Double_t /*vertical*/ = 3) { }
159
160 // Reduces colordepth of an image. (See TASImage::Vectorize)
161 virtual Double_t *Vectorize(UInt_t /*max_colors*/ = 256, UInt_t /*dither*/ = 4, Int_t /*opaque_threshold*/ = 0) { return nullptr; }
162
163 // (See TASImage::HSV)
164 virtual void HSV(UInt_t /*hue*/ = 0, UInt_t /*radius*/ = 360, Int_t /*H*/ = 0, Int_t /*S*/ = 0, Int_t /*V*/ = 0,
165 Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
166
167 // Render multipoint gradient inside a rectangle. (See TASImage::Gradient)
168 virtual void Gradient(UInt_t /*angle*/ = 0, const char * /*colors*/ = "#FFFFFF #000000", const char * /*offsets*/ = nullptr,
169 Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
170
171 // Merge two images. (See TASImage::Merge)
172 virtual void Merge(const TImage * /*im*/, const char * /*op*/ = "alphablend", Int_t /*x*/ = 0, Int_t /*y*/ = 0) {}
173
174 // Append image. (See TASImage::Append)
175 virtual void Append(const TImage * /*im*/, const char * /*option*/ = "+", const char * /*color*/ = "#00000000") {}
176
177 // Bevel effect. (See TASImage::Bevel)
178 virtual void Bevel(Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0,
179 const char * /*hi*/ = "#ffdddddd", const char * /*lo*/ = "#ff555555",
180 UShort_t /*thick*/ = 1, Bool_t /*pressed*/ = kFALSE) {}
181
182 virtual void BeginPaint(Bool_t /*fast*/ = kTRUE) {}
183 virtual void EndPaint() {}
184 virtual void DrawLine(UInt_t /*x1*/, UInt_t /*y1*/, UInt_t /*x2*/, UInt_t /*y2*/,
185 const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
186 virtual void DrawDashLine(UInt_t /*x1*/, UInt_t /*y1*/, UInt_t /*x2*/, UInt_t /*y2*/, UInt_t /*nDash*/,
187 const char * /*pDash*/, const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
188 virtual void DrawBox(Int_t /*x1*/, Int_t /*y1*/, Int_t /*x2*/, Int_t /*y2*/,
189 const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1, Int_t /*mode*/ = 0) {}
190 virtual void DrawRectangle(UInt_t /*x*/, UInt_t /*y*/, UInt_t /*w*/, UInt_t /*h*/,
191 const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
192 virtual void FillRectangle(const char * /*col*/ = nullptr, Int_t /*x*/ = 0, Int_t /*y*/ = 0,
193 UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
194 virtual void DrawPolyLine(UInt_t /*nn*/, TPoint * /*xy*/, const char * /*col*/ = "#000000",
195 UInt_t /*thick*/ = 1, TImage::ECoordMode /*mode*/ = kCoordModeOrigin) {}
196 virtual void PutPixel(Int_t /*x*/, Int_t /*y*/, const char * /*col*/ = "#000000") {}
197 virtual void PolyPoint(UInt_t /*npt*/, TPoint * /*ppt*/, const char * /*col*/ = "#000000",
199 virtual void DrawSegments(UInt_t /*nseg*/, Segment_t * /*seg*/, const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
200 virtual void DrawText(Int_t /*x*/ = 0, Int_t /*y*/ = 0, const char * /*text*/ = "", Int_t /*size*/ = 12,
201 const char * /*color*/ = nullptr, const char * /*font*/ = "fixed",
202 EText3DType /*type*/ = TImage::kPlain, const char * /*fore_file*/ = nullptr, Float_t /*angle*/ = 0) { }
203 virtual void DrawText(TText * /*text*/, Int_t /*x*/ = 0, Int_t /*y*/ = 0) { }
204 virtual void FillPolygon(UInt_t /*npt*/, TPoint * /*ppt*/, const char * /*col*/ = "#000000",
205 const char * /*stipple*/ = nullptr, UInt_t /*w*/ = 16, UInt_t /*h*/ = 16) {}
206 virtual void FillPolygon(UInt_t /*npt*/, TPoint * /*ppt*/, TImage * /*tile*/) {}
207 virtual void CropPolygon(UInt_t /*npt*/, TPoint * /*ppt*/) {}
208 virtual void DrawFillArea(UInt_t /*npt*/, TPoint * /*ppt*/, const char * /*col*/ = "#000000",
209 const char * /*stipple*/ = nullptr, UInt_t /*w*/ = 16, UInt_t /*h*/ = 16) {}
210 virtual void DrawFillArea(UInt_t /*npt*/, TPoint * /*ppt*/, TImage * /*tile*/) {}
211 virtual void FillSpans(UInt_t /*npt*/, TPoint * /*ppt*/, UInt_t * /*widths*/, const char * /*col*/ = "#000000",
212 const char * /*stipple*/ = nullptr, UInt_t /*w*/ = 16, UInt_t /*h*/ = 16) {}
213 virtual void FillSpans(UInt_t /*npt*/, TPoint * /*ppt*/, UInt_t * /*widths*/, TImage * /*tile*/) {}
214 virtual void CropSpans(UInt_t /*npt*/, TPoint * /*ppt*/, UInt_t * /*widths*/) {}
215 virtual void CopyArea(TImage * /*dst*/, Int_t /*xsrc*/, Int_t /*ysrc*/, UInt_t /*w*/, UInt_t /*h*/,
216 Int_t /*xdst*/ = 0, Int_t /*ydst*/ = 0, Int_t /*gfunc*/ = 3, EColorChan /*chan*/ = kAllChan) {}
217 virtual void DrawCellArray(Int_t /*x1*/, Int_t /*y1*/, Int_t /*x2*/, Int_t /*y2*/, Int_t /*nx*/, Int_t /*ny*/, UInt_t * /*ic*/) {}
218 virtual void FloodFill(Int_t /*x*/, Int_t /*y*/, const char * /*col*/, const char * /*min_col*/, const char * /*max_col*/ = nullptr) {}
219 virtual void DrawCubeBezier(Int_t /*x1*/, Int_t /*y1*/, Int_t /*x2*/, Int_t /*y2*/, Int_t /*x3*/, Int_t /*y3*/, const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
220 virtual void DrawStraightEllips(Int_t /*x*/, Int_t /*y*/, Int_t /*rx*/, Int_t /*ry*/, const char * /*col*/ = "#000000", Int_t /*thick*/ = 1) {}
221 virtual void DrawCircle(Int_t /*x*/, Int_t /*y*/, Int_t /*r*/, const char * /*col*/ = "#000000", Int_t /*thick*/ = 1) {}
222 virtual void DrawEllips(Int_t /*x*/, Int_t /*y*/, Int_t /*rx*/, Int_t /*ry*/, Int_t /*angle*/, const char * /*col*/ = "#000000", Int_t /*thick*/ = 1) {}
223 virtual void DrawEllips2(Int_t /*x*/, Int_t /*y*/, Int_t /*rx*/, Int_t /*ry*/, Int_t /*angle*/, const char * /*col*/ = "#000000", Int_t /*thick*/ = 1) {}
224
225 virtual void SetEditable(Bool_t /*on*/ = kTRUE) {}
226 virtual Bool_t IsEditable() const { return kFALSE; }
227
228 virtual UInt_t GetWidth() const { return 0; }
229 virtual UInt_t GetHeight() const { return 0; }
230 virtual Bool_t IsValid() const { return kTRUE; }
231 virtual TImage *GetScaledImage() const { return nullptr; }
232
233 virtual TArrayL *GetPixels(Int_t /*x*/= 0, Int_t /*y*/= 0, UInt_t /*w*/ = 0, UInt_t /*h*/ = 0) { return nullptr; }
234 virtual TArrayD *GetArray(UInt_t /*w*/ = 0, UInt_t /*h*/ = 0, TImagePalette * = gWebImagePalette) { return nullptr; }
235 virtual Pixmap_t GetPixmap() { return 0; }
236 virtual Pixmap_t GetMask() { return 0; }
237 virtual UInt_t *GetArgbArray() { return nullptr; }
238 virtual UInt_t *GetRgbaArray() { return nullptr; }
239 virtual Double_t *GetVecArray() { return nullptr; }
240 virtual UInt_t *GetScanline(UInt_t /*y*/) { return nullptr; }
241 virtual void GetImageBuffer(char ** /*buffer*/, int* /*size*/, EImageFileTypes /*type*/ = TImage::kPng) {}
242 virtual Bool_t SetImageBuffer(char ** /*buffer*/, EImageFileTypes /*type*/ = TImage::kPng) { return kFALSE; }
243 virtual void PaintImage(Drawable_t /*wid*/, Int_t /*x*/, Int_t /*y*/, Int_t /*xsrc*/ = 0, Int_t /*ysrc*/ = 0, UInt_t /*wsrc*/ = 0, UInt_t /*hsrc*/ = 0, Option_t * /*opt*/ = "") { }
244 virtual void FromWindow(Drawable_t /*wid*/, Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*w*/ = 0, UInt_t /*h*/ = 0) {}
245 virtual void FromGLBuffer(UChar_t* /*buf*/, UInt_t /*w*/, UInt_t /*h*/) {}
246 static EImageFileTypes GetImageFileTypeFromFilename(const char* opt);
247
248 static TImage *Create();
249 static TImage *Open(const char *file, EImageFileTypes type = kUnknown);
250 static TImage *Open(char **data);
251 static TImage *Open(const char *name, const Double_t *imageData, UInt_t width, UInt_t height, TImagePalette *palette);
252 static TImage *Open(const char *name, const TArrayD &imageData, UInt_t width, TImagePalette *palette = nullptr);
253 static TImage *Open(const char *name, const TVectorD &imageData, UInt_t width, TImagePalette *palette = nullptr);
254
255 TImage &operator+=(const TImage &i) { Append(&i, "+"); return *this; }
256 TImage &operator/=(const TImage &i) { Append(&i, "/"); return *this; }
257
258 void ls(Option_t *option="") const override;
259
260 ClassDefOverride(TImage,1) // Abstract image class
261};
262
263
264#endif
Handle_t Pixmap_t
Pixmap handle.
Definition GuiTypes.h:30
Handle_t Drawable_t
Drawable handle.
Definition GuiTypes.h:31
unsigned short UShort_t
Definition RtypesCore.h:40
unsigned char UChar_t
Definition RtypesCore.h:38
unsigned int UInt_t
Definition RtypesCore.h:46
float Float_t
Definition RtypesCore.h:57
constexpr Bool_t kFALSE
Definition RtypesCore.h:101
double Double_t
Definition RtypesCore.h:59
constexpr Bool_t kTRUE
Definition RtypesCore.h:100
const char Option_t
Definition RtypesCore.h:66
#define BIT(n)
Definition Rtypes.h:85
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
R__EXTERN TImagePalette * gWebImagePalette
Definition TAttImage.h:110
Option_t Option_t option
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t width
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t height
char name[80]
Definition TGX11.cxx:110
Array of doubles (64 bits per element).
Definition TArrayD.h:27
Array of longs (32 or 64 bits per element).
Definition TArrayL.h:27
TImage attributes.
Definition TAttImage.h:59
2-D histogram with a double per channel (see TH1 documentation)
Definition TH2.h:338
A class to define a conversion from pixel values to pixel color.
Definition TAttImage.h:33
An abstract interface to image processing library.
Definition TImage.h:29
virtual void Crop(Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition TImage.h:151
virtual void Pad(const char *="#FFFFFFFF", UInt_t=0, UInt_t=0, UInt_t=0, UInt_t=0)
Definition TImage.h:154
virtual void SetEditable(Bool_t=kTRUE)
Definition TImage.h:225
virtual void FillSpans(UInt_t, TPoint *, UInt_t *, TImage *)
Definition TImage.h:213
virtual void FromPad(TVirtualPad *, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition TImage.h:122
EColorChan
Definition TImage.h:90
@ kAlphaChan
Definition TImage.h:94
@ kRedChan
Definition TImage.h:91
@ kAllChan
Definition TImage.h:95
@ kBlueChan
Definition TImage.h:93
@ kGreenChan
Definition TImage.h:92
virtual void Blur(Double_t=3, Double_t=3)
Definition TImage.h:158
ECoordMode
Definition TImage.h:85
@ kCoordModePrevious
Definition TImage.h:87
@ kCoordModeOrigin
Definition TImage.h:86
static TImage * Open(const char *file, EImageFileTypes type=kUnknown)
Open a specified image file.
Definition TImage.cxx:118
virtual void EndPaint()
Definition TImage.h:183
virtual void DrawFillArea(UInt_t, TPoint *, const char *="#000000", const char *=nullptr, UInt_t=16, UInt_t=16)
Definition TImage.h:208
EImageFileTypes
Definition TImage.h:36
@ kBmp
Definition TImage.h:45
@ kPng
Definition TImage.h:40
@ kFits
Definition TImage.h:51
@ kJpeg
Definition TImage.h:41
@ kXcf
Definition TImage.h:42
@ kPnm
Definition TImage.h:44
@ kIco
Definition TImage.h:46
@ kXml
Definition TImage.h:53
@ kXpm
Definition TImage.h:37
@ kPpm
Definition TImage.h:43
@ kTga
Definition TImage.h:52
@ kAnimGif
Definition TImage.h:55
@ kZCompressedXpm
Definition TImage.h:38
@ kUnknown
Definition TImage.h:54
@ kXbm
Definition TImage.h:50
@ kCur
Definition TImage.h:47
@ kTiff
Definition TImage.h:49
@ kGZCompressedXpm
Definition TImage.h:39
@ kGif
Definition TImage.h:48
virtual UInt_t * GetArgbArray()
Definition TImage.h:237
virtual void DrawDashLine(UInt_t, UInt_t, UInt_t, UInt_t, UInt_t, const char *, const char *="#000000", UInt_t=1)
Definition TImage.h:186
virtual void DrawPolyLine(UInt_t, TPoint *, const char *="#000000", UInt_t=1, TImage::ECoordMode=kCoordModeOrigin)
Definition TImage.h:194
virtual void Slice(UInt_t, UInt_t, UInt_t, UInt_t, UInt_t, UInt_t)
Definition TImage.h:144
virtual void FillPolygon(UInt_t, TPoint *, TImage *)
Definition TImage.h:206
TImage(const TImage &img)
Definition TImage.h:103
virtual UInt_t GetWidth() const
Definition TImage.h:228
virtual Double_t * Vectorize(UInt_t=256, UInt_t=4, Int_t=0)
Definition TImage.h:161
virtual void CopyArea(TImage *, Int_t, Int_t, UInt_t, UInt_t, Int_t=0, Int_t=0, Int_t=3, EColorChan=kAllChan)
Definition TImage.h:215
virtual void DrawText(Int_t=0, Int_t=0, const char *="", Int_t=12, const char *=nullptr, const char *="fixed", EText3DType=TImage::kPlain, const char *=nullptr, Float_t=0)
Definition TImage.h:200
virtual Bool_t IsGray() const
Definition TImage.h:135
virtual void ReadImage(const char *, EImageFileTypes=TImage::kUnknown)
Definition TImage.h:114
TImage(const char *file)
Definition TImage.h:99
virtual void FillRectangle(const char *=nullptr, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition TImage.h:192
friend TImage operator+(const TImage &i1, const TImage &s2)
Definition TImage.cxx:191
virtual void DrawFillArea(UInt_t, TPoint *, TImage *)
Definition TImage.h:210
ETileType
Definition TImage.h:78
@ kStretchY
Definition TImage.h:81
@ kTile
Definition TImage.h:80
@ kStretchX
Definition TImage.h:82
@ kStretch
Definition TImage.h:79
virtual void PutPixel(Int_t, Int_t, const char *="#000000")
Definition TImage.h:196
virtual void DrawText(TText *, Int_t=0, Int_t=0)
Definition TImage.h:203
virtual void DrawCellArray(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, UInt_t *)
Definition TImage.h:217
virtual void DrawBox(Int_t, Int_t, Int_t, Int_t, const char *="#000000", UInt_t=1, Int_t=0)
Definition TImage.h:188
void ls(Option_t *option="") const override
List this image with its attributes.
Definition TImage.cxx:109
virtual void FloodFill(Int_t, Int_t, const char *, const char *, const char *=nullptr)
Definition TImage.h:218
static TImage * Create()
Create an image.
Definition TImage.cxx:35
virtual void Tile(UInt_t, UInt_t)
Definition TImage.h:148
virtual Bool_t SetImageBuffer(char **, EImageFileTypes=TImage::kPng)
Definition TImage.h:242
virtual void SetImage(const TVectorD &, UInt_t, TImagePalette *=nullptr)
Definition TImage.h:118
virtual void FillSpans(UInt_t, TPoint *, UInt_t *, const char *="#000000", const char *=nullptr, UInt_t=16, UInt_t=16)
Definition TImage.h:211
~TImage() override
Definition TImage.h:108
TImage & operator=(const TImage &img)
Definition TImage.h:104
virtual void DrawLine(UInt_t, UInt_t, UInt_t, UInt_t, const char *="#000000", UInt_t=1)
Definition TImage.h:184
virtual void FromWindow(Drawable_t, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition TImage.h:244
virtual void PolyPoint(UInt_t, TPoint *, const char *="#000000", TImage::ECoordMode=kCoordModeOrigin)
Definition TImage.h:197
virtual void Gradient(UInt_t=0, const char *="#FFFFFF #000000", const char *=nullptr, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition TImage.h:168
virtual void DrawSegments(UInt_t, Segment_t *, const char *="#000000", UInt_t=1)
Definition TImage.h:199
virtual void Mirror(Bool_t=kTRUE)
Definition TImage.h:138
virtual void WriteImage(const char *, EImageFileTypes=TImage::kUnknown)
Definition TImage.h:115
virtual void DrawEllips(Int_t, Int_t, Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition TImage.h:222
virtual UInt_t * GetRgbaArray()
Definition TImage.h:238
virtual void FillPolygon(UInt_t, TPoint *, const char *="#000000", const char *=nullptr, UInt_t=16, UInt_t=16)
Definition TImage.h:204
virtual Double_t * GetVecArray()
Definition TImage.h:239
virtual void Gray(Bool_t=kTRUE)
Definition TImage.h:134
virtual void SetImage(const TArrayD &, UInt_t, TImagePalette *=nullptr)
Definition TImage.h:117
virtual Bool_t IsValid() const
Definition TImage.h:230
TImage & operator/=(const TImage &i)
Definition TImage.h:256
virtual void Append(const TImage *, const char *="+", const char *="#00000000")
Definition TImage.h:175
virtual void Scale(UInt_t, UInt_t)
Definition TImage.h:141
virtual void Bevel(Int_t=0, Int_t=0, UInt_t=0, UInt_t=0, const char *="#ffdddddd", const char *="#ff555555", UShort_t=1, Bool_t=kFALSE)
Definition TImage.h:178
virtual void DrawRectangle(UInt_t, UInt_t, UInt_t, UInt_t, const char *="#000000", UInt_t=1)
Definition TImage.h:190
virtual void DrawEllips2(Int_t, Int_t, Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition TImage.h:223
static EImageFileTypes GetImageFileTypeFromFilename(const char *opt)
Return the image type for the extension specified in filename.
Definition TImage.cxx:59
virtual void SetImage(Pixmap_t, Pixmap_t=0)
Definition TImage.h:119
virtual TArrayD * GetArray(UInt_t=0, UInt_t=0, TImagePalette *=gWebImagePalette)
Definition TImage.h:234
virtual void DrawCircle(Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition TImage.h:221
virtual void Merge(const TImage *, const char *="alphablend", Int_t=0, Int_t=0)
Definition TImage.h:172
virtual void UnZoom()
Definition TImage.h:125
virtual Pixmap_t GetPixmap()
Definition TImage.h:235
virtual void Flip(Int_t=180)
Definition TImage.h:131
TImage(UInt_t, UInt_t)
Definition TImage.h:106
virtual TImage * GetScaledImage() const
Definition TImage.h:231
TImage()
Definition TImage.h:100
virtual void FromGLBuffer(UChar_t *, UInt_t, UInt_t)
Definition TImage.h:245
virtual void SetImage(const Double_t *, UInt_t, UInt_t, TImagePalette *=nullptr)
Definition TImage.h:116
virtual UInt_t * GetScanline(UInt_t)
Definition TImage.h:240
virtual void CropSpans(UInt_t, TPoint *, UInt_t *)
Definition TImage.h:214
virtual void DrawStraightEllips(Int_t, Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition TImage.h:220
virtual void HSV(UInt_t=0, UInt_t=360, Int_t=0, Int_t=0, Int_t=0, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition TImage.h:164
virtual void Zoom(UInt_t, UInt_t, UInt_t, UInt_t)
Definition TImage.h:128
ECharType
Definition TImage.h:72
@ kUTF8
Definition TImage.h:73
@ kChar
Definition TImage.h:74
@ kUnicode
Definition TImage.h:75
virtual void DrawCubeBezier(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, const char *="#000000", UInt_t=1)
Definition TImage.h:219
virtual void PaintImage(Drawable_t, Int_t, Int_t, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0, Option_t *="")
Definition TImage.h:243
friend TImage operator/(const TImage &i1, const TImage &s2)
Definition TImage.cxx:192
TObject * Clone(const char *) const override
Make a clone of an object using the Streamer facility.
Definition TImage.h:111
TImage & operator+=(const TImage &i)
Definition TImage.h:255
virtual void GetImageBuffer(char **, int *, EImageFileTypes=TImage::kPng)
Definition TImage.h:241
EText3DType
Definition TImage.h:58
@ kPlain
Definition TImage.h:59
@ kSunkenThick
Definition TImage.h:65
@ kOutlineFull
Definition TImage.h:68
@ kShadeAbove
Definition TImage.h:62
@ kEmbossedThick
Definition TImage.h:64
@ kOutlineBelow
Definition TImage.h:67
@ kOutlineAbove
Definition TImage.h:66
@ kSunken
Definition TImage.h:61
@ kEmbossed
Definition TImage.h:60
@ k3DTypes
Definition TImage.h:69
@ kShadeBelow
Definition TImage.h:63
virtual TArrayL * GetPixels(Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition TImage.h:233
virtual void CropPolygon(UInt_t, TPoint *)
Definition TImage.h:207
virtual Bool_t IsEditable() const
Definition TImage.h:226
virtual void BeginPaint(Bool_t=kTRUE)
Definition TImage.h:182
virtual Pixmap_t GetMask()
Definition TImage.h:236
virtual UInt_t GetHeight() const
Definition TImage.h:229
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
TNamed & operator=(const TNamed &rhs)
TNamed assignment operator.
Definition TNamed.cxx:51
Mother of all ROOT objects.
Definition TObject.h:41
Base class for several text objects.
Definition TText.h:22
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition TVirtualPad.h:51
Used for drawing line segments (maps to the X11 XSegments structure)
Definition GuiTypes.h:351