diff options
Diffstat (limited to 'lib/elements/element.py')
| -rw-r--r-- | lib/elements/element.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/elements/element.py b/lib/elements/element.py index 963653af..d6881955 100644 --- a/lib/elements/element.py +++ b/lib/elements/element.py @@ -526,6 +526,14 @@ class EmbroideryElement(object): def _get_guides_cache_key_data(self): return get_marker_elements_cache_key_data(self.node, "guide-line") + def _get_gradient_cache_key_data(self): + gradient = {} + if hasattr(self, 'gradient') and self.gradient is not None: + gradient['stops'] = self.gradient.stop_offsets + gradient['orientation'] = [self.gradient.x1(), self.gradient.x2(), self.gradient.y1(), self.gradient.y2()] + gradient['styles'] = [(style['stop-color'], style['stop-opacity']) for style in self.gradient.stop_styles] + return gradient + def get_cache_key_data(self, previous_stitch): return [] @@ -535,6 +543,7 @@ class EmbroideryElement(object): cache_key_generator.update(self.get_params_and_values()) cache_key_generator.update(self.parse_path()) cache_key_generator.update(list(self._get_specified_style().items())) + cache_key_generator.update(self._get_gradient_cache_key_data()) cache_key_generator.update(previous_stitch) cache_key_generator.update([(c.command, c.target_point) for c in self.commands]) cache_key_generator.update(self._get_patterns_cache_key_data()) |
