From 87027d4d788c04d3f721b27eb718207bbf30f61c Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 28 Mar 2011 15:43:50 +0000 Subject: Synchronised files --- X11/InitialI.h | 863 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 430 insertions(+), 433 deletions(-) (limited to 'X11/InitialI.h') diff --git a/X11/InitialI.h b/X11/InitialI.h index 2ae9b743c..66a4041df 100644 --- a/X11/InitialI.h +++ b/X11/InitialI.h @@ -1,433 +1,430 @@ -/* $Xorg: InitialI.h,v 1.4 2001/02/09 02:03:55 xorgcvs Exp $ */ - -/*********************************************************** - -Copyright 1987, 1988, 1994, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -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 -OPEN GROUP 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 Open Group 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 Open Group. - - -Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Digital not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - -******************************************************************/ -/* $XFree86: xc/lib/Xt/InitialI.h,v 3.10 2001/12/14 19:56:18 dawes Exp $ */ - -#ifndef _XtinitialI_h -#define _XtinitialI_h - -/**************************************************************** - * - * Displays - * - ****************************************************************/ - -#ifndef X_NOT_POSIX -#ifdef _POSIX_SOURCE -#include -#else -#define _POSIX_SOURCE -#include -#undef _POSIX_SOURCE -#endif -#endif -#ifndef PATH_MAX -#ifdef WIN32 -#define PATH_MAX 512 -#else -#include -#endif -#ifndef PATH_MAX -#ifdef MAXPATHLEN -#define PATH_MAX MAXPATHLEN -#else -#define PATH_MAX 1024 -#endif -#endif -#endif - -#include -#include - -_XFUNCPROTOBEGIN - -typedef struct _TimerEventRec { - struct timeval te_timer_value; - struct _TimerEventRec *te_next; - XtTimerCallbackProc te_proc; - XtAppContext app; - XtPointer te_closure; -} TimerEventRec; - -typedef struct _InputEvent { - XtInputCallbackProc ie_proc; - XtPointer ie_closure; - struct _InputEvent *ie_next; - struct _InputEvent *ie_oq; - XtAppContext app; - int ie_source; - XtInputMask ie_condition; -} InputEvent; - -typedef struct _SignalEventRec { - XtSignalCallbackProc se_proc; - XtPointer se_closure; - struct _SignalEventRec *se_next; - XtAppContext app; - Boolean se_notice; -} SignalEventRec; - -typedef struct _WorkProcRec { - XtWorkProc proc; - XtPointer closure; - struct _WorkProcRec *next; - XtAppContext app; -} WorkProcRec; - - -typedef struct -{ -#ifndef USE_POLL - fd_set rmask; - fd_set wmask; - fd_set emask; -#endif - int nfds; -} FdStruct; - -typedef struct _LangProcRec { - XtLanguageProc proc; - XtPointer closure; -} LangProcRec; - -typedef struct _ProcessContextRec { - XtAppContext defaultAppContext; - XtAppContext appContextList; - ConverterTable globalConverterTable; - LangProcRec globalLangProcRec; -} ProcessContextRec, *ProcessContext; - -typedef struct { - char* start; - char* current; - int bytes_remaining; -} Heap; - -typedef struct _DestroyRec DestroyRec; - - -typedef struct _XtAppStruct { - XtAppContext next; /* link to next app in process context */ - ProcessContext process; /* back pointer to our process context */ - InternalCallbackList destroy_callbacks; - Display **list; - TimerEventRec *timerQueue; - WorkProcRec *workQueue; - InputEvent **input_list; - InputEvent *outstandingQueue; - SignalEventRec *signalQueue; - XrmDatabase errorDB; - XtErrorMsgHandler errorMsgHandler, warningMsgHandler; - XtErrorHandler errorHandler, warningHandler; - struct _ActionListRec *action_table; - ConverterTable converterTable; - unsigned long selectionTimeout; - FdStruct fds; - short count; /* num of assigned entries in list */ - short max; /* allocate size of list */ - short last; - short input_count; - short input_max; /* elts input_list init'd with */ - Boolean sync, being_destroyed, error_inited; -#ifndef NO_IDENTIFY_WINDOWS - Boolean identify_windows; /* debugging hack */ -#endif - Heap heap; - String * fallback_resources; /* Set by XtAppSetFallbackResources. */ - struct _ActionHookRec* action_hook_list; - struct _BlockHookRec* block_hook_list; - int destroy_list_size; /* state data for 2-phase destroy */ - int destroy_count; - int dispatch_level; - DestroyRec* destroy_list; - Widget in_phase2_destroy; - LangProcRec langProcRec; - struct _TMBindCacheRec * free_bindings; - String display_name_tried; - Display **dpy_destroy_list; - int dpy_destroy_count; - Boolean exit_flag; - Boolean rebuild_fdlist; -#ifdef XTHREADS - LockPtr lock_info; - ThreadAppProc lock; - ThreadAppProc unlock; - ThreadAppYieldLockProc yield_lock; - ThreadAppRestoreLockProc restore_lock; - ThreadAppProc free_lock; -#endif -} XtAppStruct; - -extern void _XtHeapInit(Heap* heap); -extern void _XtHeapFree(Heap* heap); - -#ifdef XTTRACEMEMORY - - -extern char *_XtHeapMalloc( - Heap* /* heap */, - Cardinal /* size */, - char * /* file */, - int /* line */ -); - -#define _XtHeapAlloc(heap,bytes) _XtHeapMalloc(heap, bytes, __FILE__, __LINE__) - -#else /* XTTRACEMEMORY */ - -extern char* _XtHeapAlloc( - Heap* /* heap */, - Cardinal /* size */ -); - -#endif /* XTTRACEMEMORY */ - -extern void _XtSetDefaultErrorHandlers( - XtErrorMsgHandler* /* errMsg */, - XtErrorMsgHandler* /* warnMsg */, - XtErrorHandler* /* err */, - XtErrorHandler* /* warn */ -); - -extern void _XtSetDefaultSelectionTimeout( - unsigned long* /* timeout */ -); - -extern XtAppContext _XtDefaultAppContext( - void -); - -extern ProcessContext _XtGetProcessContext( - void -); - -Display * -_XtAppInit( - XtAppContext* /* app_context_return */, - String /* application_class */, - XrmOptionDescRec* /* options */, - Cardinal /* num_options */, - int* /* argc_in_out */, - String** /* argv_in_out */, - String* /* fallback_resources */ -); - -extern void _XtDestroyAppContexts( - void -); - -extern void _XtCloseDisplays( - XtAppContext /* app */ -); - -extern int _XtAppDestroyCount; - -extern int _XtWaitForSomething( - XtAppContext /* app */, - _XtBoolean /* ignoreEvents */, - _XtBoolean /* ignoreTimers */, - _XtBoolean /* ignoreInputs */, - _XtBoolean /* ignoreSignals */, - _XtBoolean /* block */, -#ifdef XTHREADS - _XtBoolean /* drop_lock */, -#endif - unsigned long* /* howlong */ -); - -typedef struct _CaseConverterRec *CaseConverterPtr; -typedef struct _CaseConverterRec { - KeySym start; /* first KeySym valid in converter */ - KeySym stop; /* last KeySym valid in converter */ - XtCaseProc proc; /* case converter function */ - CaseConverterPtr next; /* next converter record */ -} CaseConverterRec; - -typedef struct _ExtensionSelectorRec { - XtExtensionSelectProc proc; - int min, max; - XtPointer client_data; -} ExtSelectRec; - -typedef struct _XtPerDisplayStruct { - InternalCallbackList destroy_callbacks; - Region region; - CaseConverterPtr case_cvt; /* user-registered case converters */ - XtKeyProc defaultKeycodeTranslator; - XtAppContext appContext; - unsigned long keysyms_serial; /* for tracking MappingNotify events */ - KeySym *keysyms; /* keycode to keysym table */ - int keysyms_per_keycode; /* number of keysyms for each keycode*/ - int min_keycode, max_keycode; /* range of keycodes */ - KeySym *modKeysyms; /* keysym values for modToKeysysm */ - ModToKeysymTable *modsToKeysyms; /* modifiers to Keysysms index table*/ - unsigned char isModifier[32]; /* key-is-modifier-p bit table */ - KeySym lock_meaning; /* Lock modifier meaning */ - Modifiers mode_switch; /* keyboard group modifiers */ - Modifiers num_lock; /* keyboard numlock modifiers */ - Boolean being_destroyed; - Boolean rv; /* reverse_video resource */ - XrmName name; /* resolved app name */ - XrmClass class; /* application class */ - Heap heap; - struct _GCrec *GClist; /* support for XtGetGC */ - Drawable **pixmap_tab; /* ditto for XtGetGC */ - String language; /* XPG language string */ - XEvent last_event; /* last event dispatched */ - Time last_timestamp; /* from last event dispatched */ - int multi_click_time; /* for XtSetMultiClickTime */ - struct _TMKeyContextRec* tm_context; /* for XtGetActionKeysym */ - InternalCallbackList mapping_callbacks; /* special case for TM */ - XtPerDisplayInputRec pdi; /* state for modal grabs & kbd focus */ - struct _WWTable *WWtable; /* window to widget table */ - XrmDatabase *per_screen_db; /* per screen resource databases */ - XrmDatabase cmd_db; /* db from command line, if needed */ - XrmDatabase server_db; /* resource property else .Xdefaults */ - XtEventDispatchProc* dispatcher_list; - ExtSelectRec* ext_select_list; - int ext_select_count; - Widget hook_object; -#ifndef X_NO_RESOURCE_CONFIGURATION_MANAGEMENT - Atom rcm_init; /* ResConfig - initialize */ - Atom rcm_data; /* ResConfig - data atom */ -#endif -} XtPerDisplayStruct, *XtPerDisplay; - -typedef struct _PerDisplayTable { - Display *dpy; - XtPerDisplayStruct perDpy; - struct _PerDisplayTable *next; -} PerDisplayTable, *PerDisplayTablePtr; - -extern PerDisplayTablePtr _XtperDisplayList; - -extern XtPerDisplay _XtSortPerDisplayList( - Display* /* dpy */ -); - -extern XtPerDisplay _XtGetPerDisplay( - Display* /* dpy */ -); - -extern XtPerDisplayInputRec* _XtGetPerDisplayInput( - Display* /* dpy */ -); - -#if 0 -#ifdef DEBUG -#define _XtGetPerDisplay(display) \ - ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \ - ? &_XtperDisplayList->perDpy \ - : _XtSortPerDisplayList(display)) -#define _XtGetPerDisplayInput(display) \ - ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \ - ? &_XtperDisplayList->perDpy.pdi \ - : &_XtSortPerDisplayList(display)->pdi) -#else -#define _XtGetPerDisplay(display) \ - ((_XtperDisplayList->dpy == (display)) \ - ? &_XtperDisplayList->perDpy \ - : _XtSortPerDisplayList(display)) -#define _XtGetPerDisplayInput(display) \ - ((_XtperDisplayList->dpy == (display)) \ - ? &_XtperDisplayList->perDpy.pdi \ - : &_XtSortPerDisplayList(display)->pdi) -#endif /*DEBUG*/ -#endif - -extern void _XtDisplayInitialize( - Display* /* dpy */, - XtPerDisplay /* pd */, - _Xconst char* /* name */, - XrmOptionDescRec* /* urlist */, - Cardinal /* num_urs */, - int* /* argc */, - char** /* argv */ -); - -extern void _XtCacheFlushTag( - XtAppContext /* app */, - XtPointer /* tag */ -); - -extern void _XtFreeActions( - struct _ActionListRec* /* action_table */ -); - -extern void _XtDoPhase2Destroy( - XtAppContext /* app */, - int /* dispatch_level */ -); - -extern void _XtDoFreeBindings( - XtAppContext /* app */ -); - -extern void _XtExtensionSelect( - Widget /* widget */ -); - -#define _XtSafeToDestroy(app) ((app)->dispatch_level == 0) - -extern void _XtAllocWWTable( - XtPerDisplay pd -); - -extern void _XtFreeWWTable( - XtPerDisplay pd -); - -extern String _XtGetUserName(String dest, int len); -extern XrmDatabase _XtPreparseCommandLine(XrmOptionDescRec *urlist, - Cardinal num_urs, int argc, String *argv, - String *applName, String *displayName, - String *language); - -_XFUNCPROTOEND - -#endif /* _XtinitialI_h */ +/*********************************************************** + +Copyright 1987, 1988, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 +OPEN GROUP 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 Open Group 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 Open Group. + + +Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#ifndef _XtinitialI_h +#define _XtinitialI_h + +/**************************************************************** + * + * Displays + * + ****************************************************************/ + +#ifndef X_NOT_POSIX +#ifdef _POSIX_SOURCE +#include +#else +#define _POSIX_SOURCE +#include +#undef _POSIX_SOURCE +#endif +#endif +#ifndef PATH_MAX +#ifdef WIN32 +#define PATH_MAX 512 +#else +#include +#endif +#ifndef PATH_MAX +#ifdef MAXPATHLEN +#define PATH_MAX MAXPATHLEN +#else +#define PATH_MAX 1024 +#endif +#endif +#endif + +#include +#include + +_XFUNCPROTOBEGIN + +typedef struct _TimerEventRec { + struct timeval te_timer_value; + struct _TimerEventRec *te_next; + XtTimerCallbackProc te_proc; + XtAppContext app; + XtPointer te_closure; +} TimerEventRec; + +typedef struct _InputEvent { + XtInputCallbackProc ie_proc; + XtPointer ie_closure; + struct _InputEvent *ie_next; + struct _InputEvent *ie_oq; + XtAppContext app; + int ie_source; + XtInputMask ie_condition; +} InputEvent; + +typedef struct _SignalEventRec { + XtSignalCallbackProc se_proc; + XtPointer se_closure; + struct _SignalEventRec *se_next; + XtAppContext app; + Boolean se_notice; +} SignalEventRec; + +typedef struct _WorkProcRec { + XtWorkProc proc; + XtPointer closure; + struct _WorkProcRec *next; + XtAppContext app; +} WorkProcRec; + + +typedef struct +{ +#ifndef USE_POLL + fd_set rmask; + fd_set wmask; + fd_set emask; +#endif + int nfds; +} FdStruct; + +typedef struct _LangProcRec { + XtLanguageProc proc; + XtPointer closure; +} LangProcRec; + +typedef struct _ProcessContextRec { + XtAppContext defaultAppContext; + XtAppContext appContextList; + ConverterTable globalConverterTable; + LangProcRec globalLangProcRec; +} ProcessContextRec, *ProcessContext; + +typedef struct { + char* start; + char* current; + int bytes_remaining; +} Heap; + +typedef struct _DestroyRec DestroyRec; + + +typedef struct _XtAppStruct { + XtAppContext next; /* link to next app in process context */ + ProcessContext process; /* back pointer to our process context */ + InternalCallbackList destroy_callbacks; + Display **list; + TimerEventRec *timerQueue; + WorkProcRec *workQueue; + InputEvent **input_list; + InputEvent *outstandingQueue; + SignalEventRec *signalQueue; + XrmDatabase errorDB; + XtErrorMsgHandler errorMsgHandler, warningMsgHandler; + XtErrorHandler errorHandler, warningHandler; + struct _ActionListRec *action_table; + ConverterTable converterTable; + unsigned long selectionTimeout; + FdStruct fds; + short count; /* num of assigned entries in list */ + short max; /* allocate size of list */ + short last; + short input_count; + short input_max; /* elts input_list init'd with */ + Boolean sync, being_destroyed, error_inited; +#ifndef NO_IDENTIFY_WINDOWS + Boolean identify_windows; /* debugging hack */ +#endif + Heap heap; + String * fallback_resources; /* Set by XtAppSetFallbackResources. */ + struct _ActionHookRec* action_hook_list; + struct _BlockHookRec* block_hook_list; + int destroy_list_size; /* state data for 2-phase destroy */ + int destroy_count; + int dispatch_level; + DestroyRec* destroy_list; + Widget in_phase2_destroy; + LangProcRec langProcRec; + struct _TMBindCacheRec * free_bindings; + String display_name_tried; + Display **dpy_destroy_list; + int dpy_destroy_count; + Boolean exit_flag; + Boolean rebuild_fdlist; +#ifdef XTHREADS + LockPtr lock_info; + ThreadAppProc lock; + ThreadAppProc unlock; + ThreadAppYieldLockProc yield_lock; + ThreadAppRestoreLockProc restore_lock; + ThreadAppProc free_lock; +#endif +} XtAppStruct; + +extern void _XtHeapInit(Heap* heap); +extern void _XtHeapFree(Heap* heap); + +#ifdef XTTRACEMEMORY + + +extern char *_XtHeapMalloc( + Heap* /* heap */, + Cardinal /* size */, + char * /* file */, + int /* line */ +); + +#define _XtHeapAlloc(heap,bytes) _XtHeapMalloc(heap, bytes, __FILE__, __LINE__) + +#else /* XTTRACEMEMORY */ + +extern char* _XtHeapAlloc( + Heap* /* heap */, + Cardinal /* size */ +); + +#endif /* XTTRACEMEMORY */ + +extern void _XtSetDefaultErrorHandlers( + XtErrorMsgHandler* /* errMsg */, + XtErrorMsgHandler* /* warnMsg */, + XtErrorHandler* /* err */, + XtErrorHandler* /* warn */ +); + +extern void _XtSetDefaultSelectionTimeout( + unsigned long* /* timeout */ +); + +extern XtAppContext _XtDefaultAppContext( + void +); + +extern ProcessContext _XtGetProcessContext( + void +); + +Display * +_XtAppInit( + XtAppContext* /* app_context_return */, + String /* application_class */, + XrmOptionDescRec* /* options */, + Cardinal /* num_options */, + int* /* argc_in_out */, + String** /* argv_in_out */, + String* /* fallback_resources */ +); + +extern void _XtDestroyAppContexts( + void +); + +extern void _XtCloseDisplays( + XtAppContext /* app */ +); + +extern int _XtAppDestroyCount; + +extern int _XtWaitForSomething( + XtAppContext /* app */, + _XtBoolean /* ignoreEvents */, + _XtBoolean /* ignoreTimers */, + _XtBoolean /* ignoreInputs */, + _XtBoolean /* ignoreSignals */, + _XtBoolean /* block */, +#ifdef XTHREADS + _XtBoolean /* drop_lock */, +#endif + unsigned long* /* howlong */ +); + +typedef struct _CaseConverterRec *CaseConverterPtr; +typedef struct _CaseConverterRec { + KeySym start; /* first KeySym valid in converter */ + KeySym stop; /* last KeySym valid in converter */ + XtCaseProc proc; /* case converter function */ + CaseConverterPtr next; /* next converter record */ +} CaseConverterRec; + +typedef struct _ExtensionSelectorRec { + XtExtensionSelectProc proc; + int min, max; + XtPointer client_data; +} ExtSelectRec; + +typedef struct _XtPerDisplayStruct { + InternalCallbackList destroy_callbacks; + Region region; + CaseConverterPtr case_cvt; /* user-registered case converters */ + XtKeyProc defaultKeycodeTranslator; + XtAppContext appContext; + unsigned long keysyms_serial; /* for tracking MappingNotify events */ + KeySym *keysyms; /* keycode to keysym table */ + int keysyms_per_keycode; /* number of keysyms for each keycode*/ + int min_keycode, max_keycode; /* range of keycodes */ + KeySym *modKeysyms; /* keysym values for modToKeysysm */ + ModToKeysymTable *modsToKeysyms; /* modifiers to Keysysms index table*/ + unsigned char isModifier[32]; /* key-is-modifier-p bit table */ + KeySym lock_meaning; /* Lock modifier meaning */ + Modifiers mode_switch; /* keyboard group modifiers */ + Modifiers num_lock; /* keyboard numlock modifiers */ + Boolean being_destroyed; + Boolean rv; /* reverse_video resource */ + XrmName name; /* resolved app name */ + XrmClass class; /* application class */ + Heap heap; + struct _GCrec *GClist; /* support for XtGetGC */ + Drawable **pixmap_tab; /* ditto for XtGetGC */ + String language; /* XPG language string */ + XEvent last_event; /* last event dispatched */ + Time last_timestamp; /* from last event dispatched */ + int multi_click_time; /* for XtSetMultiClickTime */ + struct _TMKeyContextRec* tm_context; /* for XtGetActionKeysym */ + InternalCallbackList mapping_callbacks; /* special case for TM */ + XtPerDisplayInputRec pdi; /* state for modal grabs & kbd focus */ + struct _WWTable *WWtable; /* window to widget table */ + XrmDatabase *per_screen_db; /* per screen resource databases */ + XrmDatabase cmd_db; /* db from command line, if needed */ + XrmDatabase server_db; /* resource property else .Xdefaults */ + XtEventDispatchProc* dispatcher_list; + ExtSelectRec* ext_select_list; + int ext_select_count; + Widget hook_object; +#ifndef X_NO_RESOURCE_CONFIGURATION_MANAGEMENT + Atom rcm_init; /* ResConfig - initialize */ + Atom rcm_data; /* ResConfig - data atom */ +#endif +} XtPerDisplayStruct, *XtPerDisplay; + +typedef struct _PerDisplayTable { + Display *dpy; + XtPerDisplayStruct perDpy; + struct _PerDisplayTable *next; +} PerDisplayTable, *PerDisplayTablePtr; + +extern PerDisplayTablePtr _XtperDisplayList; + +extern XtPerDisplay _XtSortPerDisplayList( + Display* /* dpy */ +); + +extern XtPerDisplay _XtGetPerDisplay( + Display* /* dpy */ +); + +extern XtPerDisplayInputRec* _XtGetPerDisplayInput( + Display* /* dpy */ +); + +#if 0 +#ifdef DEBUG +#define _XtGetPerDisplay(display) \ + ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \ + ? &_XtperDisplayList->perDpy \ + : _XtSortPerDisplayList(display)) +#define _XtGetPerDisplayInput(display) \ + ((_XtperDisplayList != NULL && (_XtperDisplayList->dpy == (display))) \ + ? &_XtperDisplayList->perDpy.pdi \ + : &_XtSortPerDisplayList(display)->pdi) +#else +#define _XtGetPerDisplay(display) \ + ((_XtperDisplayList->dpy == (display)) \ + ? &_XtperDisplayList->perDpy \ + : _XtSortPerDisplayList(display)) +#define _XtGetPerDisplayInput(display) \ + ((_XtperDisplayList->dpy == (display)) \ + ? &_XtperDisplayList->perDpy.pdi \ + : &_XtSortPerDisplayList(display)->pdi) +#endif /*DEBUG*/ +#endif + +extern void _XtDisplayInitialize( + Display* /* dpy */, + XtPerDisplay /* pd */, + _Xconst char* /* name */, + XrmOptionDescRec* /* urlist */, + Cardinal /* num_urs */, + int* /* argc */, + char** /* argv */ +); + +extern void _XtCacheFlushTag( + XtAppContext /* app */, + XtPointer /* tag */ +); + +extern void _XtFreeActions( + struct _ActionListRec* /* action_table */ +); + +extern void _XtDoPhase2Destroy( + XtAppContext /* app */, + int /* dispatch_level */ +); + +extern void _XtDoFreeBindings( + XtAppContext /* app */ +); + +extern void _XtExtensionSelect( + Widget /* widget */ +); + +#define _XtSafeToDestroy(app) ((app)->dispatch_level == 0) + +extern void _XtAllocWWTable( + XtPerDisplay pd +); + +extern void _XtFreeWWTable( + XtPerDisplay pd +); + +extern String _XtGetUserName(String dest, int len); +extern XrmDatabase _XtPreparseCommandLine(XrmOptionDescRec *urlist, + Cardinal num_urs, int argc, String *argv, + String *applName, String *displayName, + String *language); + +_XFUNCPROTOEND + +#endif /* _XtinitialI_h */ -- cgit v1.2.3