106           :
TPave(
x1,y1,
x2,y2,4,option), 
TAttText(22,0,
gStyle->GetTextColor(),
gStyle->GetTextFont(),0)
 
  133   b.SetBufferOffset(0);
 
  145      TAttText::operator=(
pt);
 
  159   if (!
gPad->IsEditable()) 
return 0;
 
  172   if (!
gPad->IsEditable()) 
return 0;
 
  221   if (!
gPad->IsEditable()) 
return;
 
  237   if (option && strlen(option)) opt = option;
 
  258   if (!
gPad->IsEditable()) 
return;
 
  265   gROOT->ProcessLine(
Form(
"((TCanvas*)0x%zx)->SetSelected((TObject*)0x%zx)",
 
  266                           (
size_t)
gPad->GetCanvas(), (
size_t)
text));
 
  267   gROOT->ProcessLine(
Form(
"((TCanvas*)0x%zx)->Selected((TVirtualPad*)0x%zx,(TObject*)0x%zx,1)",
 
  268                           (
size_t)
gPad->GetCanvas(), (
size_t)
gPad, (
size_t)
text));
 
  281      if (nlines == number) 
return line;
 
  307   if (nlines == 0) 
return 0;
 
  311   ymouse   = 
gPad->AbsPixeltoY(
gPad->GetEventY());
 
  327      if (
line->IsA() == TLine::Class()) {
 
  329         y1 = linel->
GetY1();   
if (y1 == 0) y1 = ytext; 
else y1 = 
fY1 + y1*dy;
 
  334      if (
line->IsA() == TBox::Class()) {
 
  336         y1 = lineb->
GetY1();   
if (y1 == 0) y1 = ytext; 
else y1 = 
fY1 + y1*dy;
 
  345         if (yl > 0 && yl <1) {
 
  350         if (valign == 1) 
y = ytext -0.5*yspace;
 
  351         if (valign == 3) 
y = ytext +0.5*yspace;
 
  378   if (!
gPad->IsEditable()) 
return;
 
  395   if (!
gPad->IsEditable()) 
return;
 
  427   if (nlines == 0) nlines = 5;
 
  444      textsize = 0.85*yspace/(y2 - y1);
 
  446         if (
line->IsA() == TLatex::Class()) {
 
  456            if (w > longest) longest = w;
 
  460      if (longest > 0.92*dx) textsize *= 0.92*dx/longest;
 
  461      if (mode == 
kDiamond) textsize *= 0.66;
 
  475      if (
line->IsA() == TLine::Class()) {
 
  479         y1 = linel->
GetY1();   
if (y1 == 0) y1 = ytext; 
else y1 = 
fY1 + y1*dy;
 
  480         y2 = linel->
GetY2();   
if (y2 == 0) y2 = ytext; 
else y2 = 
fY1 + y2*dy;
 
  485      if (
line->IsA() == TBox::Class()) {
 
  493         y1 = lineb->
GetY1();   
if (y1 == 0) y1 = ytext; 
else y1 = 
fY1 + y1*dy;
 
  494         y2 = lineb->
GetY2();   
if (y2 == 0) y2 = ytext; 
else y2 = 
fY1 + y2*dy;
 
  499      if (
line->IsA() == TText::Class()) {
 
  512         if (xl > 0 && xl <1) {
 
  516            if (halign == 1) xtext = 
fX1 + margin;
 
  517            if (halign == 2) xtext = 0.5*(
fX1+
fX2);
 
  518            if (halign == 3) xtext = 
fX2 - margin;
 
  520         if (yl > 0 && yl <1) ytext = 
fY1 + yl*dy;
 
  528      if (
line->IsA() == TLatex::Class()) {
 
  541         if (xl > 0 && xl <1) {
 
  545            if (halign == 1) xtext = 
fX1 + margin;
 
  546            if (halign == 2) xtext = 0.5*(
fX1+
fX2);
 
  547            if (halign == 3) xtext = 
fX2 - margin;
 
  549         if (yl > 0 && yl <1) ytext = 
fY1 + yl*dy;
 
  608   Int_t nch = strlen(filename);
 
  609   if (nch == 0) 
return;
 
  611   char *fname = 
StrDup(filename);
 
  612   if (fname[nch-1] == 
';') { nch--; fname[nch]=0;}
 
  614   std::ifstream 
file(fname,std::ios::in);
 
  616      Error(
"ReadFile", 
"illegal file name");
 
  621   const int linesize = 255;
 
  622   char currentline[linesize];
 
  623   char *ss, *sclose, *s= 0;
 
  627      file.getline(currentline,linesize);
 
  628      if (
file.eof())
break;
 
  629      if (kline >= fromline && kline < fromline+nlines) {
 
  631         if (strstr(s,
"+SetText")) {
 
  633            sclose = strstr(ss,
")");
 
  634            if (!sclose) 
continue;
 
  637            if (!lastline) 
continue;
 
  638            if (strstr(ss,
"Color(")) {
 
  639               sscanf(ss+6,
"%d",&ival);
 
  643            if (strstr(ss,
"Align(")) {
 
  644               sscanf(ss+6,
"%d",&ival);
 
  648            if (strstr(ss,
"Font(")) {
 
  649               sscanf(ss+5,
"%d",&ival);
 
  653            if (strstr(ss,
"Size(")) {
 
  654               sscanf(ss+5,
"%f",&val);
 
  658            if (strstr(ss,
"Angle(")) {
 
  659               sscanf(ss+6,
"%f",&val);
 
  679   if (nlines == 0) 
return;
 
  696      if (
line->IsA() == TLine::Class()) {
 
  698         if (saved || savedl) {
 
  704         out<<
name<<
"_Line = "<<
name<<
"->AddLine(" 
  705            <<linel->
GetX1()<<
","<<linel->
GetY1()<<
","<<linel->
GetX2()<<
","<<linel->
GetY2()<<
");"<<std::endl;
 
  709               out<<
"   "<<
name<<
"_Line->SetLineColor(ci);" << std::endl;
 
  711               out<<
"   "<<
name<<
"_Line->SetLineColor("<<linel->
GetLineColor()<<
");"<<std::endl;
 
  714            out<<
"   "<<
name<<
"_Line->SetLineStyle("<<linel->
GetLineStyle()<<
");"<<std::endl;
 
  717            out<<
"   "<<
name<<
"_Line->SetLineWidth("<<linel->
GetLineWidth()<<
");"<<std::endl;
 
  722      if (
line->IsA() == TBox::Class()) {
 
  724         if (saved || savedb) {
 
  730         out<<
name<<
"_Box = "<<
name<<
"->AddBox(" 
  731            <<lineb->
GetX1()<<
","<<lineb->
GetY1()<<
","<<lineb->
GetX2()<<
","<<lineb->
GetY2()<<
");"<<std::endl;
 
  735               out<<
"   "<<
name<<
"_Box->SetFillColor(ci);" << std::endl;
 
  737               out<<
"   "<<
name<<
"_Box->SetFillColor("<<lineb->
GetFillColor()<<
");"<<std::endl;
 
  740            out<<
"   "<<
name<<
"_Box->SetFillStyle("<<lineb->
GetFillStyle()<<
");"<<std::endl;
 
  745               out<<
"   "<<
name<<
"_Box->SetLineColor(ci);" << std::endl;
 
  747               out<<
"   "<<
name<<
"_Box->SetLineColor("<<lineb->
GetLineColor()<<
");"<<std::endl;
 
  750            out<<
"   "<<
name<<
"_Box->SetLineStyle("<<lineb->
GetLineStyle()<<
");"<<std::endl;
 
  753            out<<
"   "<<
name<<
"_Box->SetLineWidth("<<lineb->
GetLineWidth()<<
");"<<std::endl;
 
  758      if (
line->IsA() == TText::Class()) {
 
  760         if (saved || savedt) {
 
  766         if (!linet->
GetX() && !linet->
GetY()) {
 
  769            out<<
name<<
"_Text = "<<
name<<
"->AddText(" 
  770               <<quote<<s.
Data()<<quote<<
");"<<std::endl;
 
  772            out<<
name<<
"_Text = "<<
name<<
"->AddText(" 
  773               <<linet->
GetX()<<
","<<linet->
GetY()<<
","<<quote<<linet->
GetTitle()<<quote<<
");"<<std::endl;
 
  778               out<<
"   "<<
name<<
"_Text->SetTextColor(ci);" << std::endl;
 
  780               out<<
"   "<<
name<<
"_Text->SetTextColor("<<linet->
GetTextColor()<<
");"<<std::endl;
 
  783            out<<
"   "<<
name<<
"_Text->SetTextFont("<<linet->
GetTextFont()<<
");"<<std::endl;
 
  786            out<<
"   "<<
name<<
"_Text->SetTextSize("<<linet->
GetTextSize()<<
");"<<std::endl;
 
  789            out<<
"   "<<
name<<
"_Text->SetTextAngle("<<linet->
GetTextAngle()<<
");"<<std::endl;
 
  792            out<<
"   "<<
name<<
"_Text->SetTextAlign("<<linet->
GetTextAlign()<<
");"<<std::endl;
 
  796      if (
line->IsA() == TLatex::Class()) {
 
  798         if (saved || savedlt) {
 
  804         if (!latex->
GetX() && !latex->
GetY()) {
 
  807            out<<
name<<
"_LaTex = "<<
name<<
"->AddText(" 
  808               <<quote<<sl.
Data()<<quote<<
");"<<std::endl;
 
  810            out<<
name<<
"_LaTex = "<<
name<<
"->AddText(" 
  811               <<latex->
GetX()<<
","<<latex->
GetY()<<
","<<quote<<latex->
GetTitle()<<quote<<
");"<<std::endl;
 
  816               out<<
"   "<<
name<<
"_LaTex->SetTextColor(ci);" << std::endl;
 
  818               out<<
"   "<<
name<<
"_LaTex->SetTextColor("<<latex->
GetTextColor()<<
");"<<std::endl;
 
  821            out<<
"   "<<
name<<
"_LaTex->SetTextFont("<<latex->
GetTextFont()<<
");"<<std::endl;
 
  824            out<<
"   "<<
name<<
"_LaTex->SetTextSize("<<latex->
GetTextSize()<<
");"<<std::endl;
 
  827            out<<
"   "<<
name<<
"_LaTex->SetTextAngle("<<latex->
GetTextAngle()<<
");"<<std::endl;
 
  830            out<<
"   "<<
name<<
"_LaTex->SetTextAlign("<<latex->
GetTextAlign()<<
");"<<std::endl;
 
  842   Bool_t saved = 
gROOT->ClassSaved(TPaveText::Class());
 
  851      <<
","<<quote<<
fOption<<quote<<
");"<<std::endl;
 
  854      <<
","<<quote<<
fOption<<quote<<
");"<<std::endl;
 
  856   if (strcmp(
GetName(),
"TPave")) {
 
  857      out<<
"   pt->SetName("<<quote<<
GetName()<<quote<<
");"<<std::endl;
 
  860      out<<
"   pt->SetLabel("<<quote<<
fLabel<<quote<<
");"<<std::endl;
 
  863      out<<
"   pt->SetBorderSize("<<
fBorderSize<<
");"<<std::endl;
 
  869   out<<
"   pt->Draw();"<<std::endl;
 
  886         if (opt == 
"align") 
line->SetTextAlign(
Int_t(value));
 
  887         if (opt == 
"color") 
line->SetTextColor(
Int_t(value));
 
  888         if (opt == 
"font")  
line->SetTextFont(
Int_t(value));
 
  889         if (opt == 
"size")  
line->SetTextSize(value);
 
  890         if (opt == 
"angle") 
line->SetTextAngle(value);
 
  898void TPaveText::Streamer(
TBuffer &R__b)
 
  908      TPave::Streamer(R__b);
 
  909      TAttText::Streamer(R__b);
 
  910      if (R__v > 1) 
fLabel.Streamer(R__b);
 
static const double x2[5]
 
static const double x1[5]
 
char * Form(const char *fmt,...)
 
char * StrDup(const char *str)
Duplicate the string str.
 
R__EXTERN TStyle * gStyle
 
virtual Color_t GetFillColor() const
Return the fill area color.
 
virtual Style_t GetFillStyle() const
Return the fill area style.
 
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
 
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 Color_t GetLineColor() const
Return the line color.
 
virtual Width_t GetLineWidth() const
Return the line width.
 
virtual Style_t GetLineStyle() const
Return the line style.
 
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.
 
virtual Float_t GetTextSize() const
Return the text size.
 
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
 
virtual Short_t GetTextAlign() const
Return the text alignment.
 
virtual Font_t GetTextFont() const
Return the text font.
 
virtual Color_t GetTextColor() const
Return the text color.
 
virtual void SetTextAngle(Float_t tangle=0)
Set the text angle.
 
virtual Float_t GetTextAngle() const
Return the text angle.
 
virtual void SetTextAttributes()
Invoke the DialogCanvas Text attributes.
 
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
 
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
 
virtual void SaveTextAttributes(std::ostream &out, const char *name, Int_t alidef=12, Float_t angdef=0, Int_t coldef=1, Int_t fondef=61, Float_t sizdef=1)
Save text attributes as C++ statement(s) on output stream out.
 
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
 
virtual void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="")
Draw this box with new coordinates.
 
Double_t fX1
X of 1st point.
 
TBox()
Box default constructor.
 
Double_t fY2
Y of 2nd point.
 
Double_t fX2
X of 2nd point.
 
Double_t fY1
Y of 1st point.
 
The concrete implementation of TBuffer for writing/reading to/from a ROOT file or socket.
 
Buffer base class used for serializing objects.
 
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=0)=0
 
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
 
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
 
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
 
virtual void Print(Option_t *option="") const
Default print for collections, calls Print(option, 1).
 
static void SaveColor(std::ostream &out, Int_t ci)
Save a color with index > 228 as a C++ statement(s) on output stream out.
 
To draw Mathematical Formula.
 
Double_t GetXsize()
Return size of the formula along X in pad coordinates when the text precision is smaller than 3.
 
virtual void PaintLatex(Double_t x, Double_t y, Double_t angle, Double_t size, const char *text)
Main drawing function.
 
Use the TLine constructor to create a simple line.
 
virtual void PaintLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Draw this line with new coordinates.
 
virtual void Add(TObject *obj)
 
virtual TObject * Remove(TObject *obj)
Remove object from the list.
 
virtual TObject * Last() const
Return the last object in the list. Returns 0 when list is empty.
 
virtual void AddAfter(const TObject *after, TObject *obj)
Insert object after object after in the list.
 
virtual void AddBefore(const TObject *before, TObject *obj)
Insert object before object before in the list.
 
virtual void Delete(Option_t *option="")
Remove all objects from the list AND delete all heap based objects.
 
virtual const char * GetTitle() const
Returns title of object.
 
Mother of all ROOT objects.
 
virtual const char * ClassName() const
Returns name of class to which the object belongs.
 
virtual Option_t * GetDrawOption() const
Get option used by the graphics system to draw this object.
 
virtual void AppendPad(Option_t *option="")
Append graphics object to current pad.
 
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
virtual const char * GetTitle() const
Returns title of object.
 
A Pave (see TPave) with a text centered in the Pave.
 
virtual void Paint(Option_t *option="")
Paint this pavelabel with its current attributes.
 
A Pave (see TPave) with text, lines or/and boxes inside.
 
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
 
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
 
Int_t fLongest
Length of the longest line.
 
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitive as a C++ statement(s) on output stream out.
 
virtual Int_t GetSize() const
return number of text lines (ignoring TLine, etc)
 
TList * fLines
List of labels.
 
virtual void PaintPrimitives(Int_t mode)
Paint list of primitives in this pavetext.
 
virtual void UseCurrentStyle()
Replace current attributes by current style.
 
TPaveText()
pavetext default constructor.
 
virtual TLine * AddLine(Double_t x1=0, Double_t y1=0, Double_t x2=0, Double_t y2=0)
Add a new graphics line to this pavetext.
 
virtual void InsertText(const char *label)
Add a new Text line at the mouse position.
 
virtual void ReadFile(const char *filename, Option_t *option="", Int_t nlines=50, Int_t fromline=0)
Read lines of filename in this pavetext.
 
virtual void DrawFile(const char *filename, Option_t *option="")
Draw lines in filename in this pavetext.
 
virtual void EditText()
Edit text at the mouse position.
 
virtual void SetAllWith(const char *text, Option_t *option, Double_t value)
Set attribute option for all lines containing string text.
 
virtual TObject * GetObject(Double_t &ymouse, Double_t &yobj) const
Get object pointed by the mouse in this pavetext.
 
virtual void SaveLines(std::ostream &out, const char *name, Bool_t saved)
Save lines of this pavetext as C++ statements on output stream out.
 
virtual void DeleteText()
Delete text at the mouse position.
 
virtual ~TPaveText()
pavetext default destructor.
 
virtual void Paint(Option_t *option="")
Paint this pavetext with its current attributes.
 
TPaveText & operator=(const TPaveText &)
assignment operator
 
virtual TBox * AddBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Add a new graphics box to this pavetext.
 
virtual TText * GetLine(Int_t number) const
Get Pointer to line number in this pavetext.
 
virtual void Clear(Option_t *option="")
Clear all lines in this pavetext.
 
TString fLabel
Label written at the top of the pavetext.
 
virtual void InsertLine()
Add a new line at the mouse position.
 
virtual void Print(Option_t *option="") const
Dump this pavetext with its attributes.
 
virtual TText * GetLineWith(const char *text) const
Get Pointer to first containing string text in this pavetext.
 
Float_t fMargin
Text margin.
 
A TBox with a bordersize and a shadow option.
 
virtual void Print(Option_t *option="") const
Dump this pave with its attributes.
 
Int_t GetBorderSize() const
 
TPave & operator=(const TPave &src)
Assignment operator.
 
virtual void ConvertNDCtoPad()
Convert pave coordinates from NDC to Pad coordinates.
 
Int_t fBorderSize
window box bordersize in pixels
 
Double_t fX2NDC
X2 point in NDC coordinates.
 
Option_t * GetOption() const
 
Option_t * GetName() const
Returns name of object.
 
TString fOption
Pave style.
 
Double_t fY2NDC
Y2 point in NDC coordinates.
 
Double_t fX1NDC
X1 point in NDC coordinates.
 
Double_t fY1NDC
Y1 point in NDC coordinates.
 
virtual void PaintPave(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Int_t bordersize=4, Option_t *option="br")
Draw this pave with new coordinates.
 
void ToLower()
Change string to lower-case.
 
const char * Data() const
 
TString & ReplaceAll(const TString &s1, const TString &s2)
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
Base class for several text objects.
 
virtual void SetY(Double_t y)
 
virtual void PaintText(Double_t x, Double_t y, const char *text)
Draw this text with new coordinates.
 
virtual void SetX(Double_t x)
 
R__ALWAYS_INLINE bool HasBeenDeleted(const TObject *obj)
Check if the TObject's memory has been deleted.