⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tkint.h

📁 linux系统下的音频通信
💻 H
📖 第 1 页 / 共 3 页
字号:
/* * tkInt.h -- * *	Declarations for things used internally by the Tk *	procedures but not exported outside the module. * * Copyright (c) 1990-1994 The Regents of the University of California. * Copyright (c) 1994-1997 Sun Microsystems, Inc. * Copyright (c) 1998 by Scriptics Corporation. * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * SCCS: @(#) tkInt.h 1.6 98/08/04 12:19:22 */#ifndef _TKINT#define _TKINT#ifndef _TK#include "tk.h"#endif#ifndef _TCL#include "tcl.h"#endif#ifndef _TKPORT#include <tkPort.h>#endif#ifdef BUILD_tk# undef TCL_STORAGE_CLASS# define TCL_STORAGE_CLASS DLLEXPORT#endif/* * Opaque type declarations: */typedef struct TkColormap TkColormap;typedef struct TkGrabEvent TkGrabEvent;typedef struct Tk_PostscriptInfo Tk_PostscriptInfo;typedef struct TkpCursor_ *TkpCursor;typedef struct TkRegion_ *TkRegion;typedef struct TkStressedCmap TkStressedCmap;typedef struct TkBindInfo_ *TkBindInfo;/* * Procedure types. */typedef int (TkBindEvalProc) _ANSI_ARGS_((ClientData clientData,	Tcl_Interp *interp, XEvent *eventPtr, Tk_Window tkwin,	KeySym keySym));typedef void (TkBindFreeProc) _ANSI_ARGS_((ClientData clientData));typedef Window (TkClassCreateProc) _ANSI_ARGS_((Tk_Window tkwin,	Window parent, ClientData instanceData));typedef void (TkClassGeometryProc) _ANSI_ARGS_((ClientData instanceData));typedef void (TkClassModalProc) _ANSI_ARGS_((Tk_Window tkwin,	XEvent *eventPtr));/* * Widget class procedures used to implement platform specific widget * behavior. */typedef struct TkClassProcs {    TkClassCreateProc *createProc;				/* Procedure to invoke when the                                   platform-dependent window needs to be                                   created. */    TkClassGeometryProc *geometryProc;				/* Procedure to invoke when the geometry of a				   window needs to be recalculated as a result				   of some change in the system. */    TkClassModalProc *modalProc;				/* Procedure to invoke after all bindings on a				   widget have been triggered in order to				   handle a modal loop. */} TkClassProcs;/* * One of the following structures is maintained for each cursor in * use in the system.  This structure is used by tkCursor.c and the * various system specific cursor files. */typedef struct TkCursor {    Tk_Cursor cursor;		/* System specific identifier for cursor. */    int refCount;		/* Number of active uses of cursor. */    Tcl_HashTable *otherTable;	/* Second table (other than idTable) used				 * to index this entry. */    Tcl_HashEntry *hashPtr;	/* Entry in otherTable for this structure				 * (needed when deleting). */} TkCursor;/* * One of the following structures is maintained for each display * containing a window managed by Tk: */typedef struct TkDisplay {    Display *display;		/* Xlib's info about display. */    struct TkDisplay *nextPtr;	/* Next in list of all displays. */    char *name;			/* Name of display (with any screen				 * identifier removed).  Malloc-ed. */    Time lastEventTime;		/* Time of last event received for this				 * display. */    /*     * Information used primarily by tkBind.c:     */    int bindInfoStale;		/* Non-zero means the variables in this				 * part of the structure are potentially				 * incorrect and should be recomputed. */    unsigned int modeModMask;	/* Has one bit set to indicate the modifier				 * corresponding to "mode shift".  If no				 * such modifier, than this is zero. */    unsigned int metaModMask;	/* Has one bit set to indicate the modifier				 * corresponding to the "Meta" key.  If no				 * such modifier, then this is zero. */    unsigned int altModMask;	/* Has one bit set to indicate the modifier				 * corresponding to the "Meta" key.  If no				 * such modifier, then this is zero. */    enum {LU_IGNORE, LU_CAPS, LU_SHIFT} lockUsage;				/* Indicates how to interpret lock modifier. */    int numModKeyCodes;		/* Number of entries in modKeyCodes array				 * below. */    KeyCode *modKeyCodes;	/* Pointer to an array giving keycodes for				 * all of the keys that have modifiers				 * associated with them.  Malloc'ed, but				 * may be NULL. */    /*     * Information used by tkError.c only:     */    struct TkErrorHandler *errorPtr;				/* First in list of error handlers				 * for this display.  NULL means				 * no handlers exist at present. */    int deleteCount;		/* Counts # of handlers deleted since				 * last time inactive handlers were				 * garbage-collected.  When this number				 * gets big, handlers get cleaned up. */    /*     * Information used by tkSend.c only:     */    Tk_Window commTkwin;	/* Window used for communication				 * between interpreters during "send"				 * commands.  NULL means send info hasn't				 * been initialized yet. */    Atom commProperty;		/* X's name for comm property. */    Atom registryProperty;	/* X's name for property containing				 * registry of interpreter names. */    Atom appNameProperty;	/* X's name for property used to hold the				 * application name on each comm window. */    /*     * Information used by tkSelect.c and tkClipboard.c only:     */    struct TkSelectionInfo *selectionInfoPtr;				/* First in list of selection information				 * records.  Each entry contains information				 * about the current owner of a particular				 * selection on this display. */    Atom multipleAtom;		/* Atom for MULTIPLE.  None means				 * selection stuff isn't initialized. */    Atom incrAtom;		/* Atom for INCR. */    Atom targetsAtom;		/* Atom for TARGETS. */    Atom timestampAtom;		/* Atom for TIMESTAMP. */    Atom textAtom;		/* Atom for TEXT. */    Atom compoundTextAtom;	/* Atom for COMPOUND_TEXT. */    Atom applicationAtom;	/* Atom for TK_APPLICATION. */    Atom windowAtom;		/* Atom for TK_WINDOW. */    Atom clipboardAtom;		/* Atom for CLIPBOARD. */    Tk_Window clipWindow;	/* Window used for clipboard ownership and to				 * retrieve selections between processes. NULL				 * means clipboard info hasn't been				 * initialized. */    int clipboardActive;	/* 1 means we currently own the clipboard				 * selection, 0 means we don't. */    struct TkMainInfo *clipboardAppPtr;				/* Last application that owned clipboard. */    struct TkClipboardTarget *clipTargetPtr;				/* First in list of clipboard type information				 * records.  Each entry contains information				 * about the buffers for a given selection				 * target. */    /*     * Information used by tkAtom.c only:     */    int atomInit;		/* 0 means stuff below hasn't been				 * initialized yet. */    Tcl_HashTable nameTable;	/* Maps from names to Atom's. */    Tcl_HashTable atomTable;	/* Maps from Atom's back to names. */    /*     * Information used by tkCursor.c only:     */    Font cursorFont;		/* Font to use for standard cursors.				 * None means font not loaded yet. */    /*     * Information used by tkGrab.c only:     */    struct TkWindow *grabWinPtr;				/* Window in which the pointer is currently				 * grabbed, or NULL if none. */    struct TkWindow *eventualGrabWinPtr;				/* Value that grabWinPtr will have once the				 * grab event queue (below) has been				 * completely emptied. */    struct TkWindow *buttonWinPtr;				/* Window in which first mouse button was				 * pressed while grab was in effect, or NULL				 * if no such press in effect. */    struct TkWindow *serverWinPtr;				/* If no application contains the pointer then				 * this is NULL.  Otherwise it contains the				 * last window for which we've gotten an				 * Enter or Leave event from the server (i.e.				 * the last window known to have contained				 * the pointer).  Doesn't reflect events				 * that were synthesized in tkGrab.c. */    TkGrabEvent *firstGrabEventPtr;				/* First in list of enter/leave events				 * synthesized by grab code.  These events				 * must be processed in order before any other				 * events are processed.  NULL means no such				 * events. */    TkGrabEvent *lastGrabEventPtr;				/* Last in list of synthesized events, or NULL				 * if list is empty. */    int grabFlags;		/* Miscellaneous flag values.  See definitions				 * in tkGrab.c. */    /*     * Information used by tkXId.c only:     */    struct TkIdStack *idStackPtr;				/* First in list of chunks of free resource				 * identifiers, or NULL if there are no free				 * resources. */    XID (*defaultAllocProc) _ANSI_ARGS_((Display *display));				/* Default resource allocator for display. */    struct TkIdStack *windowStackPtr;				/* First in list of chunks of window				 * identifers that can't be reused right				 * now. */    int idCleanupScheduled;	/* 1 means a call to WindowIdCleanup has				 * already been scheduled, 0 means it				 * hasn't. */    /*     * Information maintained by tkWindow.c for use later on by tkXId.c:     */    int destroyCount;		/* Number of Tk_DestroyWindow operations				 * in progress. */    unsigned long lastDestroyRequest;				/* Id of most recent XDestroyWindow request;				 * can re-use ids in windowStackPtr when				 * server has seen this request and event				 * queue is empty. */    /*     * Information used by tkVisual.c only:     */    TkColormap *cmapPtr;	/* First in list of all non-default colormaps				 * allocated for this display. */    /*     * Information used by tkFocus.c only:     */    struct TkWindow *implicitWinPtr;				/* If the focus arrived at a toplevel window				 * implicitly via an Enter event (rather				 * than via a FocusIn event), this points				 * to the toplevel window.  Otherwise it is				 * NULL. */    struct TkWindow *focusPtr;	/* Points to the window on this display that				 * should be receiving keyboard events.  When				 * multiple applications on the display have				 * the focus, this will refer to the				 * innermost window in the innermost				 * application.  This information isn't used				 * under Unix or Windows, but it's needed on				 * the Macintosh. */    /*     * Used by tkColor.c only:     */    TkStressedCmap *stressPtr;	/* First in list of colormaps that have				 * filled up, so we have to pick an				 * approximate color. */    /*     * Used by tkEvent.c only:     */    struct TkWindowEvent *delayedMotionPtr;				/* Points to a malloc-ed motion event				 * whose processing has been delayed in				 * the hopes that another motion event				 * will come along right away and we can				 * merge the two of them together.  NULL				 * means that there is no delayed motion				 * event. */    /*     * Miscellaneous information:     */#ifdef TK_USE_INPUT_METHODS    XIM inputMethod;		/* Input method for this display */#endif /* TK_USE_INPUT_METHODS */    Tcl_HashTable winTable;	/* Maps from X window ids to TkWindow ptrs. */    int refCount;		/* Reference count of how many Tk applications                                 * are using this display. Used to clean up                                 * the display when we no longer have any                                 * Tk applications using it.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -