blob: 1ec63d0548c192f449fd41e9352c19b8832828f8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
/*
* tk3d.h --
*
* Declarations of types and functions shared by the 3d border
* module.
*
* 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 $
*/
#ifndef _TK3D
#define _TK3D
#include <tkInt.h>
#ifdef BUILD_tk
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLEXPORT
#endif
/*
* 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.
*/
typedef struct {
Screen *screen; /* Screen on which the border will be used. */
Visual *visual; /* Visual for all windows and pixmaps using
* the border. */
int depth; /* Number of bits per pixel of drawables where
* the border will be used. */
Colormap colormap; /* Colormap out of which pixels are
* allocated. */
int refCount; /* Number of different users of
* this border. */
XColor *bgColorPtr; /* Background color (intensity
* between lightColorPtr and
* darkColorPtr). */
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
* yet. */
Pixmap shadow; /* Stipple pattern to use for drawing
* shadows areas. Used for displays with
* <= 64 colors or where colormap has filled
* up. */
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). */
} TkBorder;
/*
* 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,
Tk_Window tkwin));
EXTERN void TkpFreeBorder _ANSI_ARGS_((TkBorder *borderPtr));
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLIMPORT
#endif /* _TK3D */
|