[lasem] [SVG] Fix computation of stop element offset for gradients.
- From: Emmanuel Pacaud <emmanuel src gnome org>
- To: svn-commits-list gnome org
- Subject: [lasem] [SVG] Fix computation of stop element offset for gradients.
- Date: Fri, 15 May 2009 14:47:18 -0400 (EDT)
commit 16191c1a9c9cb4c5d73b0b1686255e0a5473237e
Author: Emmanuel Pacaud <emmanuel pacaud lapp in2p3 fr>
Date: Fri May 15 20:45:24 2009 +0200
[SVG] Fix computation of stop element offset for gradients.
---
src/lsmsvggradientelement.c | 3 +--
src/lsmsvgstopelement.c | 9 ++++++---
src/lsmsvgstopelement.h | 2 +-
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/lsmsvggradientelement.c b/src/lsmsvggradientelement.c
index 0d4053c..2b441b7 100644
--- a/src/lsmsvggradientelement.c
+++ b/src/lsmsvggradientelement.c
@@ -70,8 +70,7 @@ _gradient_element_graphic_render (LsmSvgElement *self, LsmSvgView *view)
stop = LSM_SVG_STOP_ELEMENT (iter);
- offset = lsm_svg_view_normalize_length (view, lsm_svg_stop_element_get_offset (stop),
- LSM_SVG_LENGTH_DIRECTION_DIAGONAL);
+ offset = lsm_svg_stop_element_get_offset (stop);
color = lsm_svg_stop_element_get_color (stop);
opacity = lsm_svg_stop_element_get_opacity (stop);
diff --git a/src/lsmsvgstopelement.c b/src/lsmsvgstopelement.c
index 04196a7..efdd129 100644
--- a/src/lsmsvgstopelement.c
+++ b/src/lsmsvgstopelement.c
@@ -51,12 +51,15 @@ _stop_element_update (LsmSvgElement *self, LsmSvgStyle *parent_style)
/* LsmSvgStopElement implementation */
-const LsmSvgLength *
+double
lsm_svg_stop_element_get_offset (LsmSvgStopElement *self)
{
- g_return_val_if_fail (LSM_IS_SVG_STOP_ELEMENT (self), NULL);
+ g_return_val_if_fail (LSM_IS_SVG_STOP_ELEMENT (self), 0.0);
- return &(LSM_SVG_STOP_ELEMENT (self)->offset.length);
+ if (self->offset.length.type == LSM_SVG_LENGTH_TYPE_PERCENTAGE)
+ return self->offset.length.value_unit / 100.0;
+ else
+ return self->offset.length.value_unit;
}
const LsmSvgColor *
diff --git a/src/lsmsvgstopelement.h b/src/lsmsvgstopelement.h
index 3355aca..c821dd4 100644
--- a/src/lsmsvgstopelement.h
+++ b/src/lsmsvgstopelement.h
@@ -50,7 +50,7 @@ GType lsm_svg_stop_element_get_type (void);
LsmDomNode * lsm_svg_stop_element_new (void);
-const LsmSvgLength * lsm_svg_stop_element_get_offset (LsmSvgStopElement *self);
+double lsm_svg_stop_element_get_offset (LsmSvgStopElement *self);
const LsmSvgColor * lsm_svg_stop_element_get_color (LsmSvgStopElement *self);
double lsm_svg_stop_element_get_opacity (LsmSvgStopElement *self);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]