content: module FudDraw(module F,module FudDraw) where
  import AllFudgets as F(
    Point(..),g,hFiller,
    fgD,blankD,vboxlD',hboxD,placedD,spacedD,boxD,labelD,stackD,
    paragraphP',ifSizeP,verticalP',spacersP,horizontalAlignP',
    idS,hMarginS,centerS,bottomS)
  
  ulinkD s = fgD "blue" $
             spacedD centerS $
             stackD [spacedD bottomS (g (hFiller 1)),s]
  
  ulineD' color s = spacedD centerS $
                    stackD [fgD color $ spacedD bottomS (g (hFiller 1)),s]
  
  hboxcaD = hboxcaD' sep
  hboxcaD' sep = placedD (horizontalAlignP' sep) . boxD
  
  wideOrTallD sep nds = placedD (wideOrTallP sep ns) (boxD ds)
    where (ns,ds) = unzip nds
  
  wideOrTallP sep ns = ifSizeP cmp wideP (tallP ns)
    where
      wideP = horizontalAlignP' sep
      tallP ns = verticalP' 0 `spacersP` map indentS ns
  
      cmp (Point w1 _) (Point w2 _) =
        w1<=maxwidth || w1-w2<150 && w2>9*w1 `div` 10
  
  
  --indentD n = fgD "grey85" (filledRectD (pP (sep*n) 5))
  indentD (0,d) = d
  indentD (n,d) = spacedD (indentS n) d
  
  indentS 0 = idS
  indentS n = hMarginS (sep*n) 0
  
  
  sep = 6 -- show be determined from the font
  maxwidth = 500
  