<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
    <_name>Hatch Fill</_name>
    <id>fablabchemnitz.de.hatch</id>
    <dependency type="extension">org.inkscape.output.svg.inkscape</dependency>
    <dependency type="executable" location="extensions">fablabchemnitz_hatch.py</dependency>
    <param name="tab" type="notebook">
        <page name="splash" _gui-text="Hatch Fill">
            <_param name="Header" type="description" xml:space="preserve">
This extension fills each closed figure in your drawing
with a path consisting of back and forth drawn "hatch" lines.
If any objects are selected, then only those selected objects
will be filled. 

Hatched figures will be grouped with their fills.
  </_param>
            <param name="hatchSpacing" type="float" min="0.1" max="1000" _gui-text="   Hatch spacing (px)">3.0</param>
            <param name="hatchAngle" type="float" min="-360" max="360" _gui-text="   Hatch angle (degrees)">45</param>
            <param name="crossHatch" type="boolean" _gui-text="   Crosshatch?">false</param>
            <param name="reducePenLifts" type="boolean" _gui-text="   Connect nearby ends?">true</param>
            <param name="hatchScope" type="float" min="1.1" max="5.0" _gui-text="   Range of end connections (default: 3)">3.0</param>
            <param name="holdBackHatchFromEdges" type="boolean" _gui-text="   Inset fill from edges?">true</param>
            <param name="holdBackSteps" type="float" min="0.1" max="10.0" _gui-text="   Inset distance (px) (default: 1)">1.0</param>
            <param name="tolerance" type="float" min="0.1" max="100" _gui-text="   Tolerance (default: 3.0)">3.0</param>
            <param name="footer" type="description" xml:space="preserve">
            (v2.3.0, June 11, 2019)</param>
        </page>
        <page name="info" _gui-text="More info...">
            <_param name="aboutpage" type="description" xml:space="preserve">
Hatch spacing is the distance between hatch lines, 
measured in units of screen pixels (px). Angles are in
degrees from horizontal; for example 90 is vertical.

The Crosshatch option will apply a second set of
hatches, perpendicular to the first.

The "Connect nearby ends" option will attempt to connect
nearby line ends with a smoothly flowing curve, to improve
the smoothness of plotting.

The Range parameter sets the distance (in hatch widths)
over which that option searches for segments to join. 
Large values may result in hatches where you don't want
them. Consider using a value in the range of 2-4. 

The Inset option allows you to hold back the edges of the
fill somewhat from the edge of your original object.
This can improve performance, as it allows you to more
reliably "color inside the lines" when using pens.

The hatches will be the same color and width
as the original object.

The Tolerance parameter affects how precisely
the hatches try to fill the input paths.</_param>
        </page>
    </param>
    <effect needs-live-preview="true">
        <object-type>all</object-type>
        <effects-menu>
            <submenu _name="FabLab Chemnitz">
				<submenu _name="Shape/Pattern from existing Path(s)"/>
			</submenu>
        </effects-menu>
    </effect>
    <script>
        <command reldir="extensions" interpreter="python">fablabchemnitz_hatch.py</command>
    </script>
</inkscape-extension>