From 3261805fee19e346b4d1f84b23816daa1628764a Mon Sep 17 00:00:00 2001 From: lecoanet Date: Wed, 16 Apr 2003 09:49:22 +0000 Subject: Update from the Windows port and general cleanup/restructure --- generic/Color.h | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'generic/Color.h') 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 */ -- cgit v1.1