aboutsummaryrefslogtreecommitdiff
path: root/generic/Item.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/Item.c')
-rw-r--r--generic/Item.c70
1 files changed, 21 insertions, 49 deletions
diff --git a/generic/Item.c b/generic/Item.c
index 2e8050a..752e330 100644
--- a/generic/Item.c
+++ b/generic/Item.c
@@ -87,7 +87,7 @@ typedef struct _FieldStruct {
/* Private data */
ZnImage image;
ZnImage tile;
- ZnColorGradient gradient;
+ ZnGradient *gradient;
short orig_x;
short orig_y;
short corner_x;
@@ -178,8 +178,7 @@ static char *attribute_type_strings[] = {
"leaderanchors",
"joinstyle",
"capstyle",
- "gradientgeometry",
- "gradientcolor",
+ "gradient",
"window"
};
@@ -394,26 +393,26 @@ ConfigureAttributes(char *record,
}
break;
}
- case ZN_CONFIG_GRADIENT_COLOR:
+ case ZN_CONFIG_GRADIENT:
{
- ZnColorGradient cg;
+ ZnGradient *g;
Tk_Uid new_name = Tk_GetUid(Tcl_GetString(args[i+1]));
char *name = NULL;
- if (*((ZnColorGradient *) valp)) {
- name = ZnNameOfColorGradient(*((ZnColorGradient *) valp));
+ if (*((ZnGradient **) valp)) {
+ name = ZnNameOfGradient(*((ZnGradient **) valp));
}
if (name != new_name) {
- cg = ZnGetColorGradient(wi->interp, wi->win, new_name);
- if (!cg) {
+ g = ZnGetGradient(wi->interp, wi->win, new_name);
+ if (!g) {
Tcl_AppendResult(wi->interp,
- " color gradient expected for attribute \"",
+ " gradient expected for attribute \"",
Tcl_GetString(args[i]), "\"", NULL);
return ZN_ERROR;
}
- if (*((ZnColorGradient *) valp)) {
- ZnFreeColorGradient(*((ZnColorGradient *) valp));
+ if (*((ZnGradient **) valp)) {
+ ZnFreeGradient(*((ZnGradient **) valp));
}
- *((ZnColorGradient *) valp) = cg;
+ *((ZnGradient **) valp) = g;
*flags |= desc->flags;
}
break;
@@ -716,29 +715,6 @@ ConfigureAttributes(char *record,
}
break;
}
- case ZN_CONFIG_GRADIENT_GEOM:
- {
- ZnGradientGeom gg = NULL;
- str = Tcl_GetString(args[i+1]);
- if (strlen(str) != 0) {
- gg = GradientGeomCreate(wi->interp, str);
- if (gg == NULL) {
- return ZN_ERROR;
- }
- }
- if (*((ZnGradientGeom *) valp) != NULL) {
- GradientGeomDelete(*((ZnGradientGeom *) valp));
- *((ZnGradientGeom *) valp) = gg;
- *flags |= desc->flags;
- }
- else {
- if (gg != NULL) {
- *((ZnGradientGeom *) valp) = gg;
- *flags |= desc->flags;
- }
- }
- break;
- }
case ZN_CONFIG_RELIEF:
{
int relief;
@@ -1210,6 +1186,12 @@ AttributeToObj(WidgetInfo *wi,
Tcl_SetStringObj(result, str, strlen(str));
}
break;
+ case ZN_CONFIG_GRADIENT:
+ if (*((ZnGradient **) valp)) {
+ str = ZnNameOfGradient(*((ZnGradient **) valp));
+ Tcl_SetStringObj(result, str, strlen(str));
+ }
+ break;
case ZN_CONFIG_BOOL:
Tcl_SetBooleanObj(result, ISSET(*((char *) valp), desc->bool_bit)?1:0);
break;
@@ -1375,16 +1357,6 @@ AttributeToObj(WidgetInfo *wi,
}
break;
}
- case ZN_CONFIG_GRADIENT_GEOM:
- {
- ZnGradientGeom gg = *((ZnGradientGeom *) valp);
-
- if (gg) {
- str = GradientGeomGetString(gg);
- Tcl_SetStringObj(result, str, strlen(str));
- }
- break;
- }
case ZN_CONFIG_RELIEF:
str = Tk_NameOfRelief(*((ReliefStyle *) valp));
Tcl_SetStringObj(result, str, strlen(str));
@@ -3716,7 +3688,7 @@ CloneFields(FieldSet field_set)
for (i = 0; i < num_fields; i++) {
field = &fields_ret[i];
if (field->gradient) {
- field->gradient = ZnGetColorGradientByValue(field->gradient);
+ field->gradient = ZnGetGradientByValue(field->gradient);
}
if (strlen(field->image_name) != 0) {
@@ -3789,7 +3761,7 @@ ConfigureField(FieldSet field_set,
if (field_ptr->gradient &&
(ISSET(*flags, ZN_BORDER_FLAG) || (field_ptr->relief == RELIEF_FLAT))) {
- ZnFreeColorGradient(field_ptr->gradient);
+ ZnFreeGradient(field_ptr->gradient);
field_ptr->gradient = NULL;
}
if ((field_ptr->relief != RELIEF_FLAT) && !field_ptr->gradient) {
@@ -3912,7 +3884,7 @@ FreeFields(FieldSet field_set)
ZnFree(field->text);
}
if (field->gradient) {
- ZnFreeColorGradient(field->gradient);
+ ZnFreeGradient(field->gradient);
}
if (field->image != ZnUnspecifiedImage) {
Tk_FreeImage(field->image);