Spaces:
Sleeping
Sleeping
processmaker-community / processmaker-files /thirdparty /html2ps_pdf /postscript /box.checkbutton.ps
| /checkbutton-size 15 px def | |
| /box-checkbutton-create { | |
| box-generic-create | |
| dup box-checkbutton-setup-methods | |
| dup /checked false put | |
| checkbutton-size 1 index put-default-baseline | |
| checkbutton-size 1 index put-height | |
| checkbutton-size 1 index put-width | |
| dup /box-checkbutton add-type | |
| } def | |
| /box-checkbutton-get-max-width { % => Context Box | |
| dup get-full-width | |
| exch pop | |
| exch pop | |
| } def | |
| /box-checkbutton-get-min-width { % => Context Box | |
| dup get-full-width | |
| exch pop | |
| exch pop | |
| } def | |
| /box-checkbutton-put-checked { % => Value Box | |
| exch /checked exch put | |
| } def | |
| /box-checkbutton-reflow { % => Context Parent Box | |
| % Set default baseline | |
| dup get-default-baseline | |
| 1 index put-baseline | |
| % append to parent line box | |
| dup 2 index box-container-append-line | |
| % Determine coordinates of upper-left _margin_ corner | |
| 1 index 1 index box-generic-guess-corner | |
| % Offset parent current X coordinate | |
| 1 index get-current-x | |
| 1 index get-full-width | |
| add | |
| 2 index put-current-x | |
| % Extend parent height | |
| dup get-bottom-margin | |
| 2 index box-generic-extend-height | |
| pop pop pop | |
| } def | |
| /box-checkbutton-setup-methods { | |
| dup /Methods get | |
| dup /get-max-width {box-checkbutton-get-max-width} put | |
| dup /get-min-width {box-checkbutton-get-min-width} put | |
| dup /reflow {box-checkbutton-reflow} put | |
| dup /show {box-checkbutton-show} put | |
| pop pop | |
| } def | |
| /box-checkbutton-show { % => Viewport Box | |
| % Get check center | |
| dup get-left | |
| 1 index get-right add | |
| 2 div % => Viewport Box X | |
| 1 index get-top | |
| 2 index get-bottom add | |
| 2 div % => Viewport Box X Y | |
| % Calculate checkbox size | |
| 2 index /get-width call-method | |
| 3 div % => Viewport Box X Y Size | |
| % Draw checkbox | |
| 0.25 setlinewidth | |
| 2 index 1 index sub | |
| 2 index 2 index add moveto | |
| 2 index 1 index add | |
| 2 index 2 index add lineto | |
| 2 index 1 index add | |
| 2 index 2 index sub lineto | |
| 2 index 1 index sub | |
| 2 index 2 index sub lineto | |
| closepath | |
| stroke | |
| % Draw checkmark if needed | |
| 3 index /checked get { | |
| dup 2 div % => Viewport Box X Y Size CheckSize | |
| 3 index 1 index sub | |
| 3 index 2 index add moveto | |
| 3 index 1 index add | |
| 3 index 2 index sub lineto | |
| stroke | |
| 3 index 1 index add | |
| 3 index 2 index add moveto | |
| 3 index 1 index sub | |
| 3 index 2 index sub lineto | |
| stroke | |
| pop | |
| } if % => Viewport Box X Y Size | |
| pop pop pop | |
| pop pop | |
| } def |