% $Header: /cvsroot/html2ps/postscript/flow.inline.block.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $ /flow-inline-block { % inline-block margins are never collapsed % While drawing, we need position of margin edge, not border edge. 1 index get-current-x 2 index get-current-y % => Parent Child X Y 2 index move-to-box % => Parent Child 2 copy inline-block-calc-width % we're now interested in last content y, not the bottom border of the containing % block, because, due the min-height, bottom border can contain lesser (lower on the page) % value than current y dup get-right 2 index put-current-x % determine the baseline of inline-block box { get-baseline max } 0 2 index get-content reduce % now we have text baseline counted from the padding edge; % add padding, margin and border size on the top size of inline-block box to % calculate its own baseline 1 index get-margin-top add 1 index get-padding-top add 1 index get-border-top-width add 1 index put-baseline dup get-vertical-align exec % do horizontal align % treat inline-block content as one long line box dup get-content { % => Parent Box ContentElement 1 index append-line } forall dup get-text-align 1 index exch exec % append current box to the parent's line box dup 2 index append-line dup get-full-height 2 index exch extend-height % => Parent pop % clear the stack pop pop } def