/[dtapublic]/projs/trunk/shared_source/c_tk_base_7_5_w_mods/tk3d.h
ViewVC logotype

Contents of /projs/trunk/shared_source/c_tk_base_7_5_w_mods/tk3d.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 69 - (show annotations) (download)
Sat Nov 5 10:54:17 2016 UTC (6 years, 3 months ago) by dashley
File MIME type: text/plain
File size: 3544 byte(s)
License and property (keyword) changes.
1 /* $Header$ */
2
3 /*
4 * tk3d.h --
5 *
6 * Declarations of types and functions shared by the 3d border
7 * module.
8 *
9 * Copyright (c) 1996-1997 by Sun Microsystems, Inc.
10 *
11 * See the file "license.terms" for information on usage and redistribution
12 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
13 *
14 * RCS: @(#) $Id: tk3d.h,v 1.1.1.1 2001/06/13 04:53:30 dtashley Exp $
15 */
16
17 #ifndef _TK3D
18 #define _TK3D
19
20 #include "tkInt.h"
21
22 #ifdef BUILD_tk
23 # undef TCL_STORAGE_CLASS
24 # define TCL_STORAGE_CLASS DLLEXPORT
25 #endif
26
27 /*
28 * One of the following data structures is allocated for each 3-D border
29 * currently in use. Structures of this type are indexed by
30 * borderTable, so that a single structure can be shared for several
31 * uses.
32 */
33
34 typedef struct TkBorder {
35 Screen *screen; /* Screen on which the border will be used. */
36 Visual *visual; /* Visual for all windows and pixmaps using
37 * the border. */
38 int depth; /* Number of bits per pixel of drawables where
39 * the border will be used. */
40 Colormap colormap; /* Colormap out of which pixels are
41 * allocated. */
42 int resourceRefCount; /* Number of active uses of this color (each
43 * active use corresponds to a call to
44 * Tk_Alloc3DBorderFromObj or Tk_Get3DBorder).
45 * If this count is 0, then this structure
46 * is no longer valid and it isn't present
47 * in borderTable: it is being kept around
48 * only because there are objects referring
49 * to it. The structure is freed when
50 * resourceRefCount and objRefCount are
51 * both 0. */
52 int objRefCount; /* The number of Tcl objects that reference
53 * this structure. */
54 XColor *bgColorPtr; /* Background color (intensity
55 * between lightColorPtr and
56 * darkColorPtr). */
57 XColor *darkColorPtr; /* Color for darker areas (must free when
58 * deleting structure). NULL means shadows
59 * haven't been allocated yet.*/
60 XColor *lightColorPtr; /* Color used for lighter areas of border
61 * (must free this when deleting structure).
62 * NULL means shadows haven't been allocated
63 * yet. */
64 Pixmap shadow; /* Stipple pattern to use for drawing
65 * shadows areas. Used for displays with
66 * <= 64 colors or where colormap has filled
67 * up. */
68 GC bgGC; /* Used (if necessary) to draw areas in
69 * the background color. */
70 GC darkGC; /* Used to draw darker parts of the
71 * border. None means the shadow colors
72 * haven't been allocated yet.*/
73 GC lightGC; /* Used to draw lighter parts of
74 * the border. None means the shadow colors
75 * haven't been allocated yet. */
76 Tcl_HashEntry *hashPtr; /* Entry in borderTable (needed in
77 * order to delete structure). */
78 struct TkBorder *nextPtr; /* Points to the next TkBorder structure with
79 * the same color name. Borders with the
80 * same name but different screens or
81 * colormaps are chained together off a
82 * single entry in borderTable. */
83 } TkBorder;
84
85
86 /*
87 * Maximum intensity for a color:
88 */
89
90 #define MAX_INTENSITY 65535
91
92 /*
93 * Declarations for platform specific interfaces used by this module.
94 */
95
96 extern TkBorder * TkpGetBorder _ANSI_ARGS_((void));
97 extern void TkpGetShadows _ANSI_ARGS_((TkBorder *borderPtr,
98 Tk_Window tkwin));
99 extern void TkpFreeBorder _ANSI_ARGS_((TkBorder *borderPtr));
100
101 # undef TCL_STORAGE_CLASS
102 # define TCL_STORAGE_CLASS DLLIMPORT
103
104 #endif /* _TK3D */
105
106 /* End of tk3d.h */

Properties

Name Value
svn:keywords Header

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25