1signature MAKE_LINE  =
2sig
3  val makeOver:  BasicTypes.style -> BoxTypes.box -> BoxTypes.box
4  val makeUnder: BasicTypes.style -> BoxTypes.box -> BoxTypes.box
5end  (* signature MAKE_LINE *)
6(*----------*)
7
8structure MakeLine: MAKE_LINE  =
9struct
10  open BasicTypes;  open BoxTypes
11  open StyleParams;  open BasicBox;  open MakeVBox
12
13  fun lineDist st  =  3 * RuleThickness st
14  fun linePad  st  =      RuleThickness st
15
16  fun makeLine constrVBox st box  =
17  let val w  =  #width (box: box)
18      val line  =  rule (RuleThickness st) w
19  in  constrVBox w box [Kern (lineDist st),  line,  Kern (linePad st)]  end
20
21  val makeOver   =  makeLine upVBox
22  val makeUnder  =  makeLine dnVBox
23end  (* structure MakeLine *)
24