37 lines
1.4 KiB
PostScript
37 lines
1.4 KiB
PostScript
% $Header: /cvsroot/html2ps/postscript/flow.float.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $
|
|
|
|
/add-deferred-float { % => Parent Float
|
|
1 index get-box-dict
|
|
/Flow get
|
|
/DeferredFloats get % => Parent Float DefFList
|
|
% see comments on array-append/array-prepend
|
|
array-prepend % => Parent DefFList'
|
|
1 index get-box-dict
|
|
/Flow get % => Parent DefFList' FlowDict
|
|
/DeferredFloats 2 index put
|
|
pop pop
|
|
} def
|
|
|
|
% Find the maximal X at the given Y coordinate suitable for float placement
|
|
/float-right-x { % => Parent Float W X0
|
|
context-floats
|
|
1 index % => Parent Float W X0 Floats X0
|
|
5 index get-current-y % => Parent Float W X0 Floats X0 Y0
|
|
% The following line is a dirty hack; it is required, as due some rounding errors
|
|
% the right corner, lying on the right float box edge, is not treated by point-in-floats
|
|
% correctly
|
|
exch 0.0001 sub exch
|
|
|
|
point-in-floats dup false ne { % => Parent Float W X0 Float
|
|
get-left 1 sub % => Parent Float W X0 X1
|
|
exch pop % => Parent Float W X1
|
|
float-right-x % => X
|
|
} {
|
|
pop % => Parent Float W X0
|
|
exch pop % => Parent Float X0
|
|
exch pop % => Parent X
|
|
exch pop % => X
|
|
} ifelse % => X
|
|
} def
|
|
|