diff options
Diffstat (limited to 'generic/Color.h')
-rw-r--r-- | generic/Color.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/generic/Color.h b/generic/Color.h index efbd2b7..bf23af3 100644 --- a/generic/Color.h +++ b/generic/Color.h @@ -39,10 +39,10 @@ typedef struct _GradientColor { * This is in percent of the gradient total size. */ unsigned char control; /* Middle-shade position in percent of this color * size along the gradient axis. */ - unsigned char alpha; - XColor *shades[1]; /* The real shades used to draw this color segment. - * The number of shades is constant for all the colors - * of a given gradient and is setup in num_shades. */ + unsigned char alpha; /* The color alpha channel in percent */ + unsigned char mid_alpha; + XColor *rgb; /* The actual color description */ + XColor *mid_rgb; } ZnGradientColor; typedef struct _Gradient { @@ -54,9 +54,8 @@ typedef struct _Gradient { int angle; /* Angle spec for an axial gradient (Degrees). */ ZnPoint p; /* Center for a radial gradiant. */ } g; - int num_shades; /* Number of shades used for each color */ int num_colors; /* Number of colors in gradient spec. */ - ZnGradientColor *colors[1]; + ZnGradientColor colors[1]; } ZnGradient; @@ -71,12 +70,13 @@ ZnGradient *ZnGetGradientByValue(ZnGradient *gradient); ZnGradient *ZnGetReliefGradient(Tcl_Interp *interp, Tk_Window tkwin, Tk_Uid name); ZnBool ZnGradientFlat(ZnGradient *grad); -XColor *ZnGetGradientColor(Tk_Window tkwin, ZnGradient *gradient, +XColor *ZnGetGradientColor(ZnGradient *gradient, ZnReal position, int *alpha); char *ZnNameOfGradient(ZnGradient *gradient); void ZnFreeGradient(ZnGradient *gradient); void ZnDeleteGradientName(char *name); ZnBool ZnNameGradient(Tcl_Interp *interp, Tk_Window tkwin, char *grad_descr, char *name); +int ZnComposeAlpha(int alpha1, int alpha2); #endif /* _Color_h */ |