Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/branches/SMLNJ/src/eXene/lib/user/font-sig.sml
ViewVC logotype

Annotation of /sml/branches/SMLNJ/src/eXene/lib/user/font-sig.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 105 - (view) (download)

1 : monnier 104 (* font.sml
2 :     *
3 :     * COPYRIGHT (c) 1990,1991 by John H. Reppy. See COPYRIGHT file for details.
4 :     *
5 :     * These are the font related types and operations supported by eXene (except
6 :     * for text drawing).
7 :     *)
8 :    
9 :     signature FONT =
10 :     sig
11 :    
12 :     structure EXB : EXENE_BASE
13 :    
14 :     type font
15 :    
16 :     (* font drawing direction *)
17 :     datatype font_draw_dir = FontLeftToRight | FontRightToLeft
18 :    
19 :     (* font properties *)
20 :     datatype font_prop = FontProp of {
21 :     name : EXB.atom, (* the name of the property *)
22 :     value : Word32.word (* the property value: interpret according to the *)
23 :     (* property. *)
24 :     }
25 :    
26 :     (* per-character font info *)
27 :     datatype char_info = CharInfo of {
28 :     left_bearing : int,
29 :     right_bearing : int,
30 :     char_wid : int,
31 :     ascent : int,
32 :     descent : int,
33 :     attributes : word
34 :     }
35 :    
36 :     exception FontNotFound
37 :     exception NoCharInfo
38 :     exception FontPropNotFound
39 :    
40 :     val openFont : EXB.display -> string -> font
41 :    
42 :     val fontPropertyOf : font -> EXB.atom -> Word32.word
43 :     val fontInfoOf : font -> {
44 :     min_bounds : char_info,
45 :     max_bounds : char_info,
46 :     min_char : int,
47 :     max_char : int
48 :     }
49 :     val charInfoOf : font -> int -> char_info
50 :     val textWidth : font -> string -> int
51 :     val charWidth : font -> char -> int
52 :     val substrWidth : font -> (string * int * int) -> int
53 :     val charPositions : font -> string -> int list
54 :     val textExtents : font -> string -> {
55 :     dir : font_draw_dir,
56 :     font_ascent : int, font_descent : int,
57 :     overall_info : char_info
58 :     }
59 :     val fontHt : font -> {ascent : int, descent : int}
60 :    
61 :     end (* FONT *)

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0