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#include <vector>
22
23class TVirtualPad;
24class TArrayD;
25class TArrayL;
26class TH2D;
27class TPoint;
28class TText;
29
30class TImage : public TNamed, public TAttImage {
31
32friend TImage operator+(const TImage &i1, const TImage &s2);
33friend TImage operator/(const TImage &i1, const TImage &s2);
34
35public:
36 // Defines image file types
61
75
76 enum ECharType {
77 kUTF8 = 0,
78 kChar = 1,
79 kUnicode = 4
80 };
81
88
93
101
102protected:
103 TImage(const char *file) : TNamed(file, "") { }
104 TImage() { }
105
106public:
107 TImage(const TImage &img) : TNamed(img), TAttImage(img) { }
109 { TNamed::operator=(img); TAttImage::operator=(img); return *this; }
110 TImage(UInt_t /*w*/, UInt_t /*h*/) : TNamed(), TAttImage() { }
111
112 ~TImage() override { }
113
114 // Cloning
115 TObject *Clone(const char * = "") const override { return nullptr; }
116
117 // Input / output
118 virtual void ReadImage(const char * /*file*/, EImageFileTypes /*type*/ = TImage::kUnknown) {}
119 virtual void WriteImage(const char * /*file*/, EImageFileTypes /*type*/ = TImage::kUnknown) {}
120 virtual void SetImage(const Double_t * /*imageData*/, UInt_t /*width*/, UInt_t /*height*/, TImagePalette * /*palette*/ = nullptr) {}
121 virtual void SetImage(const TArrayD & /*imageData*/, UInt_t /*width*/, TImagePalette * /*palette*/ = nullptr) {}
122 virtual void SetImage(const TVectorD & /*imageData*/, UInt_t /*width*/, TImagePalette * /*palette*/ = nullptr) {}
123 virtual void SetImage(Pixmap_t /*pxm*/, Pixmap_t /*mask*/ = 0) {}
124
125
126 // Create an image from bitmap. (See TASImage::FromBitmap)
127 virtual void FromBitmap(const UChar_t * /*buf*/, UInt_t /*w*/, UInt_t /*h*/) {}
128
129 // Create an image from the given pad. (See TASImage::FromPad)
130 virtual void FromPad(TVirtualPad * /*pad*/, Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*w*/ = 0, UInt_t /*h*/ = 0) {}
131
132 // Create an image from X11 window handle. (See TASImage::FromX11Window)
133 virtual void FromX11Window(Window_t /* win */ , Int_t /* x */, Int_t /* y */, Int_t /* width */, Int_t /* height */) {}
134
135 // Create an image from gVirtualX window. (See TASImage::FromWindow)
136 virtual void R__DEPRECATED(7,00, "Use TGWindow::CreateImageFromWindow instead") FromWindow(Drawable_t /*wid*/, Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*w*/ = 0, UInt_t /*h*/ = 0) {}
137
138 // Create an image from GL buffer. (See TASImage::FromGLBuffer)
139 virtual void R__DEPRECATED(7,00, "Use FromBitmap instead") FromGLBuffer(UChar_t * /*buf*/, UInt_t /*w*/, UInt_t /*h*/) {}
140
141 // Restore the image original size. (See TASImage::UnZoom)
142 virtual void UnZoom() {}
143
144 // Zoom the image. (See TASImage::Zoom)
145 virtual void Zoom(UInt_t /*offX*/, UInt_t /*offY*/, UInt_t /*width*/, UInt_t /*height*/) {}
146
147 // Flip the image by a multiple of 90 degrees. (See TASImage::Flip)
148 virtual void Flip(Int_t /*flip*/ = 180) {}
149
150 // Converts image to Gray. (See TASImage::Gray)
151 virtual void Gray(Bool_t /*on*/ = kTRUE) {}
152 virtual Bool_t IsGray() const { return kFALSE; }
153
154 // Mirror the image. (See TASImage::Mirror)
155 virtual void Mirror(Bool_t /*vert*/ = kTRUE) {}
156
157 // Scale the image. (See TASImage::Scale)
158 virtual void Scale(UInt_t /*width*/, UInt_t /*height*/) {}
159
160 // Slice the image. (See TASImage::Slice)
161 virtual void Slice(UInt_t /*xStart*/, UInt_t /*xEnd*/, UInt_t /*yStart*/, UInt_t /*yEnd*/,
162 UInt_t /*toWidth*/, UInt_t /*toHeight*/) {}
163
164 // Tile the image. (See TASImage::Tile)
165 virtual void Tile(UInt_t /*width*/, UInt_t /*height*/) {}
166
167 // Crop the image. (See TASImage::Crop)
168 virtual void Crop(Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
169
170 // Enlarge image. (See TASImage::Pad)
171 virtual void Pad(const char * /*color*/ = "#FFFFFFFF", UInt_t /*left*/ = 0,
172 UInt_t /*right*/ = 0, UInt_t /*top*/ = 0, UInt_t /*bottom*/ = 0) {}
173
174 // Gaussian blurr. (See TASImage::Blur)
175 virtual void Blur(Double_t /*horizontal*/ = 3, Double_t /*vertical*/ = 3) { }
176
177 // Reduces colordepth of an image. (See TASImage::Vectorize)
178 virtual Double_t *Vectorize(UInt_t /*max_colors*/ = 256, UInt_t /*dither*/ = 4, Int_t /*opaque_threshold*/ = 0) { return nullptr; }
179
180 // (See TASImage::HSV)
181 virtual void HSV(UInt_t /*hue*/ = 0, UInt_t /*radius*/ = 360, Int_t /*H*/ = 0, Int_t /*S*/ = 0, Int_t /*V*/ = 0,
182 Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
183
184 // Render multipoint gradient inside a rectangle. (See TASImage::Gradient)
185 virtual void Gradient(UInt_t /*angle*/ = 0, const char * /*colors*/ = "#FFFFFF #000000", const char * /*offsets*/ = nullptr,
186 Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
187
188 // Merge two images. (See TASImage::Merge)
189 virtual void Merge(const TImage * /*im*/, const char * /*op*/ = "alphablend", Int_t /*x*/ = 0, Int_t /*y*/ = 0) {}
190
191 // Append image. (See TASImage::Append)
192 virtual void Append(const TImage * /*im*/, const char * /*option*/ = "+", const char * /*color*/ = "#00000000") {}
193
194 // Bevel effect. (See TASImage::Bevel)
195 virtual void Bevel(Int_t /*x*/ = 0, Int_t /*y*/ = 0, UInt_t /*width*/ = 0, UInt_t /*height*/ = 0,
196 const char * /*hi*/ = "#ffdddddd", const char * /*lo*/ = "#ff555555",
197 UShort_t /*thick*/ = 1, Bool_t /*pressed*/ = kFALSE) {}
198
199 virtual void BeginPaint(Bool_t /*fast*/ = kTRUE) {}
200 virtual void EndPaint() {}
201 virtual void DrawLine(UInt_t /*x1*/, UInt_t /*y1*/, UInt_t /*x2*/, UInt_t /*y2*/,
202 const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
203 virtual void DrawDashLine(UInt_t /*x1*/, UInt_t /*y1*/, UInt_t /*x2*/, UInt_t /*y2*/, UInt_t /*nDash*/,
204 const char * /*pDash*/, const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
205 virtual void DrawBox(Int_t /*x1*/, Int_t /*y1*/, Int_t /*x2*/, Int_t /*y2*/,
206 const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1, Int_t /*mode*/ = 0) {}
207 virtual void DrawRectangle(UInt_t /*x*/, UInt_t /*y*/, UInt_t /*w*/, UInt_t /*h*/,
208 const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
209 virtual void FillRectangle(const char * /*col*/ = nullptr, Int_t /*x*/ = 0, Int_t /*y*/ = 0,
210 UInt_t /*width*/ = 0, UInt_t /*height*/ = 0) {}
211 virtual void DrawPolyLine(UInt_t /*nn*/, TPoint * /*xy*/, const char * /*col*/ = "#000000",
212 UInt_t /*thick*/ = 1, TImage::ECoordMode /*mode*/ = kCoordModeOrigin) {}
213 virtual void PutPixel(Int_t /*x*/, Int_t /*y*/, const char * /*col*/ = "#000000") {}
214 virtual void PolyPoint(UInt_t /*npt*/, TPoint * /*ppt*/, const char * /*col*/ = "#000000",
216 virtual void DrawSegments(UInt_t /*nseg*/, Segment_t * /*seg*/, const char * /*col*/ = "#000000", UInt_t /*thick*/ = 1) {}
217 virtual void DrawText(Int_t /*x*/ = 0, Int_t /*y*/ = 0, const char * /*text*/ = "", Int_t /*size*/ = 12,
218 const char * /*color*/ = nullptr, const char * /*font*/ = "fixed",
219 EText3DType /*type*/ = TImage::kPlain, const char * /*fore_file*/ = nullptr, Float_t /*angle*/ = 0) { }
220 virtual void DrawText(TText * /*text*/, Int_t /*x*/ = 0, Int_t /*y*/ = 0) { }
221 virtual void DrawTextOnPad(TText * /*text*/, Int_t /*x*/ = 0, Int_t /*y*/ = 0, TVirtualPad * /* pad */ = nullptr, Int_t /* offx */ = 0, Int_t /* offy */ = 0);
222 virtual void FillPolygon(UInt_t /*npt*/, TPoint * /*ppt*/, const char * /*col*/ = "#000000",
223 const char * /*stipple*/ = nullptr, UInt_t /*w*/ = 16, UInt_t /*h*/ = 16) {}
224 virtual void FillPolygon(UInt_t /*npt*/, TPoint * /*ppt*/, TImage * /*tile*/) {}
225 virtual void CropPolygon(UInt_t /*npt*/, TPoint * /*ppt*/) {}
226 virtual void DrawFillArea(UInt_t /*npt*/, TPoint * /*ppt*/, const char * /*col*/ = "#000000",
227 const char * /*stipple*/ = nullptr, UInt_t /*w*/ = 16, UInt_t /*h*/ = 16) {}
228 virtual void DrawFillArea(UInt_t /*npt*/, TPoint * /*ppt*/, TImage * /*tile*/) {}
229 virtual void FillSpans(UInt_t /*npt*/, TPoint * /*ppt*/, UInt_t * /*widths*/, const char * /*col*/ = "#000000",
230 const char * /*stipple*/ = nullptr, UInt_t /*w*/ = 16, UInt_t /*h*/ = 16) {}
231 virtual void FillSpans(UInt_t /*npt*/, TPoint * /*ppt*/, UInt_t * /*widths*/, TImage * /*tile*/) {}
232 virtual void CropSpans(UInt_t /*npt*/, TPoint * /*ppt*/, UInt_t * /*widths*/) {}
233 virtual void CopyArea(TImage * /*dst*/, Int_t /*xsrc*/, Int_t /*ysrc*/, UInt_t /*w*/, UInt_t /*h*/,
234 Int_t /*xdst*/ = 0, Int_t /*ydst*/ = 0, Int_t /*gfunc*/ = 3, EColorChan /*chan*/ = kAllChan) {}
235 virtual void DrawCellArray(Int_t /*x1*/, Int_t /*y1*/, Int_t /*x2*/, Int_t /*y2*/, Int_t /*nx*/, Int_t /*ny*/, UInt_t * /*ic*/) {}
236 virtual void FloodFill(Int_t /*x*/, Int_t /*y*/, const char * /*col*/, const char * /*min_col*/, const char * /*max_col*/ = nullptr) {}
237 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) {}
238 virtual void DrawStraightEllips(Int_t /*x*/, Int_t /*y*/, Int_t /*rx*/, Int_t /*ry*/, const char * /*col*/ = "#000000", Int_t /*thick*/ = 1) {}
239 virtual void DrawCircle(Int_t /*x*/, Int_t /*y*/, Int_t /*r*/, const char * /*col*/ = "#000000", Int_t /*thick*/ = 1) {}
240 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) {}
241 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) {}
242
243 virtual void SetEditable(Bool_t /*on*/ = kTRUE) {}
244 virtual Bool_t IsEditable() const { return kFALSE; }
245
246 virtual UInt_t GetWidth() const { return 0; }
247 virtual UInt_t GetHeight() const { return 0; }
248 virtual UInt_t GetScaledWidth() const { return 0; }
249 virtual UInt_t GetScaledHeight() const { return 0; }
250 virtual Bool_t IsValid() const { return kTRUE; }
251 virtual TImage *GetScaledImage() const { return nullptr; }
252
253 virtual TArrayL *GetPixels(Int_t /*x*/= 0, Int_t /*y*/= 0, UInt_t /*w*/ = 0, UInt_t /*h*/ = 0) { return nullptr; }
254 virtual TArrayD *GetArray(UInt_t /*w*/ = 0, UInt_t /*h*/ = 0, TImagePalette * = gWebImagePalette) { return nullptr; }
255 virtual Pixmap_t GetX11Pixmap(Window_t /* root_window */) { return 0; }
256 virtual Pixmap_t R__DEPRECATED(7,00, "Use TGWindow::GetImagePixmap instead") GetPixmap() { return 0; }
257 virtual Bool_t GetMaskBits(UInt_t & /* width */, UInt_t & /* height */, std::vector<char> & /* bits */) { return kFALSE; }
258 virtual Pixmap_t R__DEPRECATED(7,00, "Use TGWindow::GetImageMask instead") GetMask() { return 0; }
259 virtual UInt_t *GetArgbArray() { return nullptr; }
260 virtual UInt_t *GetRgbaArray() { return nullptr; }
261 virtual Double_t *GetVecArray() { return nullptr; }
262 virtual UInt_t *GetScanline(UInt_t /*y*/) { return nullptr; }
263 virtual void GetImageBuffer(char ** /*buffer*/, int* /*size*/, EImageFileTypes /*type*/ = TImage::kPng) {}
264 virtual Bool_t SetImageBuffer(char ** /*buffer*/, EImageFileTypes /*type*/ = TImage::kPng) { return kFALSE; }
265 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*/ = "") { }
266 static EImageFileTypes GetImageFileTypeFromFilename(const char* opt);
267
268 static TImage *Create();
269 static TImage *Open(const char *file, EImageFileTypes type = kUnknown);
270 static TImage *Open(char **data);
271 static TImage *Open(const char *name, const Double_t *imageData, UInt_t width, UInt_t height, TImagePalette *palette);
272 static TImage *Open(const char *name, const TArrayD &imageData, UInt_t width, TImagePalette *palette = nullptr);
273 static TImage *Open(const char *name, const TVectorD &imageData, UInt_t width, TImagePalette *palette = nullptr);
274
275 TImage &operator+=(const TImage &i) { Append(&i, "+"); return *this; }
276 TImage &operator/=(const TImage &i) { Append(&i, "/"); return *this; }
277
278 void ls(Option_t *option="") const override;
279
280 ClassDefOverride(TImage,1) // Abstract image class
281};
282
283
284#endif
Handle_t Pixmap_t
Pixmap handle.
Definition GuiTypes.h:31
Handle_t Window_t
Window handle.
Definition GuiTypes.h:29
Handle_t Drawable_t
Drawable handle.
Definition GuiTypes.h:32
#define R__DEPRECATED(MAJOR, MINOR, REASON)
Definition RConfig.hxx:486
bool Bool_t
Boolean (0=false, 1=true) (bool)
Definition RtypesCore.h:78
unsigned short UShort_t
Unsigned Short integer 2 bytes (unsigned short)
Definition RtypesCore.h:55
int Int_t
Signed integer 4 bytes (int)
Definition RtypesCore.h:60
unsigned char UChar_t
Unsigned Character 1 byte (unsigned char)
Definition RtypesCore.h:53
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int)
Definition RtypesCore.h:61
float Float_t
Float 4 bytes (float)
Definition RtypesCore.h:72
constexpr Bool_t kFALSE
Definition RtypesCore.h:109
double Double_t
Double 8 bytes.
Definition RtypesCore.h:74
constexpr Bool_t kTRUE
Definition RtypesCore.h:108
const char Option_t
Option string (const char)
Definition RtypesCore.h:81
#define BIT(n)
Definition Rtypes.h:90
#define ClassDefOverride(name, id)
Definition Rtypes.h:347
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 TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char PutPixel
Option_t Option_t TPoint TPoint const char DrawLine
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t FillRectangle
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 DrawText
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:142
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:400
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:30
virtual void SetEditable(Bool_t=kTRUE)
Definition TImage.h:243
virtual void FillSpans(UInt_t, TPoint *, UInt_t *, TImage *)
Definition TImage.h:231
virtual void FromPad(TVirtualPad *, Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition TImage.h:130
virtual Bool_t GetMaskBits(UInt_t &, UInt_t &, std::vector< char > &)
Definition TImage.h:257
EColorChan
Definition TImage.h:94
@ kAlphaChan
Definition TImage.h:98
@ kRedChan
Definition TImage.h:95
@ kAllChan
Definition TImage.h:99
@ kBlueChan
Definition TImage.h:97
@ kGreenChan
Definition TImage.h:96
ECoordMode
Definition TImage.h:89
@ kCoordModePrevious
Definition TImage.h:91
@ kCoordModeOrigin
Definition TImage.h:90
virtual Pixmap_t R__DEPRECATED(7, 00, "Use TGWindow::GetImageMask instead") GetMask()
Definition TImage.h:258
virtual UInt_t GetScaledWidth() const
Definition TImage.h:248
static TImage * Open(const char *file, EImageFileTypes type=kUnknown)
Open a specified image file.
Definition TImage.cxx:123
virtual void DrawFillArea(UInt_t, TPoint *, const char *="#000000", const char *=nullptr, UInt_t=16, UInt_t=16)
Definition TImage.h:226
EImageFileTypes
Definition TImage.h:37
@ kBmp
Definition TImage.h:46
@ kPng
Definition TImage.h:41
@ kFits
Definition TImage.h:52
@ kPdf
Definition TImage.h:59
@ kJpeg
Definition TImage.h:42
@ kXcf
Definition TImage.h:43
@ kPnm
Definition TImage.h:45
@ kIco
Definition TImage.h:47
@ kXml
Definition TImage.h:54
@ kXpm
Definition TImage.h:38
@ kPpm
Definition TImage.h:44
@ kTga
Definition TImage.h:53
@ kAnimGif
Definition TImage.h:56
@ kZCompressedXpm
Definition TImage.h:39
@ kUnknown
Definition TImage.h:55
@ kSvg
Definition TImage.h:58
@ kXbm
Definition TImage.h:51
@ kCur
Definition TImage.h:48
@ kHtml
Definition TImage.h:57
@ kTiff
Definition TImage.h:50
@ kGZCompressedXpm
Definition TImage.h:40
@ kGif
Definition TImage.h:49
virtual UInt_t * GetArgbArray()
Definition TImage.h:259
virtual void FillPolygon(UInt_t, TPoint *, TImage *)
Definition TImage.h:224
TImage(const TImage &img)
Definition TImage.h:107
virtual UInt_t GetWidth() const
Definition TImage.h:246
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:233
TObject * Clone(const char *="") const override
Make a clone of an object using the Streamer facility.
Definition TImage.h:115
virtual void ReadImage(const char *, EImageFileTypes=TImage::kUnknown)
Definition TImage.h:118
TImage(const char *file)
Definition TImage.h:103
friend TImage operator+(const TImage &i1, const TImage &s2)
Definition TImage.cxx:207
virtual void DrawFillArea(UInt_t, TPoint *, TImage *)
Definition TImage.h:228
ETileType
Definition TImage.h:82
@ kStretchY
Definition TImage.h:85
@ kTile
Definition TImage.h:84
@ kStretchX
Definition TImage.h:86
@ kStretch
Definition TImage.h:83
virtual void DrawCellArray(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, UInt_t *)
Definition TImage.h:235
void ls(Option_t *option="") const override
List this image with its attributes.
Definition TImage.cxx:114
virtual void FloodFill(Int_t, Int_t, const char *, const char *, const char *=nullptr)
Definition TImage.h:236
static TImage * Create()
Create an image.
Definition TImage.cxx:34
virtual Bool_t SetImageBuffer(char **, EImageFileTypes=TImage::kPng)
Definition TImage.h:264
virtual void SetImage(const TVectorD &, UInt_t, TImagePalette *=nullptr)
Definition TImage.h:122
virtual UInt_t GetScaledHeight() const
Definition TImage.h:249
virtual void FillSpans(UInt_t, TPoint *, UInt_t *, const char *="#000000", const char *=nullptr, UInt_t=16, UInt_t=16)
Definition TImage.h:229
~TImage() override
Definition TImage.h:112
TImage & operator=(const TImage &img)
Definition TImage.h:108
virtual void FromX11Window(Window_t, Int_t, Int_t, Int_t, Int_t)
Definition TImage.h:133
virtual Pixmap_t GetX11Pixmap(Window_t)
Definition TImage.h:255
virtual Pixmap_t R__DEPRECATED(7, 00, "Use TGWindow::GetImagePixmap instead") GetPixmap()
Definition TImage.h:256
virtual void WriteImage(const char *, EImageFileTypes=TImage::kUnknown)
Definition TImage.h:119
virtual void DrawEllips(Int_t, Int_t, Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition TImage.h:240
virtual UInt_t * GetRgbaArray()
Definition TImage.h:260
virtual void FillPolygon(UInt_t, TPoint *, const char *="#000000", const char *=nullptr, UInt_t=16, UInt_t=16)
Definition TImage.h:222
virtual Double_t * GetVecArray()
Definition TImage.h:261
virtual void SetImage(const TArrayD &, UInt_t, TImagePalette *=nullptr)
Definition TImage.h:121
virtual Bool_t IsValid() const
Definition TImage.h:250
TImage & operator/=(const TImage &i)
Definition TImage.h:276
virtual void FromBitmap(const UChar_t *, UInt_t, UInt_t)
Definition TImage.h:127
virtual void DrawEllips2(Int_t, Int_t, Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition TImage.h:241
static EImageFileTypes GetImageFileTypeFromFilename(const char *opt)
Return the image type for the extension specified in filename.
Definition TImage.cxx:58
virtual void SetImage(Pixmap_t, Pixmap_t=0)
Definition TImage.h:123
virtual TArrayD * GetArray(UInt_t=0, UInt_t=0, TImagePalette *=gWebImagePalette)
Definition TImage.h:254
virtual void DrawCircle(Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition TImage.h:239
TImage(UInt_t, UInt_t)
Definition TImage.h:110
virtual TImage * GetScaledImage() const
Definition TImage.h:251
TImage()
Definition TImage.h:104
virtual void SetImage(const Double_t *, UInt_t, UInt_t, TImagePalette *=nullptr)
Definition TImage.h:120
virtual UInt_t * GetScanline(UInt_t)
Definition TImage.h:262
virtual void CropSpans(UInt_t, TPoint *, UInt_t *)
Definition TImage.h:232
virtual void DrawStraightEllips(Int_t, Int_t, Int_t, Int_t, const char *="#000000", Int_t=1)
Definition TImage.h:238
ECharType
Definition TImage.h:76
@ kUTF8
Definition TImage.h:77
@ kChar
Definition TImage.h:78
@ kUnicode
Definition TImage.h:79
virtual void DrawCubeBezier(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, const char *="#000000", UInt_t=1)
Definition TImage.h:237
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:265
friend TImage operator/(const TImage &i1, const TImage &s2)
Definition TImage.cxx:208
TImage & operator+=(const TImage &i)
Definition TImage.h:275
virtual void GetImageBuffer(char **, int *, EImageFileTypes=TImage::kPng)
Definition TImage.h:263
EText3DType
Definition TImage.h:62
@ kPlain
Definition TImage.h:63
@ kSunkenThick
Definition TImage.h:69
@ kOutlineFull
Definition TImage.h:72
@ kShadeAbove
Definition TImage.h:66
@ kEmbossedThick
Definition TImage.h:68
@ kOutlineBelow
Definition TImage.h:71
@ kOutlineAbove
Definition TImage.h:70
@ kSunken
Definition TImage.h:65
@ kEmbossed
Definition TImage.h:64
@ k3DTypes
Definition TImage.h:73
@ kShadeBelow
Definition TImage.h:67
virtual TArrayL * GetPixels(Int_t=0, Int_t=0, UInt_t=0, UInt_t=0)
Definition TImage.h:253
virtual void CropPolygon(UInt_t, TPoint *)
Definition TImage.h:225
virtual Bool_t IsEditable() const
Definition TImage.h:244
virtual UInt_t GetHeight() const
Definition TImage.h:247
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:50
Mother of all ROOT objects.
Definition TObject.h:42
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:53
T Slice(const T &histo, std::vector< Int_t > &args)
Creates a sliced copy of the given histogram.
Definition TH1.h:75
void DrawBox(CGContextRef ctx, Int_t x1, Int_t y1, Int_t x2, Int_t y2, bool hollow)
void DrawPolyLine(CGContextRef ctx, Int_t n, const TPoint *xy)
T * Gradient(Long64_t n, T const *f, double h=1)
Calculate the one-dimensional finite gradient of an array with length n.
Definition TMath.h:1033
Used for drawing line segments (maps to the X11 XSegments structure)
Definition GuiTypes.h:352