[gtk+] cssimage: Fix gradient start/end computation
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] cssimage: Fix gradient start/end computation
- Date: Sat, 6 Oct 2012 19:56:37 +0000 (UTC)
commit 588ee411ad82b890263d3f56af801681954dfc2c
Author: Benjamin Otte <otte redhat com>
Date: Sat Oct 6 15:54:10 2012 -0400
cssimage: Fix gradient start/end computation
This computation is only supposed to happen for repeating gradients, not
for all of them.
gtk/gtkcssimagelinear.c | 42 +++++++++++++++++++++++++-----------------
1 files changed, 25 insertions(+), 17 deletions(-)
---
diff --git a/gtk/gtkcssimagelinear.c b/gtk/gtkcssimagelinear.c
index bd80d5f..b09131d 100644
--- a/gtk/gtkcssimagelinear.c
+++ b/gtk/gtkcssimagelinear.c
@@ -40,28 +40,36 @@ gtk_css_image_linear_get_start_end (GtkCssImageLinear *linear,
double pos;
guint i;
- stop = &g_array_index (linear->stops, GtkCssImageLinearColorStop, 0);
- if (stop->offset == NULL)
- *start = 0;
- else
- *start = _gtk_css_number_value_get (stop->offset, length) / length;
-
- *end = *start;
-
- for (i = 0; i < linear->stops->len; i++)
+ if (linear->repeating)
{
- stop = &g_array_index (linear->stops, GtkCssImageLinearColorStop, i);
-
+ stop = &g_array_index (linear->stops, GtkCssImageLinearColorStop, 0);
if (stop->offset == NULL)
- continue;
+ *start = 0;
+ else
+ *start = _gtk_css_number_value_get (stop->offset, length) / length;
- pos = _gtk_css_number_value_get (stop->offset, length) / length;
+ *end = *start;
- *end = MAX (pos, *end);
+ for (i = 0; i < linear->stops->len; i++)
+ {
+ stop = &g_array_index (linear->stops, GtkCssImageLinearColorStop, i);
+
+ if (stop->offset == NULL)
+ continue;
+
+ pos = _gtk_css_number_value_get (stop->offset, length) / length;
+
+ *end = MAX (pos, *end);
+ }
+
+ if (stop->offset == NULL)
+ *end = MAX (*end, 1.0);
+ }
+ else
+ {
+ *start = 0;
+ *end = 1;
}
-
- if (stop->offset == NULL)
- *end = MAX (*end, 1.0);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]