ROOT
v6-32
Reference Guide
Loading...
Searching...
No Matches
pstable.C File Reference
Tutorials
»
Graphics tutorials
Detailed Description
Display all possible types of ROOT/Postscript characters.
void
table(
Float_t
x1
,
Float_t
x2
,
Float_t
yrange
,
TText
&t,
const
char
**
symbol
,
Bool_t
octal
);
void
pstable
()
{
const
char
*
symbol1
[] =
{
"A"
,
"B"
,
"C"
,
"D"
,
"E"
,
"F"
,
"G"
,
"H"
,
"I"
,
"J"
,
"K"
,
"L"
,
"M"
,
"N"
,
"O"
,
"P"
,
"Q"
,
"R"
,
"S"
,
"T"
,
"U"
,
"V"
,
"W"
,
"X"
,
"Y"
,
"Z"
,
"0"
,
"1"
,
"2"
,
"3"
,
"4"
,
"5"
,
"6"
,
"7"
,
"8"
,
"9"
,
"."
,
","
,
"+"
,
"-"
,
"*"
,
"/"
,
"="
,
"("
,
")"
,
"{"
,
"}"
,
"END"
};
const
char
*
symbol2
[] =
{
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
,
"g"
,
"h"
,
"i"
,
"j"
,
"k"
,
"l"
,
"m"
,
"n"
,
"o"
,
"p"
,
"q"
,
"r"
,
"s"
,
"t"
,
"u"
,
"v"
,
"w"
,
"x"
,
"y"
,
"z"
,
":"
,
";"
,
"@"
,
"\\"
,
"_"
,
"|"
,
"%"
,
"@'"
,
"<"
,
">"
,
"["
,
"]"
,
"\42"
,
"@\43"
,
"@\136"
,
"@\77"
,
"@\41"
,
"@&"
,
"$"
,
"@\176"
,
" "
,
"END"
};
const
char
*
symbol3
[] =
{
"\241"
,
"\242"
,
"\243"
,
"\244"
,
"\245"
,
"\246"
,
"\247"
,
"\250"
,
"\251"
,
"\252"
,
"\253"
,
"\254"
,
"\255"
,
"\256"
,
"\257"
,
"\260"
,
"\261"
,
"\262"
,
"\263"
,
"\264"
,
"\265"
,
"\266"
,
"\267"
,
"\270"
,
"\271"
,
"\272"
,
"\273"
,
"\274"
,
"\275"
,
"\276"
,
"\277"
,
"\300"
,
"\301"
,
"\302"
,
"\303"
,
"\304"
,
"\305"
,
"\306"
,
"\307"
,
"\310"
,
"\311"
,
"\312"
,
"\313"
,
"\314"
,
"\315"
,
"\316"
,
"\317"
,
"END"
};
const
char
*
symbol4
[] =
{
"\321"
,
"\322"
,
"\323"
,
"\324"
,
"\325"
,
"\326"
,
"\327"
,
"\330"
,
"\331"
,
"\332"
,
"\333"
,
"\334"
,
"\335"
,
"\336"
,
"\337"
,
"\340"
,
"\341"
,
"\342"
,
"\343"
,
"\344"
,
"\345"
,
"\346"
,
"\347"
,
"\340"
,
"\351"
,
"\352"
,
"\353"
,
"\354"
,
"\355"
,
"\356"
,
"\357"
,
"\360"
,
"\361"
,
"\362"
,
"\363"
,
"\364"
,
"\365"
,
"\366"
,
"\367"
,
"\370"
,
"\371"
,
"\372"
,
"\373"
,
"\374"
,
"\375"
,
"\376"
,
"\377"
,
"END"
};
const
char
*
symbol5
[] =
{
"\177"
,
"\200"
,
"\201"
,
"\202"
,
"\203"
,
"\204"
,
"\205"
,
"\206"
,
"\207"
,
"\210"
,
"\211"
,
"\212"
,
"\213"
,
"\214"
,
"\215"
,
"\216"
,
"\217"
,
"\220"
,
"\221"
,
"\222"
,
"\223"
,
"\224"
,
"\225"
,
"\226"
,
"\227"
,
"\230"
,
"\231"
,
"\232"
,
"\233"
,
"\234"
,
"\235"
,
"\236"
,
"\237"
,
"\240"
,
"END"
};
Float_t
xrange
= 18;
Float_t
yrange
= 25;
Int_t
w
= 650;
Int_t
h
=
w
*
yrange
/
xrange
;
TCanvas
*
c1
=
new
TCanvas
(
"c1"
,
"c1"
,200,10,
w
,
h
);
c1
->Range(0,0,
xrange
,
yrange
);
TText
t(0,0,
"a"
);
t.SetTextSize(0.02);
t.SetTextFont(62);
t.SetTextAlign(22);
table(0.5,0.5*
xrange
-0.5,
yrange
,t,
symbol1
,0);
table(0.5*
xrange
+0.5,
xrange
-0.5,
yrange
,t,
symbol2
,0);
TText
tlabel
(0,0,
"a"
);
tlabel
.SetTextFont(72);
tlabel
.SetTextSize(0.018);
tlabel
.SetTextAlign(22);
tlabel
.DrawText(0.5*
xrange
,1.3,
"Input characters are standard keyboard characters"
);
c1
->Modified();
c1
->Update();
c1
->Print(
"pstable1.ps"
);
TCanvas
*
c2
=
new
TCanvas
(
"c2"
,
"c2"
,220,20,
w
,
h
);
c2
->Range(0,0,
xrange
,
yrange
);
table(0.5,0.5*
xrange
-0.5,
yrange
,t,
symbol3
,1);
table(0.5*
xrange
+0.5,
xrange
-0.5,
yrange
,t,
symbol4
,1);
tlabel
.DrawText(0.5*
xrange
,1.3,
"Input characters using backslash and octal numbers"
);
c2
->Modified();
c2
->Update();
c2
->Print(
"pstable2.ps"
);
TCanvas
*
c3
=
new
TCanvas
(
"c3"
,
"c3"
,240,20,
w
,
h
);
c3
->Range(0,0,
xrange
,
yrange
);
table(0.5,0.5*
xrange
-0.5,
yrange
,t,
symbol5
,1);
tlabel
.DrawText(0.5*
xrange
,1.3,
"Input characters using backslash and octal numbers"
);
c3
->Modified();
c3
->Update();
c3
->Print(
"pstable3.ps"
);
}
void
table(
Float_t
x1
,
Float_t
x2
,
Float_t
yrange
,
TText
&t,
const
char
**
symbol
,
Bool_t
octal
)
{
Int_t
i;
Int_t
n
= 0;
for
(i=0;i<1000;i++) {
if
(!
strcmp
(
symbol
[i],
"END"
))
break
;
n
++;
}
Float_t
y1
= 2.5;
Float_t
y2
=
yrange
- 0.5;
Float_t
dx
= (
x2
-
x1
)/5;
Float_t
dy
= (
y2
- 1 -
y1
)/(
n
+1);
Float_t
y
=
y2
- 1 - 0.7*
dy
;
Float_t
xc0
=
x1
+ 0.5*
dx
;
Float_t
xc1
=
xc0
+
dx
;
Float_t
xc2
=
xc1
+
dx
;
Float_t
xc3
=
xc2
+
dx
;
Float_t
xc4
=
xc3
+
dx
;
TLine
line
;
line
.
DrawLine
(
x1
,
y1
,
x1
,
y2
);
line
.
DrawLine
(
x1
,
y1
,
x2
,
y1
);
line
.
DrawLine
(
x1
,
y2
,
x2
,
y2
);
line
.
DrawLine
(
x2
,
y1
,
x2
,
y2
);
line
.
DrawLine
(
x1
,
y2
-1,
x2
,
y2
-1);
line
.
DrawLine
(
x1
+
dx
,
y1
,
x1
+
dx
,
y2
);
line
.
DrawLine
(
x1
+2*
dx
,
y1
,
x1
+2*
dx
,
y2
);
line
.
DrawLine
(
x1
+3*
dx
,
y1
,
x1
+3*
dx
,
y2
);
line
.
DrawLine
(
x1
+4*
dx
,
y1
,
x1
+4*
dx
,
y2
);
TText
tit
(0,0,
"a"
);
tit
.SetTextSize(0.015);
tit
.SetTextFont(72);
tit
.SetTextAlign(22);
tit
.DrawText(
xc0
,
y2
-0.6,
"Input"
);
tit
.DrawText(
xc1
,
y2
-0.6,
"Roman"
);
tit
.DrawText(
xc2
,
y2
-0.6,
"Greek"
);
tit
.DrawText(
xc3
,
y2
-0.6,
"Special"
);
tit
.DrawText(
xc4
,
y2
-0.6,
"Zapf"
);
char
text
[12];
for
(i=0;i<
n
;i++) {
if
(
octal
) {
unsigned
char
value
= *
symbol
[i];
sprintf
(
text
,
"@\\ %3o"
,
value
);
}
else
{
strcpy
(
text
,
symbol
[i]);
}
t.
DrawText
(
xc0
,
y
,
text
);
sprintf
(
text
,
"%s"
,
symbol
[i]);
t.
DrawText
(
xc1
,
y
,
text
);
sprintf
(
text
,
"`%s"
,
symbol
[i]);
t.
DrawText
(
xc2
,
y
,
text
);
sprintf
(
text
,
"'%s"
,
symbol
[i]);
t.
DrawText
(
xc3
,
y
,
text
);
sprintf
(
text
,
"~%s"
,
symbol
[i]);
t.
DrawText
(
xc4
,
y
,
text
);
y
-=
dy
;
}
}
h
#define h(i)
Definition
RSha256.hxx:106
Bool_t
bool Bool_t
Definition
RtypesCore.h:63
Int_t
int Int_t
Definition
RtypesCore.h:45
Float_t
float Float_t
Definition
RtypesCore.h:57
TRangeDynCast
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Definition
TCollection.h:358
w
winID w
Definition
TGWin32VirtualGLProxy.cxx:39
value
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Definition
TGWin32VirtualXProxy.cxx:142
x2
Option_t Option_t TPoint TPoint const char x2
Definition
TGWin32VirtualXProxy.cxx:70
x1
Option_t Option_t TPoint TPoint const char x1
Definition
TGWin32VirtualXProxy.cxx:70
y2
Option_t Option_t TPoint TPoint const char y2
Definition
TGWin32VirtualXProxy.cxx:70
text
Option_t Option_t TPoint TPoint const char text
Definition
TGWin32VirtualXProxy.cxx:68
y1
Option_t Option_t TPoint TPoint const char y1
Definition
TGWin32VirtualXProxy.cxx:70
ROOT::Detail::TRangeCast
Definition
TCollection.h:311
TCanvas
The Canvas class.
Definition
TCanvas.h:23
TLine
Use the TLine constructor to create a simple line.
Definition
TLine.h:22
TLine::DrawLine
virtual TLine * DrawLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Draw this line with new coordinates.
Definition
TLine.cxx:103
TText
Base class for several text objects.
Definition
TText.h:22
TText::DrawText
virtual TText * DrawText(Double_t x, Double_t y, const char *text)
Draw this text with new coordinates.
Definition
TText.cxx:176
line
TLine * line
Definition
entrylistblock_figure1.C:235
y
Double_t y[n]
Definition
legend1.C:17
c1
return c1
Definition
legend1.C:41
n
const Int_t n
Definition
legend1.C:16
c2
return c2
Definition
legend2.C:14
c3
return c3
Definition
legend3.C:15
Author
Olivier Couet
Definition in file
pstable.C
.
tutorials
graphics
pstable.C
ROOT v6-32 - Reference Guide Generated on Sun Feb 16 2025 14:32:54 (GVA Time) using Doxygen 1.10.0