Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v8plus / man / man3 / Tk_Grab.3
CommitLineData
920dae64
AT
1'\"
2'\" Copyright (c) 1998-2000 by Scriptics Corporation.
3'\" All rights reserved.
4'\"
5'\" RCS: @(#) $Id: Grab.3,v 1.1 2000/04/25 02:12:15 ericm Exp $
6'\"
7'\" The definitions below are for supplemental macros used in Tcl/Tk
8'\" manual entries.
9'\"
10'\" .AP type name in/out ?indent?
11'\" Start paragraph describing an argument to a library procedure.
12'\" type is type of argument (int, etc.), in/out is either "in", "out",
13'\" or "in/out" to describe whether procedure reads or modifies arg,
14'\" and indent is equivalent to second arg of .IP (shouldn't ever be
15'\" needed; use .AS below instead)
16'\"
17'\" .AS ?type? ?name?
18'\" Give maximum sizes of arguments for setting tab stops. Type and
19'\" name are examples of largest possible arguments that will be passed
20'\" to .AP later. If args are omitted, default tab stops are used.
21'\"
22'\" .BS
23'\" Start box enclosure. From here until next .BE, everything will be
24'\" enclosed in one large box.
25'\"
26'\" .BE
27'\" End of box enclosure.
28'\"
29'\" .CS
30'\" Begin code excerpt.
31'\"
32'\" .CE
33'\" End code excerpt.
34'\"
35'\" .VS ?version? ?br?
36'\" Begin vertical sidebar, for use in marking newly-changed parts
37'\" of man pages. The first argument is ignored and used for recording
38'\" the version when the .VS was added, so that the sidebars can be
39'\" found and removed when they reach a certain age. If another argument
40'\" is present, then a line break is forced before starting the sidebar.
41'\"
42'\" .VE
43'\" End of vertical sidebar.
44'\"
45'\" .DS
46'\" Begin an indented unfilled display.
47'\"
48'\" .DE
49'\" End of indented unfilled display.
50'\"
51'\" .SO
52'\" Start of list of standard options for a Tk widget. The
53'\" options follow on successive lines, in four columns separated
54'\" by tabs.
55'\"
56'\" .SE
57'\" End of list of standard options for a Tk widget.
58'\"
59'\" .OP cmdName dbName dbClass
60'\" Start of description of a specific option. cmdName gives the
61'\" option's name as specified in the class command, dbName gives
62'\" the option's name in the option database, and dbClass gives
63'\" the option's class in the option database.
64'\"
65'\" .UL arg1 arg2
66'\" Print arg1 underlined, then print arg2 normally.
67'\"
68'\" RCS: @(#) $Id: man.macros,v 1.4 2000/08/25 06:18:32 ericm Exp $
69'\"
70'\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
71.if t .wh -1.3i ^B
72.nr ^l \n(.l
73.ad b
74'\" # Start an argument description
75.de AP
76.ie !"\\$4"" .TP \\$4
77.el \{\
78. ie !"\\$2"" .TP \\n()Cu
79. el .TP 15
80.\}
81.ta \\n()Au \\n()Bu
82.ie !"\\$3"" \{\
83\&\\$1 \\fI\\$2\\fP (\\$3)
84.\".b
85.\}
86.el \{\
87.br
88.ie !"\\$2"" \{\
89\&\\$1 \\fI\\$2\\fP
90.\}
91.el \{\
92\&\\fI\\$1\\fP
93.\}
94.\}
95..
96'\" # define tabbing values for .AP
97.de AS
98.nr )A 10n
99.if !"\\$1"" .nr )A \\w'\\$1'u+3n
100.nr )B \\n()Au+15n
101.\"
102.if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
103.nr )C \\n()Bu+\\w'(in/out)'u+2n
104..
105.AS Tcl_Interp Tcl_CreateInterp in/out
106'\" # BS - start boxed text
107'\" # ^y = starting y location
108'\" # ^b = 1
109.de BS
110.br
111.mk ^y
112.nr ^b 1u
113.if n .nf
114.if n .ti 0
115.if n \l'\\n(.lu\(ul'
116.if n .fi
117..
118'\" # BE - end boxed text (draw box now)
119.de BE
120.nf
121.ti 0
122.mk ^t
123.ie n \l'\\n(^lu\(ul'
124.el \{\
125.\" Draw four-sided box normally, but don't draw top of
126.\" box if the box started on an earlier page.
127.ie !\\n(^b-1 \{\
128\h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
129.\}
130.el \}\
131\h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
132.\}
133.\}
134.fi
135.br
136.nr ^b 0
137..
138'\" # VS - start vertical sidebar
139'\" # ^Y = starting y location
140'\" # ^v = 1 (for troff; for nroff this doesn't matter)
141.de VS
142.if !"\\$2"" .br
143.mk ^Y
144.ie n 'mc \s12\(br\s0
145.el .nr ^v 1u
146..
147'\" # VE - end of vertical sidebar
148.de VE
149.ie n 'mc
150.el \{\
151.ev 2
152.nf
153.ti 0
154.mk ^t
155\h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
156.sp -1
157.fi
158.ev
159.\}
160.nr ^v 0
161..
162'\" # Special macro to handle page bottom: finish off current
163'\" # box/sidebar if in box/sidebar mode, then invoked standard
164'\" # page bottom macro.
165.de ^B
166.ev 2
167'ti 0
168'nf
169.mk ^t
170.if \\n(^b \{\
171.\" Draw three-sided box if this is the box's first page,
172.\" draw two sides but no top otherwise.
173.ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
174.el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
175.\}
176.if \\n(^v \{\
177.nr ^x \\n(^tu+1v-\\n(^Yu
178\kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
179.\}
180.bp
181'fi
182.ev
183.if \\n(^b \{\
184.mk ^y
185.nr ^b 2
186.\}
187.if \\n(^v \{\
188.mk ^Y
189.\}
190..
191'\" # DS - begin display
192.de DS
193.RS
194.nf
195.sp
196..
197'\" # DE - end display
198.de DE
199.fi
200.RE
201.sp
202..
203'\" # SO - start of list of standard options
204.de SO
205.SH "STANDARD OPTIONS"
206.LP
207.nf
208.ta 5.5c 11c
209.ft B
210..
211'\" # SE - end of list of standard options
212.de SE
213.fi
214.ft R
215.LP
216See the \\fBoptions\\fR manual entry for details on the standard options.
217..
218'\" # OP - start of full description for a single option
219.de OP
220.LP
221.nf
222.ta 4c
223Command-Line Name: \\fB\\$1\\fR
224Database Name: \\fB\\$2\\fR
225Database Class: \\fB\\$3\\fR
226.fi
227.IP
228..
229'\" # CS - begin code excerpt
230.de CS
231.RS
232.nf
233.ta .25i .5i .75i 1i
234..
235'\" # CE - end code excerpt
236.de CE
237.fi
238.RE
239..
240.de UL
241\\$1\l'|0\(ul'\\$2
242..
243.TH Tk_Grab 3 "" Tk "Tk Library Procedures"
244.BS
245.SH NAME
246Tk_Grab, Tk_Ungrab \- manipulate grab state in an application
247.SH SYNOPSIS
248.nf
249\fB#include <tk.h>\fR
250.sp
251int
252\fBTk_Grab\fR(\fIinterp, tkwin, grabGlobal\fR)
253.sp
254void
255\fBTk_Ungrab\fR(\fItkwin\fR)
256
257.SH ARGUMENTS
258.AP Tcl_Interp *interp in
259Interpreter to use for error reporting
260.AP Tk_Window tkwin in
261Window on whose behalf the pointer is to be grabbed or released
262.AP int grabGlobal in
263Boolean indicating whether the grab is global or application local
264.BE
265
266.SH DESCRIPTION
267.PP
268These functions are used to set or release a global or
269application local grab. When a grab is set on a particular window
270in a Tk application, mouse and keyboard events can only be received by
271that window and its descendants. Mouse and keyboard events for
272windows outside the tree rooted at \fItkwin\fR will be redirected to
273\fItkwin\fR. If the grab is global, then all mouse and keyboard
274events for windows outside the tree rooted at \fItkwin\fR (even those
275intended for windows in other applications) will be redirected to
276\fItkwin\fR. If the grab is application local, only mouse and
277keyboard events intended for a windows within the same application
278(but outside the tree rooted at \fItkwin\fR) will be redirected.
279
280.PP
281\fBTk_Grab\fR sets a grab on a particular window. \fITkwin\fR
282specifies the window on whose behalf the pointer is to be grabbed.
283\fIGrabGlobal\fR indicates whether the grab should be global or
284application local; if it is non-zero, it means the grab should be
285global. Normally, \fBTk_Grab\fR returns TCL_OK; if an error occurs
286and the grab cannot be set, TCL_ERROR is returned and an error message
287is left if \fIinterp\fR's result. Once this call completes
288successfully, no window outside the tree rooted at \fItkwin\fR will
289receive pointer- or keyboard-related events until the next call to
290Tk_Ungrab. If a previous grab was in effect within the application,
291then it is replaced with a new one.
292
293.PP
294\fBTcl_Ungrab\fR releases a grab on the mouse pointer and keyboard, if
295there is one set on the window given by \fItkwin\fR. Once a grab is
296released, pointer and keyboard events will start being delivered to
297other windows again.
298
299.SH KEYWORDS
300grab, window