diff options
author | lecoanet | 2003-04-16 09:49:22 +0000 |
---|---|---|
committer | lecoanet | 2003-04-16 09:49:22 +0000 |
commit | 3261805fee19e346b4d1f84b23816daa1628764a (patch) | |
tree | 63ca1d7e4b0a3d9ae49cc0888e58033c3ef3fe22 /generic/Color.h | |
parent | eed2656db0adae2c234c3d74af0913746ed5c444 (diff) | |
download | tkzinc-3261805fee19e346b4d1f84b23816daa1628764a.zip tkzinc-3261805fee19e346b4d1f84b23816daa1628764a.tar.gz tkzinc-3261805fee19e346b4d1f84b23816daa1628764a.tar.bz2 tkzinc-3261805fee19e346b4d1f84b23816daa1628764a.tar.xz |
Update from the Windows port and general cleanup/restructure
Diffstat (limited to 'generic/Color.h')
-rw-r--r-- | generic/Color.h | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/generic/Color.h b/generic/Color.h index c55a256..a3fe2ce 100644 --- a/generic/Color.h +++ b/generic/Color.h @@ -32,9 +32,17 @@ #include "Types.h" +#include "Geo.h" -typedef struct _GradientColor { +/* + * Types of gradients. + */ +#define ZN_AXIAL_GRADIENT 0 +#define ZN_RADIAL_GRADIENT 1 +#define ZN_PATH_GRADIENT 2 + +typedef struct _ZnGradientColor { unsigned char position; /* Color starting position along the gradient axis. * This is in percent of the gradient total size. */ unsigned char control; /* Middle-shade position in percent of this color @@ -45,7 +53,7 @@ typedef struct _GradientColor { XColor *mid_rgb; } ZnGradientColor; -typedef struct _Gradient { +typedef struct _ZnGradient { int ref_count; Tcl_HashEntry *hash; char type; /* Either ZN_AXIAL_GRADIENT (lines) or @@ -54,30 +62,25 @@ typedef struct _Gradient { int angle; /* Angle spec for an axial gradient (Degrees). */ ZnPoint p; /* Center for a radial gradiant. */ } g; - int num_colors; /* Number of colors in gradient spec. */ + unsigned int num_colors; /* Number of colors in gradient spec. */ ZnGradientColor colors[1]; } ZnGradient; -XColor *ZnGetColor(Tcl_Interp *interp, Tk_Window tkwin, Tk_Uid name); -XColor *ZnGetColorByValue(Tk_Window tkwin, XColor *color); -Tk_Uid ZnNameOfColor(XColor *color); -void ZnFreeColor(XColor *color); - ZnGradient *ZnGetGradient(Tcl_Interp *interp, Tk_Window tkwin, Tk_Uid name); ZnGradient *ZnGetGradientByValue(ZnGradient *gradient); ZnGradient *ZnGetReliefGradient(Tcl_Interp *interp, Tk_Window tkwin, - Tk_Uid name, int alpha); + Tk_Uid name, unsigned short alpha); ZnBool ZnGradientFlat(ZnGradient *grad); XColor *ZnGetGradientColor(ZnGradient *gradient, - ZnReal position, int *alpha); + ZnReal position, unsigned short *alpha); char *ZnNameOfGradient(ZnGradient *gradient); void ZnFreeGradient(ZnGradient *gradient); void ZnDeleteGradientName(char *name); ZnBool ZnGradientNameExists(char *name); ZnBool ZnNameGradient(Tcl_Interp *interp, Tk_Window tkwin, char *grad_descr, char *name); -int ZnComposeAlpha(int alpha1, int alpha2); +int ZnComposeAlpha(unsigned short alpha1, unsigned short alpha2); #endif /* _Color_h */ |