dup
0.0 gt {
setlinewidth % w h x y
- 0 setlinecap
- 1 setlinejoin
-
rmoveto % w h
- currentpoint % w h x1 y1
- 4 2 roll % x1 y1 w h
- 4 copy
- rectfill
- rectstroke
+ 2 copy 0 ne exch 0 ne and
+ {
+ 0 setlinecap
+ 1 setlinejoin
+ currentpoint % w h x1 y1
+ 4 2 roll % x1 y1 w h
+ 4 copy
+ rectfill
+ rectstroke
+ } {
+ 1 setlinecap
+ rlineto stroke
+ } ifelse
} {
pop % w h x y
rmoveto % w h
} ifelse
} bind def
-/draw_repeat_slash % x-width width height draw_repeat_slash
-{
- 2 index % duplicate x-width
- 1 setlinecap
- 1 setlinejoin
-
- 0 rlineto % x-width 0
- rlineto % width height
- neg 0 rlineto % -x-width 0
- closepath fill
-} bind def
-
/draw_circle % filled? radius thickness draw_circle
{
setlinewidth % f? r