@@ -219,6 +219,21 @@ $this | Add-Member -MemberType NoteProperty -Force -Name '.TurtleHeading' -Valu
219219
220220 </SetScriptBlock >
221221 </ScriptProperty >
222+ <ScriptProperty >
223+ <Name >Mask</Name >
224+ <GetScriptBlock >
225+ $segments = @(
226+ "< svg xmlns='http://www.w3.org/2000/svg' width='0%' height='0%'> "
227+ "< defs> "
228+ "< mask id='turtle-mask'> "
229+ $this.Symbol.OuterXml -replace '\< \?[^\> ]+\> '
230+ "< /mask> "
231+ "< /defs> "
232+ "< /svg> "
233+ )
234+ [xml]($segments -join '')
235+ </GetScriptBlock >
236+ </ScriptProperty >
222237 <ScriptProperty >
223238 <Name >Maximum</Name >
224239 <GetScriptBlock >
@@ -303,11 +318,7 @@ $null, $null, $viewX, $viewY = $viewBox
303318 }
304319 )> "
305320 $(if ($this.PatternAnimation) { $this.PatternAnimation })
306- "< path id='turtle-path' d='$($this.PathData)' stroke='$(
307- if ($this.Stroke) { $this.Stroke } else { 'black' }
308- )' stroke-width='$(
309- if ($this.StrokeWidth) { $this.StrokeWidth } else { '0.1%' }
310- )' fill='transparent' class='foreground-stroke' /> "
321+ $this.PathElement.OuterXml
311322 "< /pattern> "
312323"< /defs> "
313324"< rect width='10000%' height='10000%' x='-5000%' y='-5000%' fill='url(#turtle-pattern)' /> "
@@ -334,6 +345,21 @@ $this | Add-Member -MemberType NoteProperty -Force -Name '.PatternAnimation' -Va
334345
335346 </SetScriptBlock >
336347 </ScriptProperty >
348+ <ScriptProperty >
349+ <Name >PatternMask</Name >
350+ <GetScriptBlock >
351+ $segments = @(
352+ "< svg xmlns='http://www.w3.org/2000/svg' width='0%' height='0%'> "
353+ "< defs> "
354+ "< mask id='turtle-mask'> "
355+ $this.Pattern.OuterXml -replace '\< \?[^\> ]+\> '
356+ "< /mask> "
357+ "< /defs> "
358+ "< /svg> "
359+ )
360+ [xml]($segments -join '')
361+ </GetScriptBlock >
362+ </ScriptProperty >
337363 <ScriptProperty >
338364 <Name >PatternTransform</Name >
339365 <GetScriptBlock >
@@ -449,11 +475,7 @@ $this | Add-Member -MemberType NoteProperty -Force -Name '.StrokeWidth' -Value $
449475 param()
450476@(
451477"< svg xmlns='http://www.w3.org/2000/svg' viewBox='$($this.ViewBox)' transform-origin='50% 50%' width='100%' height='100%'> "
452- "< path id='turtle-path' transform-origin='50% 50%' d='$($this.PathData)' stroke='$(
453- if ($this.Stroke) { $this.Stroke } else { '#4488ff' }
454- )' stroke-width='$(
455- if ($this.StrokeWidth) { $this.StrokeWidth } else { '0.1%' }
456- )' fill='transparent'/> "
478+ $this.PathElement.OuterXml
457479"< /svg> "
458480) -join '' -as [xml]
459481 </GetScriptBlock >
@@ -466,11 +488,7 @@ $this | Add-Member -MemberType NoteProperty -Force -Name '.StrokeWidth' -Value $
466488@(
467489 "< svg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%'> "
468490 "< symbol id='turtle-symbol' viewBox='$($this.ViewBox)' transform-origin='50% 50%'> "
469- "< path id='turtle-path' transform-origin='50% 50%' d='$($this.PathData)' stroke='$(
470- if ($this.Stroke) { $this.Stroke } else { 'black' }
471- )' stroke-width='$(
472- if ($this.StrokeWidth) { $this.StrokeWidth } else { '0.1%' }
473- )' fill='transparent'/> "
491+ $this.PathElement.OuterXml
474492 "< /symbol> "
475493 "< use href='#turtle-symbol' width='100%' height='100%' /> "
476494 "< /svg> "
0 commit comments