From 765375f04c1b07aa197db71f344a9ea29503f057 Mon Sep 17 00:00:00 2001 From: yyc12345 Date: Mon, 7 Sep 2026 21:02:14 +0800 Subject: [PATCH] feat: add plus/minus icons --- .../std_icons/components.py | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/tool/src/aurora_iconset_builder/std_icons/components.py b/tool/src/aurora_iconset_builder/std_icons/components.py index d0a75f5..69ad444 100644 --- a/tool/src/aurora_iconset_builder/std_icons/components.py +++ b/tool/src/aurora_iconset_builder/std_icons/components.py @@ -26,6 +26,26 @@ def register(ctx: AuroraContext) -> None: ), build_triangle_icons, ) + ctx.register( + "component/plus", + ( + SvgSource("component", "plus.svg"), + TempArtSource("component", "generic-background.png"), + NewArtSource(), + TempArtSink("component", "plus.png"), + ), + build_plus_icon, + ) + ctx.register( + "component/minus", + ( + SvgSource("component", "minus.svg"), + TempArtSource("component", "generic-background.png"), + NewArtSource(), + TempArtSink("component", "minus.png"), + ), + build_minus_icon, + ) def build_generic_background( @@ -69,3 +89,35 @@ def build_triangle_icons( sink_down.push(env, tri_down) sink_right.push(env, tri_right) sink_up.push(env, tri_up) + + +def build_plus_icon( + env: AuroraEnvironment, + plus_src: SvgSource, + bg_src: TempArtSource, + new_art: NewArtSource, + sink: TempArtSink, +) -> None: + plus = plus_src.pull(env) + bg = bg_src.pull(env) + + art = new_art.pull() + art.paste(bg, (0, 0), plus) + + sink.push(env, art) + + +def build_minus_icon( + env: AuroraEnvironment, + minus_src: SvgSource, + bg_src: TempArtSource, + new_art: NewArtSource, + sink: TempArtSink, +) -> None: + minus = minus_src.pull(env) + bg = bg_src.pull(env) + + art = new_art.pull() + art.paste(bg, (0, 0), minus) + + sink.push(env, art)