diff --git a/roentgen/extract_icon.py b/roentgen/extract_icon.py index 62278b0..c96e899 100644 --- a/roentgen/extract_icon.py +++ b/roentgen/extract_icon.py @@ -55,18 +55,18 @@ class IconExtractor: for sub_node in node.childNodes: self.parse(sub_node) - def get_path(self, id_: str) -> (str, float, float): + def get_path(self, id_: str) -> (str, float, float, bool): """ Get SVG path of the icon. :param id_: string icon ID """ if id_ in self.icons: - return self.icons[id_] + return list(self.icons[id_]) + [True] else: if id_ == "no": - return "M 4,4 L 4,10 10,10 10,4 z", 0, 0 + return "M 4,4 L 4,10 10,10 10,4 z", 0, 0, False if id_ == "small": - return "M 6,6 L 6,8 8,8 8,6 z", 0, 0 + return "M 6,6 L 6,8 8,8 8,6 z", 0, 0, False ui.error(f"no such icon ID {id_}") - return "M 4,4 L 4,10 10,10 10,4 z", 0, 0 + return "M 4,4 L 4,10 10,10 10,4 z", 0, 0, False diff --git a/roentgen/mapper.py b/roentgen/mapper.py index a8f6ca2..8778918 100644 --- a/roentgen/mapper.py +++ b/roentgen/mapper.py @@ -375,11 +375,11 @@ class Painter: name = [name] if self.mode not in ["time", "user-coloring"]: for one_name in name: - shape, xx, yy = self.icons.get_path(one_name) + shape, xx, yy, _ = self.icons.get_path(one_name) self.draw_point_outline( shape, x, y, fill, mode=self.mode, size=16, xx=xx, yy=yy) for one_name in name: - shape, xx, yy = self.icons.get_path(one_name) + shape, xx, yy, _ = self.icons.get_path(one_name) self.draw_point(shape, x, y, fill, size=16, xx=xx, yy=yy, tags=tags) def draw_point(self, shape, x, y, fill, size=16, xx=0, yy=0, tags=None): diff --git a/test.py b/test.py index bc8348f..36582cf 100644 --- a/test.py +++ b/test.py @@ -51,8 +51,8 @@ def test_icons(): for icons_to_draw in to_draw: icon_set = {'icons': []} for icon in icons_to_draw: - path, xx, yy = extracter.get_path(icon) - assert xx + path, xx, yy, is_shape = extracter.get_path(icon) + assert is_shape, icon icon_set['icons'].append({'path': path, 'x': (- 8.0 - xx * 16), 'y': (- 8.0 - yy * 16)})