1 |
dashley |
25 |
/* $Header: /cvsroot/esrg/sfesrg/esrgpcpj/shared/tk_base/tkcolor.h,v 1.1.1.1 2001/06/13 04:58:33 dtashley Exp $ */
|
2 |
|
|
|
3 |
|
|
/*
|
4 |
|
|
* tkColor.h --
|
5 |
|
|
*
|
6 |
|
|
* Declarations of data types and functions used by the
|
7 |
|
|
* Tk color 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: tkcolor.h,v 1.1.1.1 2001/06/13 04:58:33 dtashley Exp $
|
15 |
|
|
*/
|
16 |
|
|
|
17 |
|
|
#ifndef _TKCOLOR
|
18 |
|
|
#define _TKCOLOR
|
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 used to keep track of
|
29 |
|
|
* each color that is being used by the application; typically there
|
30 |
|
|
* is a colormap entry allocated for each of these colors.
|
31 |
|
|
*/
|
32 |
|
|
|
33 |
|
|
#define TK_COLOR_BY_NAME 1
|
34 |
|
|
#define TK_COLOR_BY_VALUE 2
|
35 |
|
|
|
36 |
|
|
#define COLOR_MAGIC ((unsigned int) 0x46140277)
|
37 |
|
|
|
38 |
|
|
typedef struct TkColor {
|
39 |
|
|
XColor color; /* Information about this color. */
|
40 |
|
|
unsigned int magic; /* Used for quick integrity check on this
|
41 |
|
|
* structure. Must always have the
|
42 |
|
|
* value COLOR_MAGIC. */
|
43 |
|
|
GC gc; /* Simple gc with this color as foreground
|
44 |
|
|
* color and all other fields defaulted.
|
45 |
|
|
* May be None. */
|
46 |
|
|
Screen *screen; /* Screen where this color is valid. Used
|
47 |
|
|
* to delete it, and to find its display. */
|
48 |
|
|
Colormap colormap; /* Colormap from which this entry was
|
49 |
|
|
* allocated. */
|
50 |
|
|
Visual *visual; /* Visual associated with colormap. */
|
51 |
|
|
int resourceRefCount; /* Number of active uses of this color (each
|
52 |
|
|
* active use corresponds to a call to
|
53 |
|
|
* Tk_AllocColorFromObj or Tk_GetColor).
|
54 |
|
|
* If this count is 0, then this TkColor
|
55 |
|
|
* structure is no longer valid and it isn't
|
56 |
|
|
* present in a hash table: it is being
|
57 |
|
|
* kept around only because there are objects
|
58 |
|
|
* referring to it. The structure is freed
|
59 |
|
|
* when resourceRefCount and objRefCount
|
60 |
|
|
* are both 0. */
|
61 |
|
|
int objRefCount; /* The number of Tcl objects that reference
|
62 |
|
|
* this structure. */
|
63 |
|
|
int type; /* TK_COLOR_BY_NAME or TK_COLOR_BY_VALUE */
|
64 |
|
|
Tcl_HashEntry *hashPtr; /* Pointer to hash table entry for this
|
65 |
|
|
* structure. (for use in deleting entry). */
|
66 |
|
|
struct TkColor *nextPtr; /* Points to the next TkColor structure with
|
67 |
|
|
* the same color name. Colors with the
|
68 |
|
|
* same name but different screens or
|
69 |
|
|
* colormaps are chained together off a
|
70 |
|
|
* single entry in nameTable. For colors in
|
71 |
|
|
* valueTable (those allocated by
|
72 |
|
|
* Tk_GetColorByValue) this field is always
|
73 |
|
|
* NULL. */
|
74 |
|
|
} TkColor;
|
75 |
|
|
|
76 |
|
|
/*
|
77 |
|
|
* Common APIs exported from all platform-specific implementations.
|
78 |
|
|
*/
|
79 |
|
|
|
80 |
|
|
#ifndef TkpFreeColor
|
81 |
|
|
extern void TkpFreeColor _ANSI_ARGS_((TkColor *tkColPtr));
|
82 |
|
|
#endif
|
83 |
|
|
extern TkColor * TkpGetColor _ANSI_ARGS_((Tk_Window tkwin,
|
84 |
|
|
Tk_Uid name));
|
85 |
|
|
extern TkColor * TkpGetColorByValue _ANSI_ARGS_((Tk_Window tkwin,
|
86 |
|
|
XColor *colorPtr));
|
87 |
|
|
|
88 |
|
|
# undef TCL_STORAGE_CLASS
|
89 |
|
|
# define TCL_STORAGE_CLASS DLLIMPORT
|
90 |
|
|
|
91 |
|
|
#endif /* _TKCOLOR */
|
92 |
|
|
|
93 |
|
|
|
94 |
|
|
/* $History: tkColor.h $
|
95 |
|
|
*
|
96 |
|
|
* ***************** Version 1 *****************
|
97 |
|
|
* User: Dtashley Date: 1/02/01 Time: 2:40a
|
98 |
|
|
* Created in $/IjuScripter, IjuConsole/Source/Tk Base
|
99 |
|
|
* Initial check-in.
|
100 |
|
|
*/
|
101 |
|
|
|
102 |
|
|
/* End of TKCOLOR.H */ |