?? tk.h
字號:
/* * tk.h -- * * Declarations for Tk-related things that are visible * outside of the Tk module itself. * * Copyright (c) 1989-1994 The Regents of the University of California. * Copyright (c) 1994 The Australian National University. * Copyright (c) 1994-1997 Sun Microsystems, Inc. * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * SCCS: @(#) tk.h 1.211 97/11/20 12:44:45 */#ifndef _TK#define _TK/* * When version numbers change here, you must also go into the following files * and update the version numbers: * * README * unix/configure.in * win/makefile.bc (Not for patch release updates) * win/makefile.vc (Not for patch release updates) * library/tk.tcl * * The release level should be 0 for alpha, 1 for beta, and 2 for * final/patch. The release serial value is the number that follows the * "a", "b", or "p" in the patch level; for example, if the patch level * is 4.3b2, TK_RELEASE_SERIAL is 2. It restarts at 1 whenever the * release level is changed, except for the final release, which should * be 0. * * You may also need to update some of these files when the numbers change * for the version of Tcl that this release of Tk is compiled against. */#define TK_MAJOR_VERSION 8#define TK_MINOR_VERSION 0#define TK_RELEASE_LEVEL 2#define TK_RELEASE_SERIAL 3#define TK_VERSION "8.0"#define TK_PATCH_LEVEL "8.0.3"/* * A special definition used to allow this header file to be included * in resource files. */#ifndef RESOURCE_INCLUDED/* * The following definitions set up the proper options for Macintosh * compilers. We use this method because there is no autoconf equivalent. */#ifdef MAC_TCL# ifndef REDO_KEYSYM_LOOKUP# define REDO_KEYSYM_LOOKUP# endif#endif#ifndef _TCL# include <tcl.h>#endif#ifndef _XLIB_H# ifdef MAC_TCL/*# include <Xlib.h># include <X.h>*/# else# include <X11/Xlib.h># endif#endif#ifdef __STDC__# include <stddef.h>#endif#ifdef BUILD_tk# undef TCL_STORAGE_CLASS# define TCL_STORAGE_CLASS DLLEXPORT#endif/* * Decide whether or not to use input methods. */#ifdef XNQueryInputStyle#define TK_USE_INPUT_METHODS#endif/* * Dummy types that are used by clients: */typedef struct Tk_BindingTable_ *Tk_BindingTable;typedef struct Tk_Canvas_ *Tk_Canvas;typedef struct Tk_Cursor_ *Tk_Cursor;typedef struct Tk_ErrorHandler_ *Tk_ErrorHandler;typedef struct Tk_Font_ *Tk_Font;typedef struct Tk_Image__ *Tk_Image;typedef struct Tk_ImageMaster_ *Tk_ImageMaster;typedef struct Tk_TextLayout_ *Tk_TextLayout;typedef struct Tk_Window_ *Tk_Window;typedef struct Tk_3DBorder_ *Tk_3DBorder;/* * Additional types exported to clients. */typedef char *Tk_Uid;/* * Structure used to specify how to handle argv options. */typedef struct { char *key; /* The key string that flags the option in the * argv array. */ int type; /* Indicates option type; see below. */ char *src; /* Value to be used in setting dst; usage * depends on type. */ char *dst; /* Address of value to be modified; usage * depends on type. */ char *help; /* Documentation message describing this option. */} Tk_ArgvInfo;/* * Legal values for the type field of a Tk_ArgvInfo: see the user * documentation for details. */#define TK_ARGV_CONSTANT 15#define TK_ARGV_INT 16#define TK_ARGV_STRING 17#define TK_ARGV_UID 18#define TK_ARGV_REST 19#define TK_ARGV_FLOAT 20#define TK_ARGV_FUNC 21#define TK_ARGV_GENFUNC 22#define TK_ARGV_HELP 23#define TK_ARGV_CONST_OPTION 24#define TK_ARGV_OPTION_VALUE 25#define TK_ARGV_OPTION_NAME_VALUE 26#define TK_ARGV_END 27/* * Flag bits for passing to Tk_ParseArgv: */#define TK_ARGV_NO_DEFAULTS 0x1#define TK_ARGV_NO_LEFTOVERS 0x2#define TK_ARGV_NO_ABBREV 0x4#define TK_ARGV_DONT_SKIP_FIRST_ARG 0x8/* * Structure used to describe application-specific configuration * options: indicates procedures to call to parse an option and * to return a text string describing an option. */typedef int (Tk_OptionParseProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, Tk_Window tkwin, char *value, char *widgRec, int offset));typedef char *(Tk_OptionPrintProc) _ANSI_ARGS_((ClientData clientData, Tk_Window tkwin, char *widgRec, int offset, Tcl_FreeProc **freeProcPtr));typedef struct Tk_CustomOption { Tk_OptionParseProc *parseProc; /* Procedure to call to parse an * option and store it in converted * form. */ Tk_OptionPrintProc *printProc; /* Procedure to return a printable * string describing an existing * option. */ ClientData clientData; /* Arbitrary one-word value used by * option parser: passed to * parseProc and printProc. */} Tk_CustomOption;/* * Structure used to specify information for Tk_ConfigureWidget. Each * structure gives complete information for one option, including * how the option is specified on the command line, where it appears * in the option database, etc. */typedef struct Tk_ConfigSpec { int type; /* Type of option, such as TK_CONFIG_COLOR; * see definitions below. Last option in * table must have type TK_CONFIG_END. */ char *argvName; /* Switch used to specify option in argv. * NULL means this spec is part of a group. */ char *dbName; /* Name for option in option database. */ char *dbClass; /* Class for option in database. */ char *defValue; /* Default value for option if not * specified in command line or database. */ int offset; /* Where in widget record to store value; * use Tk_Offset macro to generate values * for this. */ int specFlags; /* Any combination of the values defined * below; other bits are used internally * by tkConfig.c. */ Tk_CustomOption *customPtr; /* If type is TK_CONFIG_CUSTOM then this is * a pointer to info about how to parse and * print the option. Otherwise it is * irrelevant. */} Tk_ConfigSpec;/* * Type values for Tk_ConfigSpec structures. See the user * documentation for details. */#define TK_CONFIG_BOOLEAN 1#define TK_CONFIG_INT 2#define TK_CONFIG_DOUBLE 3#define TK_CONFIG_STRING 4#define TK_CONFIG_UID 5#define TK_CONFIG_COLOR 6#define TK_CONFIG_FONT 7#define TK_CONFIG_BITMAP 8#define TK_CONFIG_BORDER 9#define TK_CONFIG_RELIEF 10#define TK_CONFIG_CURSOR 11#define TK_CONFIG_ACTIVE_CURSOR 12#define TK_CONFIG_JUSTIFY 13#define TK_CONFIG_ANCHOR 14#define TK_CONFIG_SYNONYM 15#define TK_CONFIG_CAP_STYLE 16#define TK_CONFIG_JOIN_STYLE 17#define TK_CONFIG_PIXELS 18#define TK_CONFIG_MM 19#define TK_CONFIG_WINDOW 20#define TK_CONFIG_CUSTOM 21#define TK_CONFIG_END 22/* * Macro to use to fill in "offset" fields of Tk_ConfigInfos. * Computes number of bytes from beginning of structure to a * given field. */#ifdef offsetof#define Tk_Offset(type, field) ((int) offsetof(type, field))#else#define Tk_Offset(type, field) ((int) ((char *) &((type *) 0)->field))#endif/* * Possible values for flags argument to Tk_ConfigureWidget: */#define TK_CONFIG_ARGV_ONLY 1/* * Possible flag values for Tk_ConfigInfo structures. Any bits at * or above TK_CONFIG_USER_BIT may be used by clients for selecting * certain entries. Before changing any values here, coordinate with * tkConfig.c (internal-use-only flags are defined there). */#define TK_CONFIG_COLOR_ONLY 1#define TK_CONFIG_MONO_ONLY 2#define TK_CONFIG_NULL_OK 4#define TK_CONFIG_DONT_SET_DEFAULT 8#define TK_CONFIG_OPTION_SPECIFIED 0x10#define TK_CONFIG_USER_BIT 0x100/* * Enumerated type for describing actions to be taken in response * to a restrictProc established by Tk_RestrictEvents. */typedef enum { TK_DEFER_EVENT, TK_PROCESS_EVENT, TK_DISCARD_EVENT} Tk_RestrictAction;/* * Priority levels to pass to Tk_AddOption: */#define TK_WIDGET_DEFAULT_PRIO 20#define TK_STARTUP_FILE_PRIO 40#define TK_USER_DEFAULT_PRIO 60#define TK_INTERACTIVE_PRIO 80#define TK_MAX_PRIO 100/* * Relief values returned by Tk_GetRelief: */#define TK_RELIEF_RAISED 1#define TK_RELIEF_FLAT 2#define TK_RELIEF_SUNKEN 4#define TK_RELIEF_GROOVE 8#define TK_RELIEF_RIDGE 16#define TK_RELIEF_SOLID 32/* * "Which" argument values for Tk_3DBorderGC: */#define TK_3D_FLAT_GC 1#define TK_3D_LIGHT_GC 2#define TK_3D_DARK_GC 3/*
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -