- From: SVG Working Group repository <cam+svgwgrepo@mcc.id.au>
- Date: Wed, 19 Jun 2013 06:34:37 -0700
- To: public-svg-wg@w3.org
details: https://svgwg.org/hg/svg2/rev/5ba0309b98f6 branches: changeset: 518:5ba0309b98f6 user: tbah <tavmjong@free.fr> date: Wed Jun 19 15:32:32 2013 +0200 description: Changed <hatch angle> to <hatch rotate>, limit <hatchPath stroke> to solid paint servers per resolutions at Tokyo F2F. diffstat: master/pservers.html | 39 ++++++++++++++++++++++----------------- 1 files changed, 22 insertions(+), 17 deletions(-) diffs (229 lines): diff --git a/master/pservers.html b/master/pservers.html --- a/master/pservers.html +++ b/master/pservers.html @@ -1780,55 +1780,52 @@ lines are needed.</p> an object using one or more pre-defined paths that are repeated at fixed intervals in a specified direction to cover the areas to be painted. Hatches are defined using a <a>'hatch'</a> element and then referenced by properties <a>'fill'</a> and <a>'stroke'</a> on a given <a>graphics element</a> to indicate that the given element shall be filled or stroked with the hatch. Paths are defined by <a>'hatchPath'</a> elements.</p> -<p>Attributes <a>'x'</a>, <a>'y'</a>, <a>'pitch'</a>, <a>'angle'</a>, +<p>Attributes <a>'x'</a>, <a>'y'</a>, <a>'pitch'</a>, <a>'rotate'</a>, and <a>'hatchUnits'</a> define an infinitely long reference strip on the infinite canvas. The strip has one edge at (<var>x</var>, <var>y</var>) and its other edge at a distance -of <var>pitch</var> in the direction defined by <var>angle</var>. +of <var>pitch</var> in the direction defined by <var>rotate</var>. This one-dimension tiling theoretically extends a series of such -strips in the direction of 'angle' to infinity (positive and +strips in the direction of 'rotate' to infinity (positive and negative), with strips starting at -(<var>x</var> + m*<var>pitch</var>*cos(<var>angle</var>), <var>y</var> + m*<var>pitch</var>*sin(<var>angle</var>) +(<var>x</var> + m*<var>pitch</var>*cos(<var>rotate</var>), <var>y</var> + m*<var>pitch</var>*sin(<var>rotate</var>) for each possible integer value of <em>m</em>.</p> <div class="figure"> <img alt="A diagram showing the layout of a series of strips." src="images/pservers/hatch_attributes.svg"/> <p class="caption">Three adjacent strips separated by dashed lines showing their relationship to each other for a - given <var>pitch</var> and <var>angle</var>. The reference line + given <var>pitch</var> and <var>rotate</var>. The reference line determines the origin of <a>'hatchPath'</a>s. </p> </div> -<p class="issue">Check that angle defined in same sense as other - angles is SVG (clockwise/counter-clockwise, etc.).</p> - <edit:elementsummary name='hatch'/> <p class="issue">Review content model.</p> <h3 id="HatchElementAttributes">Attributes</h3> <dl class="attrdef-list-svg2"> <dt id="HatchElementHatchUnitsAttribute"><span class="adef">hatchUnits</span></dt> <dd> <p> Defines the coordinate system for attributes - <a>'x'</a>, <a>'y'</a>, <a>'pitch'</a> and <a>'angle'</a>. + <a>'x'</a>, <a>'y'</a>, <a>'pitch'</a> and <a>'rotate'</a>. </p> <dl class="attrdef-svg2"> <dt>Value</dt> <dd>userSpaceOnUse | objectBoundingBox</dd> <dt><a>Lacuna value</a></dt> <dd>objectBoundingBox</dd> <dt><a>Animatable</a></dt> <dd>yes</dd> @@ -1836,17 +1833,17 @@ for each possible integer value of <em>m <dl class="attrdef-values"> <dt>userSpaceOnUse</dt> <dd> <p> If <span class="attr-value">hatchUnits="userSpaceOnUse"</span>, - <a>'x'</a>, <a>'y'</a>, <a>'pitch'</a>, and <a>'angle'</a> + <a>'x'</a>, <a>'y'</a>, <a>'pitch'</a>, and <a>'rotate'</a> represent values in the coordinate system that results from taking the current user coordinate system in place at the time when the <a>'hatch'</a> element is referenced (i.e., the user coordinate system for the element referencing the <a>'hatch'</a> element via a <a>'fill'</a> or <a>'stroke'</a> property) and then applying the transform specified by attribute @@ -1856,17 +1853,17 @@ for each possible integer value of <em>m </dd> <dt>objectBoundingBox</dt> <dd> <p> If <span class="attr-value">hatchUnits="objectBoundingBox"</span>, the user coordinate system for attributes - <a>'x'</a>, <a>'y'</a>, <a>'pitch'</a>, and <a>'angle'</a> + <a>'x'</a>, <a>'y'</a>, <a>'pitch'</a>, and <a>'rotate'</a> is established using the bounding box of the element to which the hatch is applied (see <a href="coords.html#ObjectBoundingBox">Object bounding box units</a>) and then applying the transform specified by attribute <a>'hatchTransform'</a>. Percentages represent values relative to the bounding box for the object. @@ -1959,17 +1956,17 @@ for each possible integer value of <em>m <dt><a>Animatable</a></dt> <dd>yes</dd> </dl> </dd> <dt id="HatchElementXAttribute"><span class="adef">x</span></dt> <dd> <p> - <a>'x'</a>, <a>'y'</a>, <a>'pitch'</a> and <a>'angle'</a> + <a>'x'</a>, <a>'y'</a>, <a>'pitch'</a> and <a>'rotate'</a> indicate how the hatch strips are placed and spaced. These attributes represent coordinates and values in the coordinate space specified by the combination of attributes <a>'hatchUnits'</a> and <a>'hatchTransform'</a>. </p> <dl class="attrdef-svg2"> @@ -2012,29 +2009,33 @@ for each possible integer value of <em>m A negative value is an error (see <a href="implnote.html#ErrorProcessing">Error processing</a>). A value of zero disables rendering of the element (i.e., no paint is applied). </p> </dd> - <dt id="HatchElementAngleAttribute"><span class="adef">angle</span></dt> + <dt id="HatchElementRotateAttribute"><span class="adef">rotate</span></dt> <dd> <p> See <a>'x'</a>. </p> <dl class="attrdef-svg2"> <dt>Value</dt> <dd><a><angle></a></dd> <dt><a>Lacuna value</a></dt> <dd>0</dd> <dt><a>Animatable</a></dt> <dd>yes</dd> </dl> + <p class="annotation"> + Changed name from 'angle' to 'rotate' at Tokyo F2F. + </p> + </dd> <dt id="HatchElementHrefAttribute"><span class="adef">xlink:href</span></dt> <dd> <p> An <a href="linking.html#IRIReference">IRI reference</a> to a different <a>'hatch'</a> element within the current SVG document fragment. Any attributes which are defined on the @@ -2069,28 +2070,27 @@ path to be created at the bounds of the hatch which goes outside of the hatch strip will be clipped. Note that if the <a>'overflow'</a> property is set to <span class="prop-value">visible</span> the area outside must be rendered (NB this is different from a <a>'pattern'</a> element). Strips with higher <var>x</var> (larger <var>m</var>) values must be rendered after strips with lower <var>x</var> (lower <var>m</var>) values.</p> -<p class="issue">The default should probably be visible.</p> <p>The contents of the <a>'hatch'</a> are relative to a new coordinate system. The new coordinate system has its origin at (<var>x</var>, <var>y</var>), where <var>x</var> is established by the <a>'x'</a> attribute on the <a>'hatch'</a> element, and <var>y</var> is established by the <a>'y'</a> attribute on the <a>'hatch'</a> element. The coordinate system is rotated around -the origin by the angle given by the <a>'angle'</a> attribute. +the origin by the angle given by the <a>'rotate'</a> attribute. </p> -<p class="issue">The viewBox and preserveAspectRatio attributes are +<p class="annotation">The viewBox and preserveAspectRatio attributes are not useful and have been removed (as compared to the pattern element).</p> <p><a href="script.html#EventAttributes">Event attributes</a> and <a href="svgdom.html#EventListeners">event listeners</a> attached to the contents of a <a>'hatch'</a> element are not processed; only the rendering aspects of <a>'hatch'</a> elements are processed.</p> @@ -2098,17 +2098,17 @@ processed.</p> <p>The following illustrates a very simple <a>'hatch'</a> fill:</p> <!-- <edit:example href='images/pservers/pattern01.svg' name='hatch01' description='fill a rectangle by referencing a hatch paint server' image='yes' link='yes'/> --> <div class="example"> <pre><![CDATA[ -<hatch pitch="5" angle="135"> +<hatch pitch="5" rotate="135"> <hatchPath stroke="#a080ff" stroke-width="2"/> </hatch> ]]></pre> <div class="figure"> <img alt="A hatch example with parallel lines filling a rectangle at a 45 degree angle." src="images/pservers/hatch01.png"/> <p class="caption">A hatch with a single <a>'hatchPath'</a>. @@ -2202,16 +2202,21 @@ first path instruction uses for its curr (<var>x</var>,<var>0</var>) where <var>x</var> is the <var>x</var> value of the last data point given in the path. If the first path command is not a "moveto" and the last not a "closepath", the last point of each repeating section is joined to the first point of the next repeating section with the current value of <a>'stroke-linejoin'</a>. </p> +<p>A hatch path can have any of the stroke style properties applied to it, however only +solid color paint servers are allowed for the <a>'stroke'</a> property.</p> + +<p class="annotation">Limiting 'stroke' to solid paint servers was resolved at the Tokyo F2F.</p> + <!-- <edit:example href='images/pservers/pattern01.svg' name='hatch01' description='fill a rectangle by referencing a hatch paint server' image='yes' link='yes'/> --> <div class="example"> <pre><![CDATA[ <hatch hatchUnits="userSpaceOnUse" pitch="6"> <hatchPath stroke-width="1" d="c 0,4 8,6 8,10 8,14 0,16 0,20"/>
Received on Wednesday, 19 June 2013 13:35:10 UTC