Correctly apply transforms to vector data and strokes (#1977)

* Fix adding a layer to a transformed group

* Fix assorted transform issues

* Default stroke transform

* Fix bench

* Transform gradient

* Gradient fix

* Add gradient reversal buttons to Fill node in the Properties panel

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
James Lindsay
2024-09-15 23:26:11 +01:00
committed by GitHub
parent 2fa8773092
commit dd4a97b09f
19 changed files with 152 additions and 59 deletions

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path d="M8,7.5c0-1.38,1.12-2.5,2.5-2.5s2.5,1.12,2.5,2.5-1.12,2.5-2.5,2.5-2.5-1.12-2.5-2.5ZM9,7.5c0,.83.67,1.5,1.5,1.5s1.5-.67,1.5-1.5-.67-1.5-1.5-1.5-1.5.67-1.5,1.5z" />
<path d="M5,7.5c0-3.03,2.47-5.5,5.5-5.5s5.5,2.47,5.5,5.5-2.47,5.5-5.5,5.5-5.5-2.47-5.5-5.5ZM6,7.5c0,2.48,2.02,4.5,4.5,4.5s4.5-2.02,4.5-4.5-2.02-4.5-4.5-4.5-4.5,2.02-4.5,4.5z" />
<path d="M3,5v5S0,7.5,0,7.5l3-2.5z" />
<path d="M11,7.5h0c0,.28-.22.5-.5.5H2v-1h8.5c.28,0,.5.22.5.5z" />
</svg>

After

Width:  |  Height:  |  Size: 526 B

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path d="M5.5,10c-1.38,0-2.5-1.12-2.5-2.5s1.12-2.5,2.5-2.5,2.5,1.12,2.5,2.5-1.12,2.5-2.5,2.5ZM5.5,6c-.83,0-1.5.67-1.5,1.5s.67,1.5,1.5,1.5,1.5-.67,1.5-1.5-.67-1.5-1.5-1.5z" />
<path d="M5.5,13c-3.03,0-5.5-2.47-5.5-5.5S2.47,2,5.5,2s5.5,2.47,5.5,5.5-2.47,5.5-5.5,5.5ZM5.5,3C3.02,3,1,5.02,1,7.5s2.02,4.5,4.5,4.5,4.5-2.02,4.5-4.5S7.98,3,5.5,3z" />
<path d="M16,7.5l-3,2.5v-5l3,2.5z" />
<path d="M5.5,7h8.5v1H5.5c-.28,0-.5-.22-.5-.5h0c0-.28.22-.5.5-.5z" />
</svg>

After

Width:  |  Height:  |  Size: 523 B

View File

@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<polygon points="16,7.5 13,5 13,7 3,7 3,5 0,7.5 3,10 3,8 13,8 13,10 16,7.5" />
</svg>

After

Width:  |  Height:  |  Size: 148 B

View File

@@ -148,6 +148,9 @@ import Regenerate from "@graphite-frontend/assets/icon-16px-solid/regenerate.svg
import Reload from "@graphite-frontend/assets/icon-16px-solid/reload.svg";
import Rescale from "@graphite-frontend/assets/icon-16px-solid/rescale.svg";
import Reset from "@graphite-frontend/assets/icon-16px-solid/reset.svg";
import ReverseRadialGradientToLeft from "@graphite-frontend/assets/icon-16px-solid/reverse-radial-gradient-to-left.svg";
import ReverseRadialGradientToRight from "@graphite-frontend/assets/icon-16px-solid/reverse-radial-gradient-to-right.svg";
import Reverse from "@graphite-frontend/assets/icon-16px-solid/reverse.svg";
import Settings from "@graphite-frontend/assets/icon-16px-solid/settings.svg";
import Stack from "@graphite-frontend/assets/icon-16px-solid/stack.svg";
import Trash from "@graphite-frontend/assets/icon-16px-solid/trash.svg";
@@ -223,6 +226,9 @@ const SOLID_16PX = {
Reload: { svg: Reload, size: 16 },
Rescale: { svg: Rescale, size: 16 },
Reset: { svg: Reset, size: 16 },
ReverseRadialGradientToLeft: { svg: ReverseRadialGradientToLeft, size: 16 },
ReverseRadialGradientToRight: { svg: ReverseRadialGradientToRight, size: 16 },
Reverse: { svg: Reverse, size: 16 },
Settings: { svg: Settings, size: 16 },
Stack: { svg: Stack, size: 16 },
Trash: { svg: Trash, size: 16 },