diff options
Diffstat (limited to 'tcl/generic/tkFont.h')
-rw-r--r-- | tcl/generic/tkFont.h | 226 |
1 files changed, 0 insertions, 226 deletions
diff --git a/tcl/generic/tkFont.h b/tcl/generic/tkFont.h deleted file mode 100644 index ee99ae74e21..00000000000 --- a/tcl/generic/tkFont.h +++ /dev/null @@ -1,226 +0,0 @@ -/* - * tkFont.h -- - * - * Declarations for interfaces between the generic and platform- - * specific parts of the font package. This information is not - * visible outside of the font package. - * - * Copyright (c) 1996-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. - * - * RCS: @(#) $Id$ - */ - -#ifndef _TKFONT -#define _TKFONT - -#ifdef BUILD_tk -# undef TCL_STORAGE_CLASS -# define TCL_STORAGE_CLASS DLLEXPORT -#endif - -/* - * The following structure keeps track of the attributes of a font. It can - * be used to keep track of either the desired attributes or the actual - * attributes gotten when the font was instantiated. - */ - -typedef struct TkFontAttributes { - Tk_Uid family; /* Font family, or NULL to represent - * plaform-specific default system font. */ - int size; /* Pointsize of font, 0 for default size, or - * negative number meaning pixel size. */ - int weight; /* Weight flag; see below for def'n. */ - int slant; /* Slant flag; see below for def'n. */ - int underline; /* Non-zero for underline font. */ - int overstrike; /* Non-zero for overstrike font. */ -} TkFontAttributes; - -/* - * Possible values for the "weight" field in a TkFontAttributes structure. - * Weight is a subjective term and depends on what the company that created - * the font considers bold. - */ - -#define TK_FW_NORMAL 0 -#define TK_FW_BOLD 1 - -#define TK_FW_UNKNOWN -1 /* Unknown weight. This value is used for - * error checking and is never actually stored - * in the weight field. */ - -/* - * Possible values for the "slant" field in a TkFontAttributes structure. - */ - -#define TK_FS_ROMAN 0 -#define TK_FS_ITALIC 1 -#define TK_FS_OBLIQUE 2 /* This value is only used when parsing X - * font names to determine the closest - * match. It is only stored in the - * XLFDAttributes structure, never in the - * slant field of the TkFontAttributes. */ - -#define TK_FS_UNKNOWN -1 /* Unknown slant. This value is used for - * error checking and is never actually stored - * in the slant field. */ - -/* - * The following structure keeps track of the metrics for an instantiated - * font. The metrics are the physical properties of the font itself. - */ - -typedef struct TkFontMetrics { - int ascent; /* From baseline to top of font. */ - int descent; /* From baseline to bottom of font. */ - int maxWidth; /* Width of widest character in font. */ - int fixed; /* Non-zero if this is a fixed-width font, - * 0 otherwise. */ -} TkFontMetrics; - -/* - * The following structure is used to keep track of the generic information - * about a font. Each platform-specific font is represented by a structure - * with the following structure at its beginning, plus any platform- - * specific stuff after that. - */ - -typedef struct TkFont { - /* - * Fields used and maintained exclusively by generic code. - */ - - int resourceRefCount; /* Number of active uses of this font (each - * active use corresponds to a call to - * Tk_AllocFontFromTable or Tk_GetFont). - * If this count is 0, then this TkFont - * structure is no longer valid and it isn't - * present in a hash table: it is being - * kept around only because there are objects - * referring to it. The structure is freed - * when resourceRefCount and objRefCount - * are both 0. */ - int objRefCount; /* The number of Tcl objects that reference - * this structure. */ - Tcl_HashEntry *cacheHashPtr;/* Entry in font cache for this structure, - * used when deleting it. */ - Tcl_HashEntry *namedHashPtr;/* Pointer to hash table entry that - * corresponds to the named font that the - * tkfont was based on, or NULL if the tkfont - * was not based on a named font. */ - Screen *screen; /* The screen where this font is valid. */ - int tabWidth; /* Width of tabs in this font (pixels). */ - int underlinePos; /* Offset from baseline to origin of - * underline bar (used for drawing underlines - * on a non-underlined font). */ - int underlineHeight; /* Height of underline bar (used for drawing - * underlines on a non-underlined font). */ - - /* - * Fields used in the generic code that are filled in by - * platform-specific code. - */ - - Font fid; /* For backwards compatibility with XGCValues - * structures. Remove when TkGCValues is - * implemented. */ - TkFontAttributes fa; /* Actual font attributes obtained when the - * the font was created, as opposed to the - * desired attributes passed in to - * TkpGetFontFromAttributes(). The desired - * metrics can be determined from the string - * that was used to create this font. */ - TkFontMetrics fm; /* Font metrics determined when font was - * created. */ - struct TkFont *nextPtr; /* Points to the next TkFont structure with - * the same name. All fonts with the - * same name (but different displays) are - * chained together off a single entry in - * a hash table. */ -} TkFont; - -/* - * The following structure is used to return attributes when parsing an - * XLFD. The extra information is of interest to the Unix-specific code - * when attempting to find the closest matching font. - */ - -typedef struct TkXLFDAttributes { - Tk_Uid foundry; /* The foundry of the font. */ - int slant; /* The tristate value for the slant, which - * is significant under X. */ - int setwidth; /* The proportionate width, see below for - * definition. */ - Tk_Uid charset; /* The actual charset string. */ -} TkXLFDAttributes; - -/* - * Possible values for the "setwidth" field in a TkXLFDAttributes structure. - * The setwidth is whether characters are considered wider or narrower than - * normal. - */ - -#define TK_SW_NORMAL 0 -#define TK_SW_CONDENSE 1 -#define TK_SW_EXPAND 2 -#define TK_SW_UNKNOWN 3 /* Unknown setwidth. This value may be - * stored in the setwidth field. */ - -/* - * The following defines specify the meaning of the fields in a fully - * qualified XLFD. - */ - -#define XLFD_FOUNDRY 0 -#define XLFD_FAMILY 1 -#define XLFD_WEIGHT 2 -#define XLFD_SLANT 3 -#define XLFD_SETWIDTH 4 -#define XLFD_ADD_STYLE 5 -#define XLFD_PIXEL_SIZE 6 -#define XLFD_POINT_SIZE 7 -#define XLFD_RESOLUTION_X 8 -#define XLFD_RESOLUTION_Y 9 -#define XLFD_SPACING 10 -#define XLFD_AVERAGE_WIDTH 11 -#define XLFD_CHARSET 12 -#define XLFD_NUMFIELDS 13 /* Number of fields in XLFD. */ - -/* - * Low-level API exported by generic code to platform-specific code. - */ - -#define TkInitFontAttributes(fa) memset((fa), 0, sizeof(TkFontAttributes)); -#define TkInitXLFDAttributes(xa) memset((xa), 0, sizeof(TkXLFDAttributes)); - -EXTERN int TkFontParseXLFD _ANSI_ARGS_((CONST char *string, - TkFontAttributes *faPtr, TkXLFDAttributes *xaPtr)); -EXTERN char ** TkFontGetAliasList _ANSI_ARGS_((CONST char *faceName)); -EXTERN char *** TkFontGetFallbacks _ANSI_ARGS_((void)); -EXTERN int TkFontGetPixels _ANSI_ARGS_((Tk_Window tkwin, - int size)); -EXTERN int TkFontGetPoints _ANSI_ARGS_((Tk_Window tkwin, - int size)); -EXTERN char ** TkFontGetGlobalClass _ANSI_ARGS_((void)); -EXTERN char ** TkFontGetSymbolClass _ANSI_ARGS_((void)); - -/* - * Low-level API exported by platform-specific code to generic code. - */ - -EXTERN void TkpDeleteFont _ANSI_ARGS_((TkFont *tkFontPtr)); -EXTERN void TkpFontPkgInit _ANSI_ARGS_((TkMainInfo *mainPtr)); -EXTERN TkFont * TkpGetFontFromAttributes _ANSI_ARGS_(( - TkFont *tkFontPtr, Tk_Window tkwin, - CONST TkFontAttributes *faPtr)); -EXTERN void TkpGetFontFamilies _ANSI_ARGS_((Tcl_Interp *interp, - Tk_Window tkwin)); -EXTERN TkFont * TkpGetNativeFont _ANSI_ARGS_((Tk_Window tkwin, - CONST char *name)); - -# undef TCL_STORAGE_CLASS -# define TCL_STORAGE_CLASS DLLIMPORT - -#endif /* _TKFONT */ |