OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [start/] [insight/] [tk/] [generic/] [tk3d.h] - Blame information for rev 578

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 markom
/*
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.1.1.1 2002-01-16 10:25:50 markom 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
 
32
typedef 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
 
79
EXTERN TkBorder *       TkpGetBorder _ANSI_ARGS_((void));
80
EXTERN void             TkpGetShadows _ANSI_ARGS_((TkBorder *borderPtr,
81
                            Tk_Window tkwin));
82
EXTERN void             TkpFreeBorder _ANSI_ARGS_((TkBorder *borderPtr));
83
 
84
# undef TCL_STORAGE_CLASS
85
# define TCL_STORAGE_CLASS DLLIMPORT
86
 
87
#endif /* _TK3D */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.