Your IP : 216.73.217.79


Current Path : /var/www/cesa.co.za/fpdf/postscript/
Upload File :
Current File : /var/www/cesa.co.za/fpdf/postscript/flow.inline.block.ps

% $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