Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
pstable.C File Reference

Detailed Description

View in nbviewer Open in SWAN
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"};
Int_t w = 650;
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;
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 {
}
sprintf(text,"%s",symbol[i]);
sprintf(text,"`%s",symbol[i]);
sprintf(text,"'%s",symbol[i]);
sprintf(text,"~%s",symbol[i]);
y -= dy;
}
}
#define h(i)
Definition RSha256.hxx:106
bool Bool_t
Definition RtypesCore.h:63
int Int_t
Definition RtypesCore.h:45
float Float_t
Definition RtypesCore.h:57
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
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
The Canvas class.
Definition TCanvas.h:23
Use the TLine constructor to create a simple line.
Definition TLine.h:22
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
Base class for several text objects.
Definition TText.h:22
virtual TText * DrawText(Double_t x, Double_t y, const char *text)
Draw this text with new coordinates.
Definition TText.cxx:176
TLine * line
Double_t y[n]
Definition legend1.C:17
return c1
Definition legend1.C:41
const Int_t n
Definition legend1.C:16
return c2
Definition legend2.C:14
return c3
Definition legend3.C:15
Author
Olivier Couet

Definition in file pstable.C.