aboutsummaryrefslogtreecommitdiff
path: root/generic/Icon.c
diff options
context:
space:
mode:
authorlecoanet2002-02-18 16:03:54 +0000
committerlecoanet2002-02-18 16:03:54 +0000
commit6b36f92065f054abd810d956169a87180677d4f7 (patch)
treed2d16c8be93c67d15670eccce326dba5276acda1 /generic/Icon.c
parent67dd05047282a179b5fac88564bb3494a69ecd23 (diff)
downloadtkzinc-6b36f92065f054abd810d956169a87180677d4f7.zip
tkzinc-6b36f92065f054abd810d956169a87180677d4f7.tar.gz
tkzinc-6b36f92065f054abd810d956169a87180677d4f7.tar.bz2
tkzinc-6b36f92065f054abd810d956169a87180677d4f7.tar.xz
Passage des couleurs en gradients pour uniformiser
Diffstat (limited to 'generic/Icon.c')
-rw-r--r--generic/Icon.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/generic/Icon.c b/generic/Icon.c
index 94e7bec..d824c0c 100644
--- a/generic/Icon.c
+++ b/generic/Icon.c
@@ -55,8 +55,8 @@ typedef struct _IconItemStruct {
ZnAnchor anchor;
ZnAnchor connection_anchor;
Pixmap mask; /* Used only if the image is *NOT* specified */
- ZnColor color; /* Used only with the mask in GLX */
- int alpha; /* Used only with the image in GLX */
+ ZnGradient *color; /* Used only with the mask in GLX (alpha part
+ * is always meaningful). */
/* Private data */
ZnPoint pos_dev;
@@ -65,11 +65,9 @@ typedef struct _IconItemStruct {
static ZnAttrConfig icon_attrs[] = {
- { ZN_CONFIG_ALPHA, "-alpha", NULL,
- Tk_Offset(IconItemStruct, alpha), 0, ZN_DRAW_FLAG, False },
{ ZN_CONFIG_ANCHOR, "-anchor", NULL,
Tk_Offset(IconItemStruct, anchor), 0, ZN_COORDS_FLAG, False },
- { ZN_CONFIG_COLOR, "-color", NULL,
+ { ZN_CONFIG_GRADIENT, "-color", NULL,
Tk_Offset(IconItemStruct, color), 0, ZN_DRAW_FLAG, False },
{ ZN_CONFIG_BOOL, "-composerotation", NULL,
Tk_Offset(IconItemStruct, header.flags), COMPOSE_ROTATION_BIT,
@@ -156,8 +154,7 @@ Init(Item item,
icon->anchor = ZnAnchorNW;
icon->connection_anchor = ZnAnchorSW;
icon->mask = ZnUnspecifiedPattern;
- icon->color = ZnGetColorByValue(wi->win, wi->fore_color);
- icon->alpha = 100;
+ icon->color = ZnGetGradientByValue(wi->fore_gradient);
return ZN_OK;
}
@@ -188,7 +185,7 @@ Clone(Item item)
icon->mask = Tk_GetBitmap(wi->interp, wi->win,
Tk_NameOfBitmap(wi->dpy, icon->mask));
}
- icon->color = ZnGetColorByValue(wi->win, icon->color);
+ icon->color = ZnGetGradientByValue(icon->color);
}
@@ -216,7 +213,7 @@ Destroy(Item item)
Tk_FreeBitmap(wi->dpy, icon->mask);
icon->mask = ZnUnspecifiedPattern;
}
- ZnFreeColor(icon->color);
+ ZnFreeGradient(icon->color);
}
@@ -517,7 +514,7 @@ Draw(Item item)
values.stipple = icon->mask;
values.ts_x_origin = icon->pos_dev.x;
values.ts_y_origin = icon->pos_dev.y;
- values.foreground = ZnPixel(icon->color);
+ values.foreground = ZnPixel(ZnGetGradientColor(icon->color, 0, NULL));
gc_mask |= GCFillStyle | GCStipple | GCTileStipXOrigin | GCTileStipYOrigin | GCForeground;
XChangeGC(wi->dpy, wi->gc, gc_mask, &values);
XFillRectangle(wi->dpy, wi->draw_buffer, wi->gc,
@@ -541,14 +538,13 @@ Render(Item item)
WidgetInfo *wi = item->wi;
IconItem icon = (IconItem) item;
-
if (icon->image != ZnUnspecifiedImage) {
RenderImage(wi, GetImageTexture(wi->win, icon->image_name, icon->image),
- NULL, icon->alpha, &icon->pos_dev);
+ icon->color, &icon->pos_dev, False);
}
else if (icon->mask != ZnUnspecifiedPattern) {
RenderImage(wi, (ImageBits *) GetBitmapTexture(wi->dpy, icon->mask),
- icon->color, icon->alpha, &icon->pos_dev);
+ icon->color, &icon->pos_dev, True);
}
#endif
}