* Declarations of types and functions shared by the 3d border
* Copyright (c) 1996 by 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: tk3d.h,v 1.4 1998/09/14 18:23:03 stanton Exp $
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLEXPORT
* One of the following data structures is allocated for
* each 3-D border currently in use. Structures of this
* type are indexed by borderTable, so that a single
* structure can be shared for several uses.
Screen
*screen
; /* Screen on which the border will be used. */
Visual
*visual
; /* Visual for all windows and pixmaps using
int depth
; /* Number of bits per pixel of drawables where
* the border will be used. */
Colormap colormap
; /* Colormap out of which pixels are
int refCount
; /* Number of different users of
XColor
*bgColorPtr
; /* Background color (intensity
* between lightColorPtr and
XColor
*darkColorPtr
; /* Color for darker areas (must free when
* deleting structure). NULL means shadows
* haven't been allocated yet.*/
XColor
*lightColorPtr
; /* Color used for lighter areas of border
* (must free this when deleting structure).
* NULL means shadows haven't been allocated
Pixmap shadow
; /* Stipple pattern to use for drawing
* shadows areas. Used for displays with
* <= 64 colors or where colormap has filled
GC bgGC
; /* Used (if necessary) to draw areas in
* the background color. */
GC darkGC
; /* Used to draw darker parts of the
* border. None means the shadow colors
* haven't been allocated yet.*/
GC lightGC
; /* Used to draw lighter parts of
* the border. None means the shadow colors
* haven't been allocated yet. */
Tcl_HashEntry
*hashPtr
; /* Entry in borderTable (needed in
* order to delete structure). */
* Maximum intensity for a color:
#define MAX_INTENSITY 65535
* Declarations for platform specific interfaces used by this module.
EXTERN TkBorder
* TkpGetBorder
_ANSI_ARGS_((void));
EXTERN
void TkpGetShadows
_ANSI_ARGS_((TkBorder
*borderPtr
,
EXTERN
void TkpFreeBorder
_ANSI_ARGS_((TkBorder
*borderPtr
));
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLIMPORT