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/trunk/src/eXene/lib/user/abstract.sml
ViewVC logotype

Annotation of /sml/trunk/src/eXene/lib/user/abstract.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (view) (download)

1 : monnier 2 (* abstract.sml
2 :     *
3 :     * COPYRIGHT (c) 1990,1991 by John H. Reppy. See COPYRIGHT file for details.
4 :     *
5 :     * make the eXene interface abstract.
6 :     *)
7 :    
8 :     structure EXene :> sig
9 :    
10 :     structure Geometry : GEOMETRY
11 :     structure EXeneBase : EXENE_BASE
12 :     structure Font : FONT
13 :     structure Drawing : DRAWING
14 :     structure ICCC : ICCC
15 :     structure Interact : INTERACT
16 :     structure EXeneWin : EXENE_WIN
17 :     structure StdCursor : STD_CURSOR
18 :    
19 :     sharing Geometry = EXeneBase.G = Drawing.G = ICCC.G = Interact.G = EXeneWin.G
20 :     sharing EXeneBase = Font.EXB = Drawing.EXB = ICCC.EXB = Interact.EXB
21 :     = EXeneWin.EXB = StdCursor.EXB
22 :     sharing ICCC = EXeneWin.ICCC
23 :     sharing Interact = EXeneWin.Interact
24 :    
25 :     sharing type Font.font = EXeneBase.font
26 :     sharing type EXeneWin.window = Drawing.window = EXeneBase.window
27 :     sharing type Drawing.pixmap = EXeneBase.pixmap
28 :     sharing type Drawing.tile = EXeneBase.tile
29 :     sharing type Drawing.font = EXeneBase.font
30 :     sharing type Drawing.color = EXeneBase.color
31 :     sharing type ICCC.atom = EXeneBase.atom
32 :    
33 :     end = struct
34 :    
35 :     structure Geometry : GEOMETRY = Geometry
36 :    
37 :     structure EXeneBase : EXENE_BASE =
38 :     struct
39 :     structure G = Geometry
40 :    
41 :     structure XTime = XTime
42 :    
43 :     open EXeneVersion
44 :    
45 :     exception BadAddr = XDisplay.BadAddr
46 :    
47 :     open XProtTypes DrawTypes FontBase Display Cursor ColorServer Pixmap Image Tile
48 :     open HashWindow
49 :    
50 :     local fun copyRGB (RGB rgb) = CMS_RGB rgb in
51 :     val white = copyRGB whiteRGB
52 :     val black = copyRGB blackRGB
53 :     end
54 :    
55 :     end
56 :    
57 :     structure Font : FONT =
58 :     struct
59 :     structure EXB = EXeneBase
60 :     open XProtTypes FontBase FontServer Display
61 :     end
62 :    
63 :     structure Drawing : DRAWING =
64 :     struct
65 :     structure G = Geometry
66 :     structure EXB = EXeneBase
67 :     open XProtTypes FontBase ColorServer DrawTypes PenRep Pen Draw
68 :     end
69 :    
70 :     structure ICCC : ICCC =
71 :     struct
72 :     structure G = Geometry
73 :     structure EXB = EXeneBase
74 :     open Property StdAtoms XProps
75 :    
76 :     val internAtom = XAtoms.internAtom
77 :     val lookupAtom = XAtoms.lookupAtom
78 :     val nameOfAtom = XAtoms.nameOfAtom
79 :    
80 :     type selection_handle = Selection.selection_handle
81 :     val acquireSelection = Selection.acquireSelection
82 :     val selectionOf = Selection.selectionOf
83 :     val timeOf = Selection.timeOf
84 :     val selectionReqEvt = Selection.selectionReqEvt
85 :     val selectionRelEvt = Selection.selectionRelEvt
86 :     val releaseSelection = Selection.releaseSelection
87 :     val requestSelection = Selection.requestSelection
88 :     end
89 :    
90 :     structure Interact : INTERACT =
91 :     struct
92 :     structure G = Geometry
93 :     structure EXB = EXeneBase
94 :     open KeyBut XProtTypes WindowEnv KeysymTranslation
95 :     end
96 :    
97 :     structure EXeneWin : EXENE_WIN =
98 :     struct
99 :     structure G = Geometry
100 :     structure EXB = EXeneBase
101 :     structure ICCC = ICCC
102 :     structure Interact = Interact
103 :     open XProtTypes XProps Window HashWindow
104 :     end
105 :    
106 :     structure StdCursor : STD_CURSOR =
107 :     struct
108 :     structure EXB = EXeneBase
109 :     open Cursor
110 :     end
111 :    
112 :     end; (* abstraction EXene *)

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