This commit is contained in:
Siwat Sirichai 2023-09-30 15:42:44 +07:00
parent 3409ed8fb7
commit 9d96b2b5b3
1438 changed files with 117700 additions and 18 deletions

View file

@ -0,0 +1,271 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ClassName
%%Creator: Doxygen
%%CreationDate: Time
%%For:
%Magnification: 1.00
%%Orientation: Portrait
%%BoundingBox: 0 0 500 707.964602
%%Pages: 0
%%BeginSetup
%%EndSetup
%%EndComments
% ----- variables -----
/boxwidth 0 def
/boxheight 40 def
/fontheight 24 def
/marginwidth 10 def
/distx 20 def
/disty 40 def
/boundaspect 0.706250 def % aspect ratio of the BoundingBox (width/height)
/boundx 500 def
/boundy boundx boundaspect div def
/xspacing 0 def
/yspacing 0 def
/rows 16 def
/cols 4 def
/scalefactor 0 def
/boxfont /Times-Roman findfont fontheight scalefont def
% ----- procedures -----
/dotted { [1 4] 0 setdash } def
/dashed { [5] 0 setdash } def
/solid { [] 0 setdash } def
/max % result = MAX(arg1,arg2)
{
/a exch def
/b exch def
a b gt {a} {b} ifelse
} def
/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
{
0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
} def
/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
{
/str exch def
/boxwidth boxwidth str stringwidth pop max def
} def
/box % draws a box with text `arg1' at grid pos (arg2,arg3)
{ gsave
2 setlinewidth
newpath
exch xspacing mul xoffset add
exch yspacing mul
moveto
boxwidth 0 rlineto
0 boxheight rlineto
boxwidth neg 0 rlineto
0 boxheight neg rlineto
closepath
dup stringwidth pop neg boxwidth add 2 div
boxheight fontheight 2 div sub 2 div
rmoveto show stroke
grestore
} def
/mark
{ newpath
exch xspacing mul xoffset add boxwidth add
exch yspacing mul
moveto
0 boxheight 4 div rlineto
boxheight neg 4 div boxheight neg 4 div rlineto
closepath
eofill
stroke
} def
/arrow
{ newpath
moveto
3 -8 rlineto
-6 0 rlineto
3 8 rlineto
closepath
eofill
stroke
} def
/out % draws an output connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight add
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/in % draws an input connector for the block at (arg1,arg2)
{
newpath
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul disty 2 div sub
/y exch def
/x exch def
x y moveto
0 disty 2 div rlineto
stroke
1 eq { x y disty 2 div add arrow } if
} def
/hedge
{
exch xspacing mul xoffset add boxwidth 2 div add
exch yspacing mul boxheight 2 div sub
/y exch def
/x exch def
newpath
x y moveto
boxwidth 2 div distx add 0 rlineto
stroke
1 eq
{ newpath x boxwidth 2 div distx add add y moveto
-8 3 rlineto
0 -6 rlineto
8 3 rlineto
closepath
eofill
stroke
} if
} def
/vedge
{
/ye exch def
/ys exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add dup
ys yspacing mul boxheight 2 div sub
moveto
ye yspacing mul boxheight 2 div sub
lineto
stroke
} def
/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
{
/ys exch def
/xe exch def
/xs exch def
newpath
xs xspacing mul xoffset add boxwidth 2 div add
ys yspacing mul disty 2 div sub
moveto
xspacing xe xs sub mul 0
rlineto
stroke
} def
% ----- main ------
boxfont setfont
1 boundaspect scale
(NexObject) cw
(NexGauge) cw
(NexProgressBar) cw
(NexTouch) cw
(NexWaveform) cw
(NexButton) cw
(NexCheckbox) cw
(NexCrop) cw
(NexDSButton) cw
(NexHotspot) cw
(NexNumber) cw
(NexPage) cw
(NexPicture) cw
(NexRadio) cw
(NexScrolltext) cw
(NexSlider) cw
(NexText) cw
(NexTimer) cw
(NexVariable) cw
/boxwidth boxwidth marginwidth 2 mul add def
/xspacing boxwidth distx add def
/yspacing boxheight disty add def
/scalefactor
boxwidth cols mul distx cols 1 sub mul add
boxheight rows mul disty rows 1 sub mul add boundaspect mul
max def
boundx scalefactor div boundy scalefactor div scale
% ----- classes -----
(NexObject) 1.500000 15.000000 box
(NexGauge) 0.000000 14.000000 box
(NexProgressBar) 1.000000 14.000000 box
(NexTouch) 2.000000 14.000000 box
(NexWaveform) 3.000000 14.000000 box
(NexButton) 3.000000 13.000000 box
(NexCheckbox) 3.000000 12.000000 box
(NexCrop) 3.000000 11.000000 box
(NexDSButton) 3.000000 10.000000 box
(NexHotspot) 3.000000 9.000000 box
(NexNumber) 3.000000 8.000000 box
(NexPage) 3.000000 7.000000 box
(NexPicture) 3.000000 6.000000 box
(NexRadio) 3.000000 5.000000 box
(NexScrolltext) 3.000000 4.000000 box
(NexSlider) 3.000000 3.000000 box
(NexText) 3.000000 2.000000 box
(NexTimer) 3.000000 1.000000 box
(NexVariable) 3.000000 0.000000 box
% ----- relations -----
solid
1 1.500000 14.250000 out
solid
0.000000 3.000000 15.000000 conn
solid
0 0.000000 14.750000 in
solid
0 1.000000 14.750000 in
solid
0 2.000000 14.750000 in
solid
1 2.000000 13.250000 out
solid
0 3.000000 14.750000 in
solid
0 2.000000 13.500000 hedge
solid
0 2.000000 12.500000 hedge
solid
0 2.000000 11.500000 hedge
solid
0 2.000000 10.500000 hedge
solid
0 2.000000 9.500000 hedge
solid
0 2.000000 8.500000 hedge
solid
0 2.000000 7.500000 hedge
solid
0 2.000000 6.500000 hedge
solid
0 2.000000 5.500000 hedge
solid
0 2.000000 4.500000 hedge
solid
0 2.000000 3.500000 hedge
solid
0 2.000000 2.500000 hedge
solid
0 2.000000 1.500000 hedge
solid
0 2.000000 0.500000 hedge
solid
2.000000 14.000000 0.500000 vedge