summaryrefslogtreecommitdiff
path: root/man/XtAppNextEvent.man
diff options
context:
space:
mode:
authorKaleb Keithley <kaleb@freedesktop.org>2003-11-14 15:54:39 +0000
committerKaleb Keithley <kaleb@freedesktop.org>2003-11-14 15:54:39 +0000
commit0117b0b441d8835a11a2886f3c8aed937dcffa9d (patch)
treef4acfebbb67f382f645fb876acb0278891a6a91a /man/XtAppNextEvent.man
R6.6 is the Xorg base-lineXORG-MAIN
Diffstat (limited to 'man/XtAppNextEvent.man')
-rw-r--r--man/XtAppNextEvent.man290
1 files changed, 290 insertions, 0 deletions
diff --git a/man/XtAppNextEvent.man b/man/XtAppNextEvent.man
new file mode 100644
index 0000000..cc0d167
--- /dev/null
+++ b/man/XtAppNextEvent.man
@@ -0,0 +1,290 @@
+.\" $Xorg: XtAppNEv.man,v 1.4 2001/03/16 17:53:51 pookie Exp $
+.\"
+.\" Copyright 1993 X Consortium
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining
+.\" a copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, sublicense, and/or sell copies of the Software, and to
+.\" permit persons to whom the Software is furnished to do so, subject to
+.\" the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be
+.\" included in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the X Consortium shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from the X Consortium.
+.ds tk X Toolkit
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xI Intrinsics
+.ds xW X Toolkit Athena Widgets \- C Language Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.ds Rn 3
+.ds Vn 2.2
+.hw XtApp-Next-Event XtApp-Pending XtApp-Peek-Event XtApp-Process-Event Xt-Dispatch-Event XtApp-Main-Loop wid-get
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XtAppNextEvent 3Xt "Release 6.6" "X Version 11" "XT FUNCTIONS"
+.SH NAME
+XtAppNextEvent, XtAppPending, XtAppPeekEvent, XtAppProcessEvent, XtDispatchEvent, XtAppMainLoop \- query and process events and input
+.SH SYNTAX
+void XtAppNextEvent(\fIapp_context\fP, \fIevent_return\fP)
+.br
+ XtAppContext \fIapp_context\fP;
+.br
+ XEvent *\fIevent_return\fP;
+.LP
+Boolean XtAppPeekEvent(\fIapp_context\fP, \fIevent_return\fP)
+.br
+ XtAppContext \fIapp_context\fP;
+.br
+ XEvent *\fIevent_return\fP;
+.LP
+XtInputMask XtAppPending(\fIapp_context\fP)
+.br
+ XtAppContext \fIapp_context\fP;
+.LP
+void XtAppProcessEvent(\fIapp_context\fP, \fImask\fP)
+.br
+ XtAppContext \fIapp_context\fP;
+.br
+ XtInputMask \fImask\fP;
+.LP
+Boolean XtDispatchEvent(\fIevent\fP)
+.br
+ XEvent *\fIevent\fP;
+.LP
+void XtAppMainLoop(\fIapp_context\fP)
+.br
+ XtAppContext \fIapp_context\fP;
+.SH ARGUMENTS
+.ds Co that identifies the application
+.IP \fIapp_context\fP 1i
+Specifies the application context \*(Co.
+.IP \fIevent\fP 1i
+Specifies a pointer to the event structure that is to be dispatched
+to the appropriate event handler.
+.IP \fIevent_return\fP 1i
+Returns the event information to the specified event structure.
+.IP \fImask\fP 1i
+Specifies what types of events to process.
+The mask is the bitwise inclusive OR of any combination of
+.ZN XtIMXEvent ,
+.ZN XtIMTimer ,
+.ZN XtIMAlternateInput ,
+and
+.ZN XtIMSignal .
+As a convenience, the \*(tk defines the symbolic name
+.ZN XtIMAll
+to be the bitwise inclusive OR of all event types.
+.SH DESCRIPTION
+If the X event queue is empty,
+.ZN XtAppNextEvent
+flushes the X output buffers of each Display in the application context
+and waits for an event while looking at the other input sources, timeout
+timeout values, and signal handlers and calling any callback procedures
+triggered by them. This wait time can be used for background processing
+(see Section 7.8).
+.LP
+If there is an event in the queue,
+.ZN XtAppPeekEvent
+fills in the event and returns a nonzero value. If no X input is on the
+queue,
+.ZN XtAppPeekEvent
+flushes the output buffer and blocks until input is available
+(possibly calling some timeout callbacks in the process).
+If the input is an event,
+.ZN XtAppPeekEvent
+fills in the event and returns a nonzero value.
+Otherwise, the input is for an alternate input source, and
+.ZN XtAppPeekEvent
+returns zero.
+.LP
+The
+.ZN XtAppPending
+function returns a nonzero value if there are events pending from the
+X server, timer pending, or other input sources pending. The value
+returned is a bit mask that is the OR of
+.ZN XtIMXEvent ,
+.ZN XtIMTimer ,
+.ZN XtIMAlternateInput ,
+and
+.ZN XtIMSignal
+(see
+.ZN XtAppProcessEvent ).
+If there are no events pending,
+.ZN XtAppPending
+flushes the output buffer and returns zero.
+.LP
+The
+.ZN XtAppProcessEvent
+function processes one timer, alternate input, signal source, or X
+event. If there is nothing of the appropriate type to process,
+.ZN XtAppProcessEvent
+blocks until there is.
+If there is more than one type of thing available to process,
+it is undefined which will get processed.
+Usually, this procedure is not called by client applications (see
+.ZN XtAppMainLoop ).
+.ZN XtAppProcessEvent
+processes timer events by calling any appropriate timer callbacks,
+alternate input by calling any appropriate alternate input callbacks,
+signal source by calling any appropriate signal callbacks, and X events
+by calling
+.ZN XtDispatchEvent .
+.LP
+When an X event is received, it is passed to
+.ZN XtDispatchEvent ,
+which calls the appropriate event handlers
+and passes them the widget, the event, and client-specific data
+registered with each procedure.
+If there are no handlers for that event registered,
+the event is ignored and the dispatcher simply returns.
+The order in which the handlers are called is undefined.
+.LP
+The
+.ZN XtDispatchEvent
+function sends those events to the event handler functions that
+have been previously registered with the dispatch routine.
+.ZN XtDispatchEvent
+returns
+.ZN True
+if it dispatched the event to some handler and
+.ZN False
+if it found no handler to dispatch the event to.
+The most common use of
+.ZN XtDispatchEvent
+is to dispatch events acquired with the
+.ZN XtAppNextEvent
+procedure.
+However, it also can be used to dispatch user-constructed events.
+.ZN XtDispatchEvent
+also is responsible for implementing the grab semantics for
+.ZN XtAddGrab .
+.LP
+The
+.ZN XtAppMainLoop
+function first reads the next incoming X event by calling
+.ZN XtAppNextEvent
+and then it dispatches the event to the appropriate registered procedure
+by calling
+.ZN XtDispatchEvent .
+This constitutes the main loop of \*(tk applications,
+and, as such, it does not return.
+Applications are expected to exit in response to some user action.
+There is nothing special about
+.ZN XtAppMainLoop ;
+it is simply an infinite loop that calls
+.ZN XtAppNextEvent
+and then
+.ZN XtDispatchEvent .
+.LP
+Applications can provide their own version of this loop,
+which tests some global termination flag or tests that the number
+of top-level widgets is larger than zero before circling back to the call to
+.ZN XtAppNextEvent .
+.SH "SEE ALSO"
+.br
+\fI\*(xT\fP
+.br
+\fI\*(xL\fP