Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGImageMap.cxx
Go to the documentation of this file.
1// @(#)root/gui:$Id$
2// Author: Valeriy Onuchin & Fons Rademakers 18/10/2000
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
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
13/** \class TGImageMap
14 \ingroup guiwidgets
15
16(with TGRegion and TGRegionWithId help classes)
17
18A TGImageMap provides the functionality like a clickable image in
19a web browser with sensitive regions (MAP HTML tag).
20
21*/
22
23
24#include "TGImageMap.h"
25#include "TRefCnt.h"
26#include "TGMenu.h"
27#include "TGToolTip.h"
28#include "TList.h"
29#include "TArrayS.h"
30#include "TVirtualX.h"
31
32
33
34
35TGRegionWithId *gCurrentRegion; // current region
36
38static Int_t gPointerX; // current X mouse position
39static Int_t gPointerY; // current Y mouse position
40
41
42
43class TGRegionData : public TRefCnt {
44
45friend class TGRegion;
46
47private:
48 Region_t fRgn; // region handle
49 Bool_t fIsNull; // true if null region
50
51public:
53 ~TGRegionData() override { }
55};
56
57////////////////////////////////////////////////////////////////////////////////
58/// Assignment of region data object.
59
61{
62 if (this != &r) {
63 fRefs = r.fRefs;
64 fRgn = r.fRgn;
65 fIsNull = r.fIsNull;
66 }
67 return *this;
68}
69
70
71////////////////////////////////////////////////////////////////////////////////
72/// Create a region object.
73
75{
76 if (!gEmptyRegion) // avoid too many allocs
78
79 fData = gEmptyRegion->fData;
81}
82
83////////////////////////////////////////////////////////////////////////////////
84/// Create empty region.
85
87{
88 fData = new TGRegionData;
89 fData->fRgn = gVirtualX->CreateRegion();
91}
92
93////////////////////////////////////////////////////////////////////////////////
94/// Create and initialize a region with a rectangle.
95
97{
98 fData = new TGRegionData;
99 fData->fRgn = gVirtualX->CreateRegion();
101
103 xr.fX = (Short_t) x;
104 xr.fY = (Short_t) y;
105 xr.fWidth = (UShort_t) w;
106 xr.fHeight = (UShort_t) h;
107 gVirtualX->UnionRectWithRegion(&xr, fData->fRgn, fData->fRgn);
108}
109
110////////////////////////////////////////////////////////////////////////////////
111/// Create and intialize a region with a polygon.
112
114{
115 fData = new TGRegionData;
117 Point_t *gpoints = new Point_t[n];
118
119 for (int i = 0; i < n; i++) {
120 gpoints[i].fX = (Short_t) points[i].GetX();
121 gpoints[i].fY = (Short_t) points[i].GetY();
122 }
123
124 fData->fRgn = gVirtualX->PolygonRegion(gpoints, n, winding);
125}
126
127////////////////////////////////////////////////////////////////////////////////
128/// Create and initialize a region with an X and a Y array of points.
129
131{
132 fData = new TGRegionData;
134
135 Int_t n = x.GetSize();
136 if (n != y.GetSize()) {
137 Error("TGRegion", "x and y arrays must have same length");
138 return;
139 }
140 Point_t *gpoints = new Point_t[n];
141
142 for (int i = 0; i < n; i++) {
143 gpoints[i].fX = x.GetArray()[i];
144 gpoints[i].fY = y.GetArray()[i];
145 }
146
147 fData->fRgn = gVirtualX->PolygonRegion(gpoints, n, winding);
148}
149
150////////////////////////////////////////////////////////////////////////////////
151/// Create and initialize a region with an X and Y array of points.
152
154{
155 fData = new TGRegionData;
157 Point_t *gpoints = new Point_t[n];
158
159 for (int i = 0; i < n; i++) {
160 gpoints[i].fX = x[i];
161 gpoints[i].fY = y[i];
162 }
163
164 fData->fRgn = gVirtualX->PolygonRegion(gpoints, n, winding);
165}
166
167////////////////////////////////////////////////////////////////////////////////
168/// Region copy constructor.
169
171{
172 fData = r.fData;
174}
175
176////////////////////////////////////////////////////////////////////////////////
177/// Delete a region.
178
180{
181 if (fData->RemoveReference() <= 0) {
182 gVirtualX->DestroyRegion(fData->fRgn);
183 delete fData;
184 }
185}
186
187////////////////////////////////////////////////////////////////////////////////
188/// Region assignment operator.
189
191{
192 if (this != &r) {
194 r.fData->AddReference();
195
196 if (fData->RemoveReference() <= 0) {
197 gVirtualX->DestroyRegion(fData->fRgn);
198 delete fData;
199 }
200 fData = r.fData;
201 }
202 return *this;
203}
204
205////////////////////////////////////////////////////////////////////////////////
206/// Copy a region.
207
209{
211 gVirtualX->UnionRegion(fData->fRgn, r.fData->fRgn, r.fData->fRgn);
212 return r;
213}
214
215////////////////////////////////////////////////////////////////////////////////
216/// Return true if region is not set.
217
219{
220 return fData->fIsNull;
221}
222
223////////////////////////////////////////////////////////////////////////////////
224/// Return true if region is empty.
225
227{
228 return fData->fIsNull || gVirtualX->EmptyRegion(fData->fRgn);
229}
230
231////////////////////////////////////////////////////////////////////////////////
232/// Return true if point p is contained in the region.
233
235{
236 return gVirtualX->PointInRegion((Int_t)p.GetX(), (Int_t)p.GetY(), fData->fRgn);
237}
238
239////////////////////////////////////////////////////////////////////////////////
240/// Return true if point (x,y) is contained in the region.
241
243{
244 return gVirtualX->PointInRegion(x, y, fData->fRgn);
245}
246
247////////////////////////////////////////////////////////////////////////////////
248/// Return the union of this region with r.
249
251{
253 gVirtualX->UnionRegion(fData->fRgn, r.fData->fRgn, result.fData->fRgn);
254 return result;
255}
256
257////////////////////////////////////////////////////////////////////////////////
258/// Returns a region which is the intersection of this region and r.
259
261{
263 gVirtualX->IntersectRegion(fData->fRgn, r.fData->fRgn, result.fData->fRgn);
264 return result;
265}
266
267////////////////////////////////////////////////////////////////////////////////
268/// Returns a region which is r subtracted from this region.
269
271{
273 gVirtualX->SubtractRegion(fData->fRgn, r.fData->fRgn, result.fData->fRgn);
274 return result;
275}
276
277////////////////////////////////////////////////////////////////////////////////
278/// Returns a region which is the difference between the union and
279/// intersection this region and r.
280
282{
284 gVirtualX->XorRegion(fData->fRgn, r.fData->fRgn, result.fData->fRgn);
285 return result;
286}
287
288////////////////////////////////////////////////////////////////////////////////
289/// Return dimension of region (width, height).
290
292{
293 Rectangle_t r = { 0, 0, 0, 0 };
294 gVirtualX->GetRegionBox(fData->fRgn, &r);
295 return TGDimension(r.fWidth, r.fHeight);
296}
297
298////////////////////////////////////////////////////////////////////////////////
299/// Return position of region (x, y).
300
302{
303 Rectangle_t r = { 0, 0, 0, 0 };
304 gVirtualX->GetRegionBox(fData->fRgn, &r);
305 return TGPosition(r.fX, r.fY);
306}
307
308////////////////////////////////////////////////////////////////////////////////
309/// Region == operator.
310
312{
313 return fData == r.fData ?
314 kTRUE : gVirtualX->EqualRegion(fData->fRgn, r.fData->fRgn);
315}
316
317
318////////////////////////////////////////////////////////////////////////////////
319/// Create GUI region (with id and possible tooltip).
320
322{
323 fId = 0;
324 fTip = 0;
325 fPopup = 0;
326}
327
328////////////////////////////////////////////////////////////////////////////////
329/// Create GUI region (with id and possible tooltip).
330
333 TGRegion(x, y, w, h, type)
334{
335 fId = id;
336 fTip = 0;
337 fPopup = 0;
338}
339
340////////////////////////////////////////////////////////////////////////////////
341/// Create GUI region (with id and possible tooltip).
342
344 Bool_t winding) :
346{
347 fId = id;
348 fTip = 0;
349 fPopup = 0;
350}
351
352////////////////////////////////////////////////////////////////////////////////
353/// Copy constructor.
354
356{
357 fId = reg.GetId();
358 fTip = 0;
359 fPopup = 0;
360}
361
362////////////////////////////////////////////////////////////////////////////////
363/// Copy ctor which allows setting of new id.
364
367{
368 fId = id;
369 fTip = 0;
370 fPopup = 0;
371}
372
373////////////////////////////////////////////////////////////////////////////////
374/// Cleanup.
375
377{
378 delete fTip;
379}
380
381////////////////////////////////////////////////////////////////////////////////
382/// Display popup menu associated with this region.
383
388
389////////////////////////////////////////////////////////////////////////////////
390/// Set tool tip text associated with this region. The delay is in
391/// milliseconds (minimum 250). To remove tool tip call method with
392/// text = 0.
393
395 const TGFrame *frame)
396{
397 if (fTip) {
398 delete fTip;
399 fTip = 0;
400 }
401
402 if (text && strlen(text))
403 fTip = new TGToolTip(gClient->GetDefaultRoot(), frame, text, delayms);
404}
405
406////////////////////////////////////////////////////////////////////////////////
407/// Create an image map widget.
408
431
432////////////////////////////////////////////////////////////////////////////////
433/// Create an image map widget.
434
457
458////////////////////////////////////////////////////////////////////////////////
459/// Cleanup image map widget.
460
462{
463 delete fMainTip;
464 fTrash->Delete();
465 delete fTrash;
467 delete fListOfRegions;
468}
469
470////////////////////////////////////////////////////////////////////////////////
471/// Add a region to the image map.
472
477
478////////////////////////////////////////////////////////////////////////////////
479/// Create popup menu or returns existing for regions with specified id.
480
482{
483 TIter next(fListOfRegions);
485 TGPopupMenu *popup = 0;
487
488 while ((region = (TGRegionWithId*)next())) {
489 if (id == region->GetId()) {
490 popup = region->GetPopup();
491 if (!popup && !newpopup) {
492 newpopup = new TGPopupMenu(this);
494 }
495 if (newpopup) region->SetPopup(newpopup);
496 }
497 }
498 return newpopup ? newpopup : popup;
499}
500
501////////////////////////////////////////////////////////////////////////////////
502/// Return popup for regions with specified id.
503
505{
506 TIter next(fListOfRegions);
508
509 while ((region = (TGRegionWithId*)next())) {
510 if (id == region->GetId()) return region->GetPopup();
511 }
512 return 0;
513}
514
515////////////////////////////////////////////////////////////////////////////////
516/// Handle mouse motion events.
517
519{
520 TIter next(fListOfRegions);
522
523 if (fNavMode != kNavRegions) return kTRUE;
524 gPointerX = event->fX;
525 gPointerY = event->fY;
526
527 while ((region = (TGRegionWithId*)next())) {
528 if (region->Contains(gPointerX, gPointerY)) {
529 if (fLastVisited == region->GetId()) return kTRUE;
531 fLastVisited = region->GetId();
532 fTip = region->GetToolTipText();
535 return kTRUE;
536 }
537 }
538
539 if (fLastVisited) {
541 fTip = fMainTip;
542 }
543 fLastVisited = 0; // main
544 return kTRUE;
545}
546
547////////////////////////////////////////////////////////////////////////////////
548/// Handle double click events.
549
551{
552 TIter next(fListOfRegions);
554
555 if (fTip) fTip->Hide();
556 if (event->fCode != kButton1 ) return kTRUE;
557 if (fNavMode != kNavRegions) return kTRUE;
558
559 gPointerX = event->fX;
560 gPointerY = event->fY;
561
562 while ((region = (TGRegionWithId*)next())) {
563 if (region->Contains(gPointerX, gPointerY)) {
564 DoubleClicked(region->GetId());
566 return kTRUE;
567 }
568 }
570 return kTRUE;
571}
572
573////////////////////////////////////////////////////////////////////////////////
574/// Handle button events.
575
577{
578 TIter next(fListOfRegions);
580 TGPopupMenu *pop;
581
582 if (fTip) fTip->Hide();
583 if (fNavMode != kNavRegions) return kTRUE;
584
585 gPointerX = event->fX;
586 gPointerY = event->fY;
587
588 while ((region = (TGRegionWithId*)next())) {
589 if (region->Contains(gPointerX, gPointerY)) {
591 if (event->fType == kButtonPress) {
592 if (event->fCode == kButton1 )
593 RegionClicked(region->GetId());
594 else if (event->fCode == kButton3 ) {
595 pop = region->GetPopup();
596 if (pop) pop->PlaceMenu(gPointerX, gPointerY, kTRUE, kTRUE);
597 }
598 }
599 return kTRUE;
600 }
601 }
602 if (event->fType == kButtonPress)
603 Clicked();
604 return kTRUE;
605}
606
607////////////////////////////////////////////////////////////////////////////////
608/// Set tooltip text for main region.
609
611{
612 if (fMainTip) delete fMainTip;
613 fMainTip = 0;
614
615 if (text && strlen(text))
617}
618
619////////////////////////////////////////////////////////////////////////////////
620/// Set tooltip text for regions with specified id.
621
623{
624 TIter next(fListOfRegions);
626
627 while ((region = (TGRegionWithId*)next())) {
628 if (id == region->GetId())
629 region->SetToolTipText(text, delayms, this);
630 }
631}
632
633////////////////////////////////////////////////////////////////////////////////
634/// Handle when mouse moves over region id. Emits signal
635/// OnMouseOver(Int_t).
636
638{
639 if (fTip) fTip->Reset();
640 if (fMainTip) fMainTip->Hide();
641 gVirtualX->SetCursor(fId, gVirtualX->CreateCursor(fCursorMouseOver));
642 Emit("OnMouseOver(Int_t)", id);
643}
644
645////////////////////////////////////////////////////////////////////////////////
646/// Handle when mouse moves from region id. Emits signal
647/// OnMouseOut(Int_t).
648
650{
651 if(fTip) fTip->Hide();
652 if(fMainTip) fMainTip->Reset();
653 gVirtualX->SetCursor(fId,gVirtualX->CreateCursor(fCursorMouseOut));
654 Emit("OnMouseOut(Int_t)",id);
655}
656
657////////////////////////////////////////////////////////////////////////////////
658/// Handle when mouse was clicked on region id. Emits signal
659/// RegionClicked(Int_t).
660
662{
663 Emit("RegionClicked(Int_t)",id);
664}
665
666////////////////////////////////////////////////////////////////////////////////
667/// Handle when mouse is double clicked on main map. Emits signal
668/// DoubleClicked().
669
671{
672 Emit("DoubleClicked()");
673}
674
675////////////////////////////////////////////////////////////////////////////////
676/// Handle when mouse is double clicked on region id. Emits signal
677/// DoubleClicked(Int_t).
678
680{
681 Emit("DoubleClicked(Int_t)",id);
682}
Handle_t Region_t
Region handle.
Definition GuiTypes.h:32
@ kButtonPress
Definition GuiTypes.h:60
@ kHand
Definition GuiTypes.h:374
@ kPointer
Definition GuiTypes.h:375
const Mask_t kButtonPressMask
Definition GuiTypes.h:161
const Mask_t kKeyReleaseMask
Definition GuiTypes.h:160
const Mask_t kAnyModifier
Definition GuiTypes.h:210
const Mask_t kKeyPressMask
Definition GuiTypes.h:159
const Mask_t kPointerMotionMask
Definition GuiTypes.h:163
const Handle_t kNone
Definition GuiTypes.h:88
const Mask_t kLeaveWindowMask
Definition GuiTypes.h:168
const Mask_t kStructureNotifyMask
Definition GuiTypes.h:166
const Mask_t kButtonReleaseMask
Definition GuiTypes.h:162
@ kButton3
Definition GuiTypes.h:214
@ kButton1
Definition GuiTypes.h:214
@ kAnyButton
Definition GuiTypes.h:214
#define h(i)
Definition RSha256.hxx:106
unsigned short UShort_t
Unsigned Short integer 2 bytes (unsigned short)
Definition RtypesCore.h:54
int Int_t
Signed integer 4 bytes (int)
Definition RtypesCore.h:59
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
Definition RtypesCore.h:68
short Short_t
Signed Short integer 2 bytes (short)
Definition RtypesCore.h:53
constexpr Bool_t kFALSE
Definition RtypesCore.h:108
constexpr Bool_t kTRUE
Definition RtypesCore.h:107
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
@ kButtonDisabled
Definition TGButton.h:56
#define gClient
Definition TGClient.h:157
static TGRegion * gEmptyRegion
static Int_t gPointerY
TGRegionWithId * gCurrentRegion
static Int_t gPointerX
R__EXTERN TGRegionWithId * gCurrentRegion
Definition TGImageMap.h:154
winID h TVirtualViewer3D TVirtualGLPainter p
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 r
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 result
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t points
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 reg
Option_t Option_t TPoint TPoint const char text
#define gVirtualX
Definition TVirtualX.h:337
Array of shorts (16 bits per element).
Definition TArrayS.h:27
virtual void Clicked()
Definition TGButton.h:135
virtual void SetState(EButtonState state, Bool_t emit=kFALSE)
Set button state.
Definition TGButton.cxx:229
TGToolTip * fTip
tool tip associated with button
Definition TGButton.h:79
const TGWindow * GetDefaultRoot() const
Returns the root (i.e.
Definition TGClient.cxx:233
A subclasses of TGWindow, and is used as base class for some simple widgets (buttons,...
Definition TGFrame.h:80
void AddInput(UInt_t emask)
Add events specified in the emask to the events the frame should handle.
Definition TGFrame.cxx:331
ENavMode fNavMode
navigation mode
Definition TGImageMap.h:119
TGPopupMenu * GetPopup(Int_t id)
Return popup for regions with specified id.
Int_t fLastVisited
id of the last visited region
Definition TGImageMap.h:122
Bool_t HandleButton(Event_t *event) override
Handle button events.
virtual void OnMouseOut(Int_t id)
Handle when mouse moves from region id.
virtual void OnMouseOver(Int_t id)
Handle when mouse moves over region id.
TGToolTip * fMainTip
tooltip text for main region
Definition TGImageMap.h:123
TList * fTrash
collect all objects that need to be cleaned up
Definition TGImageMap.h:124
Bool_t HandleMotion(Event_t *event) override
Handle mouse motion events.
virtual void DoubleClicked()
Handle when mouse is double clicked on main map.
void AddRegion(const TGRegion &region, Int_t id)
Add a region to the image map.
TGPopupMenu * CreatePopup(Int_t id)
Create popup menu or returns existing for regions with specified id.
TList * fListOfRegions
list of regions
Definition TGImageMap.h:118
Bool_t HandleDoubleClick(Event_t *event) override
Handle double click events.
TGImageMap(const TGImageMap &)=delete
void SetToolTipText(const char *text, Long_t delayms=300) override
Set tooltip text for main region.
ECursor fCursorMouseOver
cursor shape in regions
Definition TGImageMap.h:120
virtual void RegionClicked(Int_t id)
Handle when mouse was clicked on region id.
~TGImageMap() override
Cleanup image map widget.
ECursor fCursorMouseOut
cursor shape out of regions
Definition TGImageMap.h:121
TGClient * fClient
Connection to display server.
Definition TGObject.h:25
Handle_t fId
X11/Win32 Window identifier.
Definition TGObject.h:24
Yield an action as soon as it is clicked.
Definition TGButton.h:228
virtual void SetDisabledPicture(const TGPicture *pic)
Changes disabled picture.
const TGPicture * fPic
picture to be put in button
Definition TGButton.h:231
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
Definition TGPicture.h:25
This class creates a popup menu object.
Definition TGMenu.h:110
virtual void PlaceMenu(Int_t x, Int_t y, Bool_t stick_mode, Bool_t grab_pointer)
Popup a popup menu.
Definition TGMenu.cxx:1237
~TGRegionData() override
TGRegionData & operator=(const TGRegionData &r)
Assignment of region data object.
Region_t fRgn
~TGRegionWithId() override
Cleanup.
TGPopupMenu * fPopup
popup menu
Definition TGImageMap.h:84
Int_t fId
region id
Definition TGImageMap.h:82
void SetToolTipText(const char *text, Long_t delayms, const TGFrame *frame)
Set tool tip text associated with this region.
TGToolTip * fTip
tooltip
Definition TGImageMap.h:83
void DisplayPopup()
Display popup menu associated with this region.
TGRegionWithId()
Create GUI region (with id and possible tooltip).
TGRegion CopyRegion() const
Copy a region.
Bool_t IsEmpty() const
Return true if region is empty.
TGDimension GetDimension() const
Return dimension of region (width, height).
TGRegion Unite(const TGRegion &r) const
Return the union of this region with r.
Bool_t Contains(const TPoint &p) const
Return true if point p is contained in the region.
Bool_t IsNull() const
Return true if region is not set.
TGPosition GetPosition() const
Return position of region (x, y).
TGRegion Eor(const TGRegion &r) const
Returns a region which is the difference between the union and intersection this region and r.
~TGRegion() override
Delete a region.
TGRegionData * fData
Definition TGImageMap.h:30
Bool_t operator==(const TGRegion &r) const
Region == operator.
TGRegion Subtract(const TGRegion &r) const
Returns a region which is r subtracted from this region.
TGRegion Intersect(const TGRegion &r) const
Returns a region which is the intersection of this region and r.
TGRegion()
Create a region object.
TGRegion & operator=(const TGRegion &r)
Region assignment operator.
A tooltip can be a one or multiple lines help text that is displayed in a window when the mouse curso...
Definition TGToolTip.h:24
void Hide()
Hide tool tip window.
void Reset()
Reset tool tip popup delay timer.
ROOT GUI Window base class.
Definition TGWindow.h:23
virtual void SetWindowName(const char *name=nullptr)
Set window name.
Definition TGWindow.cxx:127
A doubly linked list.
Definition TList.h:38
void Add(TObject *obj) override
Definition TList.h:81
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
Definition TList.cxx:467
Mother of all ROOT objects.
Definition TObject.h:41
TObject & operator=(const TObject &rhs) noexcept
TObject assignment operator.
Definition TObject.h:299
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition TObject.cxx:1071
SCoord_t fY
Definition TPoint.h:36
SCoord_t fX
Definition TPoint.h:35
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
Definition TQObject.h:164
Definitions for TRefCnt, base class for reference counted objects.
Definition TRefCnt.h:27
void AddReference()
Definition TRefCnt.h:40
UInt_t fRefs
Definition TRefCnt.h:30
UInt_t RemoveReference()
Definition TRefCnt.h:41
Basic string class.
Definition TString.h:138
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
const Int_t n
Definition legend1.C:16
Event structure.
Definition GuiTypes.h:174
EGEventType fType
of event (see EGEventType)
Definition GuiTypes.h:175
UInt_t fCode
key or button code
Definition GuiTypes.h:180
Point structure (maps to the X11 XPoint structure)
Definition GuiTypes.h:356
Rectangle structure (maps to the X11 XRectangle structure)
Definition GuiTypes.h:361