How do I specify a non-filled SVG path

jameshale james at thehales.id.au
Sat Apr 23 02:53:02 EDT 2016


OK I worked it out.

One needs to draw two paths, an outer and an inner.
Then open the SVG file in a text editor and remove everything except the
actual path instructions.
This includes removing "fill" and "stroke" attributes too.
The paste the remaining path into the "icon path" of the widget.

If using a script:

put "M144,203.6 C144,203.6 143.8,83.6 143....... 144,203.6 z" into svgpath
--this could be very long so copy and pasting in the IDE is better.
--then
 "set the iconpath of widget "widgetName" to  svgpath

The "fill Rule" will determine if the inner path is a cut out of the outer
or not.
In my testing "even odd" gave me an outline image, whereas "non-zero" filled
it all in.

For instance I wanted a bookmark bigger than the one supplied by fontawsome
so I drew one.

if you want to see the effect of the fill rule here is the path data so you
can try it out yourself.
You should be able to clearly see the two paths in the data. Hint, each one
ends in a "z" (close path instruction)

M144,203.6 C144,203.6 143.8,83.6 143.8,83.6 C143.8,83.6 144.2,70.4 147.6,66
C150.998,61.603 155.8,59.6 155.8,59.6 C155.8,59.6 180,59.8 180,59.8
C180,59.8 176.276,62.556 172.6,67.2 C168.8,72 168.4,84.2 168.4,84.2
C168.4,84.2 167.8,203.8 167.8,203.8 C167.8,203.8 155.8,179.8 155.8,179.8
C155.8,179.8 144.2,203.6 144,203.6 z
M145.125,198.875 C145.125,198.875 144.875,83.875 144.875,83.875
C144.875,83.875 145.1,71.025 148.5,66.625 C151.898,62.228 156.25,60.25
156.25,60.25 C156.25,60.25 177.5,60.625 177.5,60.625 C177.5,60.625
170.411,67.203 169.375,71.125 C167.625,77.75 167.2,84 167.2,84 C167.2,84
166.875,199.75 166.875,199.75 C166.875,199.75 155.75,177.5 155.75,177.5
C155.75,177.5 145.325,198.875 145.125,198.875 z


James





--
View this message in context: http://runtime-revolution.278305.n4.nabble.com/How-do-I-specify-a-non-filled-SVG-path-tp4703783p4703789.html
Sent from the Revolution - User mailing list archive at Nabble.com.




More information about the use-livecode mailing list