diff options
author | lecoanet | 2001-06-25 11:20:03 +0000 |
---|---|---|
committer | lecoanet | 2001-06-25 11:20:03 +0000 |
commit | a3adeee4ca08764b8e78282c4b1cd57a0d830c0d (patch) | |
tree | 45ce35e7184460623d82f84842f63326466e3374 /generic/Item.c | |
parent | e3c6410aaa3aa3257d40a506b496c4cba137ae0c (diff) | |
download | tkzinc-a3adeee4ca08764b8e78282c4b1cd57a0d830c0d.zip tkzinc-a3adeee4ca08764b8e78282c4b1cd57a0d830c0d.tar.gz tkzinc-a3adeee4ca08764b8e78282c4b1cd57a0d830c0d.tar.bz2 tkzinc-a3adeee4ca08764b8e78282c4b1cd57a0d830c0d.tar.xz |
Modification des gradients
Diffstat (limited to 'generic/Item.c')
-rw-r--r-- | generic/Item.c | 70 |
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); |