% $Header: /cvsroot/html2ps/postscript/flow.legend.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $
% Flow the LEGEND-generated box
/flow-legend { % => Parent Child
% calculate size of the legend
2 copy inline-block-calc-width
reflow % => Parent Child
% If legend is presend, FIELDSET margin is counted from the LEGEND top edge,
% not the actual border edge
% We need to offset the containing FIELDSET by the 1/2 of LEGEND height
dup get-full-height 2 div
2 index get-margin-top
add % => Parent Child NewTopPaddingValue
2 index get-margin
exch 0 exch put % => Parent Child NewPaddingArray
% If legend is present, FIELDSET padding is counted from the LEGEND bottom edge,
% not the actual border edge
dup get-full-height 2 div % => Parent Child (PaddingOffsetValue = H/2)
2 index get-padding-top
add % => Parent Child NewTopPaddingValue
2 index get-padding
exch 0 exch put % => Parent Child NewPaddingArray
% also, note that we'll need to modify current-y, as the flow is already in progress
1 index get-top-internal
2 index put-current-y
% determine the position of top-left legend box corner
% X-coordinate
1 index get-left-padded
% Y-coordinate
2 index get-top-padded % => Parent Child X Y
2 index
move-to-box-force % => Parent Child
% Do legend offset
dup % => Parent Child Child
dup get-full-height % => Parent Child Child H
2 div % => Parent Child Child H/2
dup
offset-box % => Parent Child
% clear the stack
pop pop % =>
} def