% $Header: /cvsroot/html2ps/postscript/flow.box.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ /flow-box { % => Child Parent exch % => Parent Child % in case we're working with floated box, % set 'display' property to 'block' value (FIXME: make this more compatible with CSS spec. 9.7) dup get-box-dict /Float get /none ne { % if line box already have content, the flow this float _after_ the line box % otherwise flow it immediately. 1 index get-line length 0 gt { 1 index exch add-deferred-float pop } { flow-float % => Parent % Fix parent's current-x value % in case this float had 'float: left' style first inline box should be shifted to the right offset-x-floats % => } ifelse } { dup get-flow-fun exec } ifelse } def /apply-clear { % => Box Y 1 index get-box-dict /Clear get dup /left eq exch /both eq or { { dup get-box-dict /Float get /left eq { get-bottom min } { pop } ifelse } 1 index context-floats reduce % => Parent Child DY FY1 min } if 1 index get-box-dict /Clear get dup /right eq exch /both eq or { { dup get-box-dict /Float get /right eq { get-bottom min } { pop } ifelse } 1 index context-floats reduce % => Parent Child DY FY1 min } if } def