aboutsummaryrefslogtreecommitdiff
path: root/generic/Color.h
diff options
context:
space:
mode:
authorlecoanet2003-04-16 09:49:22 +0000
committerlecoanet2003-04-16 09:49:22 +0000
commit3261805fee19e346b4d1f84b23816daa1628764a (patch)
tree63ca1d7e4b0a3d9ae49cc0888e58033c3ef3fe22 /generic/Color.h
parenteed2656db0adae2c234c3d74af0913746ed5c444 (diff)
downloadtkzinc-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.h25
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 */