Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / lib / site_perl / 5.8.0 / sun4-solaris / Tk / pTk / tk3d.h
CommitLineData
86530b38
AT
1/*
2 * tk3d.h --
3 *
4 * Declarations of types and functions shared by the 3d border
5 * module.
6 *
7 * Copyright (c) 1996 by Sun Microsystems, Inc.
8 *
9 * See the file "license.terms" for information on usage and redistribution
10 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
11 *
12 * RCS: @(#) $Id: tk3d.h,v 1.4 1998/09/14 18:23:03 stanton Exp $
13 */
14
15#ifndef _TK3D
16#define _TK3D
17
18#include "tkInt.h"
19
20#ifdef BUILD_tk
21# undef TCL_STORAGE_CLASS
22# define TCL_STORAGE_CLASS DLLEXPORT
23#endif
24
25/*
26 * One of the following data structures is allocated for
27 * each 3-D border currently in use. Structures of this
28 * type are indexed by borderTable, so that a single
29 * structure can be shared for several uses.
30 */
31
32typedef struct {
33 Screen *screen; /* Screen on which the border will be used. */
34 Visual *visual; /* Visual for all windows and pixmaps using
35 * the border. */
36 int depth; /* Number of bits per pixel of drawables where
37 * the border will be used. */
38 Colormap colormap; /* Colormap out of which pixels are
39 * allocated. */
40 int refCount; /* Number of different users of
41 * this border. */
42 XColor *bgColorPtr; /* Background color (intensity
43 * between lightColorPtr and
44 * darkColorPtr). */
45 XColor *darkColorPtr; /* Color for darker areas (must free when
46 * deleting structure). NULL means shadows
47 * haven't been allocated yet.*/
48 XColor *lightColorPtr; /* Color used for lighter areas of border
49 * (must free this when deleting structure).
50 * NULL means shadows haven't been allocated
51 * yet. */
52 Pixmap shadow; /* Stipple pattern to use for drawing
53 * shadows areas. Used for displays with
54 * <= 64 colors or where colormap has filled
55 * up. */
56 GC bgGC; /* Used (if necessary) to draw areas in
57 * the background color. */
58 GC darkGC; /* Used to draw darker parts of the
59 * border. None means the shadow colors
60 * haven't been allocated yet.*/
61 GC lightGC; /* Used to draw lighter parts of
62 * the border. None means the shadow colors
63 * haven't been allocated yet. */
64 Tcl_HashEntry *hashPtr; /* Entry in borderTable (needed in
65 * order to delete structure). */
66} TkBorder;
67
68
69/*
70 * Maximum intensity for a color:
71 */
72
73#define MAX_INTENSITY 65535
74
75/*
76 * Declarations for platform specific interfaces used by this module.
77 */
78
79EXTERN TkBorder * TkpGetBorder _ANSI_ARGS_((void));
80EXTERN void TkpGetShadows _ANSI_ARGS_((TkBorder *borderPtr,
81 Tk_Window tkwin));
82EXTERN void TkpFreeBorder _ANSI_ARGS_((TkBorder *borderPtr));
83
84# undef TCL_STORAGE_CLASS
85# define TCL_STORAGE_CLASS DLLIMPORT
86
87#endif /* _TK3D */