summaryrefslogtreecommitdiff
path: root/lib/elements/element.py
diff options
context:
space:
mode:
authorLex Neva <github.com@lexneva.name>2022-08-06 22:59:00 -0400
committerLex Neva <github.com@lexneva.name>2023-02-18 22:34:47 -0500
commitaa65a2bf3fb747dc89e2d905f1fc45b269b5cab4 (patch)
tree5592d1cbcfe92b5302993ddc9b68ad108a5083d9 /lib/elements/element.py
parent2865f4161e4b2e8dc63177ef60a83820ea4f761d (diff)
include guides in cache key
Diffstat (limited to 'lib/elements/element.py')
-rw-r--r--lib/elements/element.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/elements/element.py b/lib/elements/element.py
index 84a9199b..5e8bb072 100644
--- a/lib/elements/element.py
+++ b/lib/elements/element.py
@@ -12,6 +12,7 @@ from inkex import bezier
from ..commands import find_commands
from ..debug import debug
from ..i18n import _
+from ..marker import get_marker_elements_cache_key_data
from ..patterns import apply_patterns, get_patterns_cache_key_data
from ..svg import (PIXELS_PER_MM, apply_transforms, convert_length,
get_node_transform)
@@ -438,6 +439,10 @@ class EmbroideryElement(object):
def _get_patterns_cache_key_data(self):
return get_patterns_cache_key_data(self.node)
+ @cache
+ def _get_guides_cache_key_data(self):
+ return get_marker_elements_cache_key_data(self.node, "guide-line")
+
def _get_cache_key(self, previous_stitch):
cache_key_generator = CacheKeyGenerator()
cache_key_generator.update(self.__class__.__name__)
@@ -447,6 +452,7 @@ class EmbroideryElement(object):
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())
+ cache_key_generator.update(self._get_guides_cache_key_data())
cache_key = cache_key_generator.get_cache_key()
debug.log(f"cache key for {self.node.get('id')} {self.node.get(INKSCAPE_LABEL)} {previous_stitch}: {cache_key}")