| 1 |
lars |
1 |
% $Header: /cvsroot/html2ps/postscript/flow.float.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $
|
|
|
2 |
|
|
|
3 |
/add-deferred-float { % => Parent Float
|
|
|
4 |
1 index get-box-dict
|
|
|
5 |
/Flow get
|
|
|
6 |
/DeferredFloats get % => Parent Float DefFList
|
|
|
7 |
% see comments on array-append/array-prepend
|
|
|
8 |
array-prepend % => Parent DefFList'
|
|
|
9 |
1 index get-box-dict
|
|
|
10 |
/Flow get % => Parent DefFList' FlowDict
|
|
|
11 |
/DeferredFloats 2 index put
|
|
|
12 |
pop pop
|
|
|
13 |
} def
|
|
|
14 |
|
|
|
15 |
% Find the maximal X at the given Y coordinate suitable for float placement
|
|
|
16 |
/float-right-x { % => Parent Float W X0
|
|
|
17 |
context-floats
|
|
|
18 |
1 index % => Parent Float W X0 Floats X0
|
|
|
19 |
5 index get-current-y % => Parent Float W X0 Floats X0 Y0
|
|
|
20 |
% The following line is a dirty hack; it is required, as due some rounding errors
|
|
|
21 |
% the right corner, lying on the right float box edge, is not treated by point-in-floats
|
|
|
22 |
% correctly
|
|
|
23 |
exch 0.0001 sub exch
|
|
|
24 |
|
|
|
25 |
point-in-floats dup false ne { % => Parent Float W X0 Float
|
|
|
26 |
get-left 1 sub % => Parent Float W X0 X1
|
|
|
27 |
exch pop % => Parent Float W X1
|
|
|
28 |
float-right-x % => X
|
|
|
29 |
} {
|
|
|
30 |
pop % => Parent Float W X0
|
|
|
31 |
exch pop % => Parent Float X0
|
|
|
32 |
exch pop % => Parent X
|
|
|
33 |
exch pop % => X
|
|
|
34 |
} ifelse % => X
|
|
|
35 |
} def
|
|
|
36 |
|