From e30e49df4f3615b410bdf7a907cc355f868938ad Mon Sep 17 00:00:00 2001 From: Keavon Chambers Date: Mon, 11 May 2026 03:50:02 -0700 Subject: [PATCH] Add icons for stroke align, cap, join, and order --- .branding | 4 ++-- frontend/src/icons.ts | 22 +++++++++++++++++++ .../vector-types/src/vector/style.rs | 11 ++++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/.branding b/.branding index 502179944e..a1e4b99adc 100644 --- a/.branding +++ b/.branding @@ -1,2 +1,2 @@ -https://github.com/Keavon/graphite-branded-assets/archive/b83626b10f0f9102503c845354e9e3f161949ce0.tar.gz -353e9cba90f420b11863055a32e554937638b47d1539632ef0e8a30f37a353d7 +https://github.com/Keavon/graphite-branded-assets/archive/69b92281fa4640c8df994c5bf441ba78ae43c6c9.tar.gz +3b827e8731a1214f1eca0240b9c2622697dc9e9ebfddc3a640ff88fb463161af diff --git a/frontend/src/icons.ts b/frontend/src/icons.ts index 86491617b2..54d3ae01dc 100644 --- a/frontend/src/icons.ts +++ b/frontend/src/icons.ts @@ -199,6 +199,17 @@ import StackLower from "/../branding/assets/icon-16px-solid/stack-lower.svg"; import StackRaise from "/../branding/assets/icon-16px-solid/stack-raise.svg"; import StackReverse from "/../branding/assets/icon-16px-solid/stack-reverse.svg"; import Stack from "/../branding/assets/icon-16px-solid/stack.svg"; +import StrokeAlignCenter from "/../branding/assets/icon-16px-solid/stroke-align-center.svg"; +import StrokeAlignInside from "/../branding/assets/icon-16px-solid/stroke-align-inside.svg"; +import StrokeAlignOutside from "/../branding/assets/icon-16px-solid/stroke-align-outside.svg"; +import StrokeCapButt from "/../branding/assets/icon-16px-solid/stroke-cap-butt.svg"; +import StrokeCapRound from "/../branding/assets/icon-16px-solid/stroke-cap-round.svg"; +import StrokeCapSquare from "/../branding/assets/icon-16px-solid/stroke-cap-square.svg"; +import StrokeJoinBevel from "/../branding/assets/icon-16px-solid/stroke-join-bevel.svg"; +import StrokeJoinMiter from "/../branding/assets/icon-16px-solid/stroke-join-miter.svg"; +import StrokeJoinRound from "/../branding/assets/icon-16px-solid/stroke-join-round.svg"; +import StrokeOrderAbove from "/../branding/assets/icon-16px-solid/stroke-order-above.svg"; +import StrokeOrderBelow from "/../branding/assets/icon-16px-solid/stroke-order-below.svg"; import TextAlignCenter from "/../branding/assets/icon-16px-solid/text-align-center.svg"; import TextAlignLeft from "/../branding/assets/icon-16px-solid/text-align-left.svg"; import TextAlignRight from "/../branding/assets/icon-16px-solid/text-align-right.svg"; @@ -327,6 +338,17 @@ const SOLID_16PX = { StackLower: { svg: StackLower, size: 16 }, StackRaise: { svg: StackRaise, size: 16 }, StackReverse: { svg: StackReverse, size: 16 }, + StrokeAlignCenter: { svg: StrokeAlignCenter, size: 16 }, + StrokeAlignInside: { svg: StrokeAlignInside, size: 16 }, + StrokeAlignOutside: { svg: StrokeAlignOutside, size: 16 }, + StrokeCapButt: { svg: StrokeCapButt, size: 16 }, + StrokeCapRound: { svg: StrokeCapRound, size: 16 }, + StrokeCapSquare: { svg: StrokeCapSquare, size: 16 }, + StrokeJoinBevel: { svg: StrokeJoinBevel, size: 16 }, + StrokeJoinMiter: { svg: StrokeJoinMiter, size: 16 }, + StrokeJoinRound: { svg: StrokeJoinRound, size: 16 }, + StrokeOrderAbove: { svg: StrokeOrderAbove, size: 16 }, + StrokeOrderBelow: { svg: StrokeOrderBelow, size: 16 }, TextAlignCenter: { svg: TextAlignCenter, size: 16 }, TextAlignLeft: { svg: TextAlignLeft, size: 16 }, TextAlignRight: { svg: TextAlignRight, size: 16 }, diff --git a/node-graph/libraries/vector-types/src/vector/style.rs b/node-graph/libraries/vector-types/src/vector/style.rs index ff1d826211..71c4a9646b 100644 --- a/node-graph/libraries/vector-types/src/vector/style.rs +++ b/node-graph/libraries/vector-types/src/vector/style.rs @@ -230,8 +230,11 @@ impl From for FillChoice { #[widget(Radio)] pub enum StrokeCap { #[default] + #[icon("StrokeCapButt")] Butt, + #[icon("StrokeCapRound")] Round, + #[icon("StrokeCapSquare")] Square, } @@ -252,8 +255,11 @@ impl StrokeCap { #[widget(Radio)] pub enum StrokeJoin { #[default] + #[icon("StrokeJoinMiter")] Miter, + #[icon("StrokeJoinBevel")] Bevel, + #[icon("StrokeJoinRound")] Round, } @@ -274,8 +280,11 @@ impl StrokeJoin { #[widget(Radio)] pub enum StrokeAlign { #[default] + #[icon("StrokeAlignCenter")] Center, + #[icon("StrokeAlignInside")] Inside, + #[icon("StrokeAlignOutside")] Outside, } @@ -292,7 +301,9 @@ impl StrokeAlign { #[widget(Radio)] pub enum PaintOrder { #[default] + #[icon("StrokeOrderAbove")] StrokeAbove, + #[icon("StrokeOrderBelow")] StrokeBelow, }