80 fData->AddReference();
90 fData->fIsNull = is_null;
119 for (
int i = 0; i <
n; i++) {
136 if (
n !=
y.GetSize()) {
137 Error(
"TGRegion",
"x and y arrays must have same length");
142 for (
int i = 0; i <
n; i++) {
143 gpoints[i].
fX =
x.GetArray()[i];
144 gpoints[i].
fY =
y.GetArray()[i];
159 for (
int i = 0; i <
n; i++) {
160 gpoints[i].
fX =
x[i];
161 gpoints[i].
fY =
y[i];
173 fData->AddReference();
181 if (
fData->RemoveReference() <= 0) {
194 r.fData->AddReference();
196 if (
fData->RemoveReference() <= 0) {
220 return fData->fIsNull;
489 if (
id == region->
GetId()) {
491 if (!popup && !newpopup) {
495 if (newpopup) region->
SetPopup(newpopup);
498 return newpopup ? newpopup : popup;
628 if (
id == region->
GetId())
642 Emit(
"OnMouseOver(Int_t)",
id);
654 Emit(
"OnMouseOut(Int_t)",
id);
663 Emit(
"RegionClicked(Int_t)",
id);
672 Emit(
"DoubleClicked()");
681 Emit(
"DoubleClicked(Int_t)",
id);
const Mask_t kButtonPressMask
const Mask_t kKeyReleaseMask
const Mask_t kAnyModifier
const Mask_t kKeyPressMask
const Mask_t kPointerMotionMask
const Mask_t kLeaveWindowMask
const Mask_t kStructureNotifyMask
const Mask_t kButtonReleaseMask
Handle_t Region_t
Region handle.
unsigned short UShort_t
Unsigned Short integer 2 bytes (unsigned short).
int Int_t
Signed integer 4 bytes (int).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
bool Bool_t
Boolean (0=false, 1=true) (bool).
short Short_t
Signed Short integer 2 bytes (short).
static TGRegion * gEmptyRegion
externTGRegionWithId * gCurrentRegion
Array of shorts (16 bits per element).
A subclasses of TGWindow, and is used as base class for some simple widgets (buttons,...
void AddInput(UInt_t emask)
Add events specified in the emask to the events the frame should handle.
ENavMode fNavMode
navigation mode
TGPopupMenu * GetPopup(Int_t id)
Return popup for regions with specified id.
Int_t fLastVisited
id of the last visited region
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
TList * fTrash
collect all objects that need to be cleaned up
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 ®ion, 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
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
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
TGClient * fClient
Connection to display server.
Handle_t fId
X11/Win32 Window identifier.
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
TGRegionData & operator=(const TGRegionData &r)
Assignment of region data object.
void SetPopup(TGPopupMenu *popup)
~TGRegionWithId() override
Cleanup.
TGPopupMenu * fPopup
popup menu
void SetToolTipText(const char *text, Long_t delayms, const TGFrame *frame)
Set tool tip text associated with this region.
void DisplayPopup()
Display popup menu associated with this region.
TGPopupMenu * GetPopup() const
TGRegionWithId()
Create GUI region (with id and possible tooltip).
TGToolTip * GetToolTipText() const
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.
TGRegion(Bool_t)
Create empty region.
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.
ROOT GUI Window base class.
virtual void SetWindowName(const char *name=nullptr)
Set window name.
TObject & operator=(const TObject &rhs) noexcept
TObject assignment operator.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
TObject()
TObject constructor.
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
EGEventType fType
of event (see EGEventType)
UInt_t fCode
key or button code
Point structure (maps to the X11 XPoint structure).
Rectangle structure (maps to the X11 XRectangle structure).