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/exene-win-sig.sml
ViewVC logotype

Annotation of /sml/trunk/src/eXene/lib/user/exene-win-sig.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 104 - (view) (download)

1 : monnier 104 (* exene-win.sml
2 :     *
3 :     * COPYRIGHT (c) 1990,1991 by John H. Reppy. See COPYRIGHT file for details.
4 :     *
5 :     * The types and operations provided by eXene to support windows and window
6 :     * environments.
7 :     *)
8 :    
9 :     signature EXENE_WIN =
10 :     sig
11 :    
12 :     structure G : GEOMETRY
13 :     structure EXB : EXENE_BASE
14 :     structure ICCC : ICCC
15 :     structure Interact : INTERACT
16 :    
17 :     type window
18 :    
19 :     (* user-level window attributes *)
20 :     datatype window_attr
21 :     = WA_Background_None
22 :     | WA_Background_ParentRelative
23 :     | WA_Background_Pixmap of EXB.pixmap
24 :     | WA_Background_Tile of EXB.tile
25 :     | WA_Background_Color of EXB.color
26 :     | WA_Border_CopyFromParent
27 :     | WA_Border_Pixmap of EXB.pixmap
28 :     | WA_Border_Tile of EXB.tile
29 :     | WA_Border_Color of EXB.color
30 :     | WA_BitGravity of EXB.gravity
31 :     | WA_WinGravity of EXB.gravity
32 :     | WA_Cursor_None
33 :     | WA_Cursor of EXB.cursor
34 :    
35 :     (* window stacking modes *)
36 :     datatype stack_mode = Above | Below | TopIf | BottomIf | Opposite
37 :    
38 :     (* window configuration values *)
39 :     datatype window_config
40 :     = WC_Origin of G.point
41 :     | WC_Size of G.size
42 :     | WC_BorderWid of int
43 :     | WC_StackMode of stack_mode
44 :     | WC_RelStackMode of (window * stack_mode)
45 :    
46 :    
47 :     (** window operations **)
48 :     exception BadWindowGeometry
49 :    
50 :     val createSimpleTopWin : EXB.screen -> {
51 :     geom : G.win_geom,
52 :     border : EXB.color,
53 :     backgrnd : EXB.color
54 :     } -> (window * Interact.in_env)
55 :     val createSimpleSubwin : window -> {
56 :     geom : G.win_geom,
57 :     border : EXB.color option,
58 :     backgrnd : EXB.color option
59 :     } -> window
60 :     val createTransientWin : EXB.window -> {
61 :     geom : G.win_geom,
62 :     border : EXB.color,
63 :     backgrnd : EXB.color
64 :     } -> (window * Interact.in_env)
65 :     val createSimplePopupWin : EXB.screen -> {
66 :     geom : G.win_geom,
67 :     border : EXB.color,
68 :     backgrnd : EXB.color
69 :     } -> (window * Interact.in_env)
70 :     val createInputOnlyWin : window -> G.rect -> window
71 :    
72 :     (* raise this exception on operations, such as drawing, that are illegal for
73 :     * InputOnly windows. *)
74 :     exception InputOnly
75 :    
76 :     (* set the properties of a top-level window *)
77 :     val setWMProperties : window -> {
78 :     win_name : string option,
79 :     icon_name : string option,
80 :     argv : string list,
81 :     size_hints : ICCC.size_hints list,
82 :     wm_hints : ICCC.wm_hints list,
83 :     class_hints : {res_class : string, res_name : string} option
84 :     } -> unit
85 :    
86 :     (* set the window-manager protocols for a window *)
87 :     val setWMProtocols : window -> EXB.atom list -> bool
88 :    
89 :     (* Various routines to reconfigure window layout *)
90 :     val configureWin : window -> window_config list -> unit
91 :     val moveWin : window -> G.point -> unit
92 :     val resizeWin : window -> G.size -> unit
93 :     val moveAndResizeWin : window -> G.rect -> unit
94 :    
95 :     (* map a point in the window's coordinate system to the screen's
96 :     * coordinate system *)
97 :     val winPtToScrPt : window -> G.point -> G.point
98 :    
99 :     val setCursor : window -> EXB.cursor option -> unit
100 :    
101 :     val setBackground : window -> EXB.color option -> unit
102 :     (* set the background color attribute of the window. Note that this does
103 :     * not have an immediate affect on the window's contents, but if it is done
104 :     * before the window is mapped, the window will come up with the right color.
105 :     *)
106 :    
107 :     val changeWinAttrs : window -> window_attr list -> unit
108 :     (* Set various window attributes *)
109 :    
110 :     val mapWin : window -> unit
111 :     val unmapWin : window -> unit
112 :     val withdrawWin : window -> unit
113 :     val destroyWin : window -> unit
114 :    
115 :     val screenOfWin : window -> EXB.screen
116 :     val displayOfWin : window -> EXB.display
117 :    
118 :     end (* EXENE_WIN *)

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