96 TAttLine::operator=(
b);
97 TAttFill::operator=(
b);
121 ((
TBox&)obj).fTip =
nullptr;
136 if (!
gPad)
return 9999;
137 Int_t pxl, pyl, pxt, pyt;
146 if (
gPad->GetLogx()) {
150 if (
gPad->GetLogy()) {
156 if (px1 < px2) {pxl = px1; pxt = px2;}
157 else {pxl = px2; pxt = px1;}
158 if (py1 < py2) {pyl = py1; pyt = py2;}
159 else {pyl = py2; pyt = py1;}
163 if ( (px >= pxl && px <= pxt) && (py >= pyl && py <= pyt) )
return 0;
169 if (py < pyl) dxl += pyl - py;
170 if (py > pyt) dxl += py - pyt;
172 if (py < pyl) dxt += pyl - py;
173 if (py > pyt) dxt += py - pyt;
175 if (px < pxl) dyl += pxl - px;
176 if (px > pxt) dyl += px - pxt;
178 if (px < pxl) dyt += pxl - px;
179 if (px > pxt) dyt += px - pxt;
181 Int_t distance = dxl;
182 if (dxt < distance) distance = dxt;
183 if (dyl < distance) distance = dyl;
184 if (dyt < distance) distance = dyt;
238 auto &parent = *
gPad;
245 if (
event >= 10000) {
251 event =
event % 10000;
256 auto setNewValues = [&inter,
this, canX, canY]() {
273 parent.ResetToolTip(
fTip);
284 if (!inter) inter = &dummy;
287 if (!inter->SelectCorner(px, py, canX, canY)) {
289 parent.FreeInteractive(
this);
303 if (!inter->ProcessMouseMove(parent, px, py, canX, canY))
306 inter->ApplyChanges(parent);
311 if (inter->IsOpaque(parent)) {
313 parent.ShowGuidelines(
this,
event, inter->GetGuideChar(),
true);
314 parent.Modified(
kTRUE);
321 if (inter && inter->IsOpaque(parent))
322 parent.ShowGuidelines(
this,
event);
324 if (
gROOT->IsEscaped()) {
326 if (inter && inter->IsOpaque(parent)) {
332 }
else if (inter && !inter->IsOpaque(parent) && (inter->newX1 != inter->newX2)) {
337 parent.FreeInteractive(
this);
350 event = parent.GetCanvasImp()->RequestLocator(px, py);
378 if (x < fX1 || x >
fX2)
return 0;
379 if (y < fY1 || y >
fY2)
return 0;
439 SavePrimitiveConstructor(out,
Class(),
"box",
TString::Format(
"%g, %g, %g, %g",
fX1,
fY1,
fX2,
fY2));
455 Warning(
"SetToolTipText",
"a canvas must exist before setting the tool tip text");
516 BBox.fWidth = px2 - px1;
517 BBox.fHeight = py2 - py1;
int Int_t
Signed integer 4 bytes (int)
short Version_t
Class version identifier (short)
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
float Float_t
Float 4 bytes (float)
const char Option_t
Option string (const char)
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 mask
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t TPoint TPoint const char y2
Option_t Option_t TPoint TPoint const char text
Option_t Option_t TPoint TPoint const char y1
Abstract base class for elements drawn in the editor.
Double_t GetYCoord(const Int_t y, Bool_t is_ndc=kFALSE, Bool_t is_absolute=kFALSE)
Can return ndc or normal values Also one can specify to use absolute coordinates for input parameter ...
Double_t GetXCoord(const Int_t x, Bool_t is_ndc=kFALSE, Bool_t is_absolute=kFALSE)
Return user X coordinate for pixel X value Can return ndc or normal values Also one can specify to us...
Fill Area Attributes class.
virtual void Streamer(TBuffer &)
virtual Color_t GetFillColor() const
Return the fill area color.
void Copy(TAttFill &attfill) const
Copy this fill attributes to a new TAttFill.
virtual Style_t GetFillStyle() const
Return the fill area style.
virtual void Modify()
Change current fill area attributes if necessary.
virtual void SaveFillAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
Save fill attributes as C++ statement(s) on output stream out.
virtual void Streamer(TBuffer &)
virtual Color_t GetLineColor() const
Return the line color.
virtual Width_t GetLineWidth() const
Return the line width.
Width_t fLineWidth
Line width.
virtual Style_t GetLineStyle() const
Return the line style.
virtual void Modify()
Change current line attributes if necessary.
void Copy(TAttLine &attline) const
Copy this line attributes to a new TAttLine.
virtual void SaveLineAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
Save line attributes as C++ statement(s) on output stream out.
void CalcPixelCoord(const TVirtualPad &parent, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Calculate pixel coordinates.
void Draw(Option_t *option="") override
Draw this box with its current attributes.
virtual void SetToolTipText(const char *text, Long_t delayms=1000)
Set tool tip text associated with this box.
virtual void SetY2(Double_t y2)
virtual void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="")
Draw this box with new coordinates.
void Streamer(TBuffer &) override
Stream an object of class TBox.
void SetBBoxX1(const Int_t x) override
Set left hand side of BoundingBox to a value (resize in x direction on left)
~TBox() override
Box destructor.
TBox & operator=(const TBox &)
Assignment operator.
void SetBBoxY2(const Int_t y) override
Set bottom of BoundingBox to a value (resize in y direction on bottom)
void SetBBoxY1(const Int_t y) override
Set top of BoundingBox to a value (resize in y direction on top)
Double_t fX1
X of 1st point.
TClass * IsA() const override
virtual void HideToolTip(Int_t event)
Hide tool tip depending on the event type.
void SetBBoxCenterY(const Int_t y) override
Set Y coordinate of the center of the Box.
void ls(Option_t *option="") const override
List this box with its attributes.
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.
virtual void SetX1(Double_t x1)
void Paint(Option_t *option="") override
Paint this box with its current attributes.
virtual Int_t IsInside(Double_t x, Double_t y) const
Function which returns 1 if point x,y lies inside the box, 0 otherwise.
virtual void SetX2(Double_t x2)
TBox()
Box default constructor.
virtual TBox * DrawBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Draw this box with new coordinates.
Rectangle_t GetBBox() override
Return the "bounding Box" of the Box.
void Print(Option_t *option="") const override
Dump this box with its attributes.
TObject * fTip
! tool tip associated with box
Double_t fY2
Y of 2nd point.
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save primitive as a C++ statement(s) on output stream out.
Double_t fX2
X of 2nd point.
Double_t fY1
Y of 1st point.
void Copy(TObject &box) const override
Copy a Box.
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute distance from point px,py to a box.
Bool_t fResizing
! True if box is being resized
void SetBBoxX2(const Int_t x) override
Set right hand side of BoundingBox to a value (resize in x direction on right)
virtual void SetY1(Double_t y1)
void SetBBoxCenterX(const Int_t x) override
Set X coordinate of the center of the Box.
Buffer base class used for serializing objects.
virtual Version_t ReadVersion(UInt_t *start=nullptr, UInt_t *bcnt=nullptr, const TClass *cl=nullptr)=0
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=nullptr)=0
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
Mother of all ROOT objects.
TObject & operator=(const TObject &rhs) noexcept
TObject assignment operator.
virtual const char * GetName() const
Returns name of object.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual void Streamer(TBuffer &)
Stream an object of class TObject.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual void AppendPad(Option_t *option="")
Append graphics object to current pad.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
virtual void Copy(TObject &object) const
Copy this to obj.
static void SavePrimitiveDraw(std::ostream &out, const char *variable_name, Option_t *option=nullptr)
Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
static void SavePrimitiveConstructor(std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
Save object constructor in the output stream "out".
@ kCanDelete
if object in a list can be deleted
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
void ToLower()
Change string to lower-case.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Double_t Log10(Double_t x)
Returns the common (base-10) logarithm of x.
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.
Rectangle structure (maps to the X11 XRectangle structure)