mirror of
https://github.com/penpot/penpot.git
synced 2025-02-11 01:28:30 -05:00
🐛 Fix problem with stroke inside/outside
This commit is contained in:
parent
eed75bcbda
commit
c65e8b4a5e
2 changed files with 19 additions and 4 deletions
|
@ -41,6 +41,7 @@
|
||||||
- Fix path stroke is not working properly with high thickness [Taiga #2154](https://tree.taiga.io/project/penpot/issue/2154).
|
- Fix path stroke is not working properly with high thickness [Taiga #2154](https://tree.taiga.io/project/penpot/issue/2154).
|
||||||
- Fix bug with transformation operations [Taiga #2155](https://tree.taiga.io/project/penpot/issue/2155).
|
- Fix bug with transformation operations [Taiga #2155](https://tree.taiga.io/project/penpot/issue/2155).
|
||||||
- Fix bug in firefox when a text box is inside a mask [Taiga #2152](https://tree.taiga.io/project/penpot/issue/2152).
|
- Fix bug in firefox when a text box is inside a mask [Taiga #2152](https://tree.taiga.io/project/penpot/issue/2152).
|
||||||
|
- Fix problem with stroke inside/outside [Taiga #2186](https://tree.taiga.io/project/penpot/issue/2186)
|
||||||
- Fix paste in place in arboards [Taiga #2188](https://tree.taiga.io/project/penpot/issue/2188)
|
- Fix paste in place in arboards [Taiga #2188](https://tree.taiga.io/project/penpot/issue/2188)
|
||||||
- Fix stroke cut on shapes export [Taiga #2171](https://tree.taiga.io/project/penpot/issue/2171)
|
- Fix stroke cut on shapes export [Taiga #2171](https://tree.taiga.io/project/penpot/issue/2171)
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,22 @@
|
||||||
[{:keys [shape render-id]}]
|
[{:keys [shape render-id]}]
|
||||||
(let [stroke-mask-id (str "outer-stroke-" render-id)
|
(let [stroke-mask-id (str "outer-stroke-" render-id)
|
||||||
shape-id (str "stroke-shape-" render-id)
|
shape-id (str "stroke-shape-" render-id)
|
||||||
stroke-width (:stroke-width shape 0)]
|
stroke-width (case (:stroke-alignment shape :center)
|
||||||
[:mask {:id stroke-mask-id}
|
:center (/ (:stroke-width shape 0) 2)
|
||||||
|
:outer (:stroke-width shape 0)
|
||||||
|
0)
|
||||||
|
margin (gsh/shape-stroke-margin shape stroke-width)
|
||||||
|
bounding-box (-> (gsh/points->selrect (:points shape))
|
||||||
|
(update :x - (+ stroke-width margin))
|
||||||
|
(update :y - (+ stroke-width margin))
|
||||||
|
(update :width + (* 2 (+ stroke-width margin)))
|
||||||
|
(update :height + (* 2 (+ stroke-width margin))))]
|
||||||
|
[:mask {:id stroke-mask-id
|
||||||
|
:x (:x bounding-box)
|
||||||
|
:y (:y bounding-box)
|
||||||
|
:width (:width bounding-box)
|
||||||
|
:height (:height bounding-box)
|
||||||
|
:maskUnits "userSpaceOnUse"}
|
||||||
[:use {:xlinkHref (str "#" shape-id)
|
[:use {:xlinkHref (str "#" shape-id)
|
||||||
:style #js {:fill "none" :stroke "white" :strokeWidth (* stroke-width 2)}}]
|
:style #js {:fill "none" :stroke "white" :strokeWidth (* stroke-width 2)}}]
|
||||||
|
|
||||||
|
@ -146,8 +160,8 @@
|
||||||
|
|
||||||
(mf/defc stroke-defs
|
(mf/defc stroke-defs
|
||||||
[{:keys [shape render-id]}]
|
[{:keys [shape render-id]}]
|
||||||
(when (and (= (:type shape) :path)
|
(when (or (not= (:type shape) :path)
|
||||||
(gsh/open-path? shape))
|
(not (gsh/open-path? shape)))
|
||||||
(cond
|
(cond
|
||||||
(and (= :inner (:stroke-alignment shape :center))
|
(and (= :inner (:stroke-alignment shape :center))
|
||||||
(> (:stroke-width shape 0) 0))
|
(> (:stroke-width shape 0) 0))
|
||||||
|
|
Loading…
Add table
Reference in a new issue