- From: Philip Taylor <pjt47@cam.ac.uk>
- Date: Sat, 02 Feb 2008 22:05:55 +0000
- To: Ian Hickson <ian@hixie.ch>
- CC: public-html@w3.org
On 01/02/08 01:58, Ian Hickson wrote:
> On Sat, 4 Aug 2007, Philip Taylor wrote:
>> fill:
>>
>> "The fill() method must fill each subpath of the current path in turn" -
>> that sounds incorrect - in current implementations it only paints one
>> shape, which is made from all the subpaths at once. (If two overlapping
>> but otherwise independent subpaths have opposite windings, they cancel
>> out and result in no fill. If they have the same winding, that area just
>> gets painted once.)
>
> Is the new text enough? Or do I need to be more explicit?
The new text doesn't sound incorrect. The (normative) new text doesn't
sound unambiguously correct either, but the note makes it clear enough,
so I don't think there's any practical value in being more detailed in
the normative description.
>> "the non-zero winding number rule" - that isn't defined, and it's not
>> obvious what it means, so I think it should be defined here.
>> http://www.cs.rit.edu/~icss571/filling/alt_parity.html and
>> http://www.w3.org/TR/SVGMobile12/painting.html#FillRuleProperty sound
>> like reasonable explanations.
>
> Isn't it obvious what it means to anyone who is going to be implementing
> it? I'd love to add a reference, but if I add one I'd like it to be The
> Original Reference, and I haven't been able to track down who originally
> formulated this rule.
That means an 'average' person can't implement HTML5 simply by reading
the spec (plus normative references); but I suppose that's reasonable
here, since describing canvas rendering in that much detail would be
like writing a whole graphics library implementation, which would be a
lot of work and wouldn't really help anyone (since implementors will
actually know about maths and graphics, and they'll mostly reuse an
existing library anyway).
>> stroke:
>
> I've clarified it a bit, but not very well. Let me know if you have any
> suggestions for better text.
Perhaps "The stroke() method must calculate the strokes of all the
subpaths of the current path, using the lineWidth, lineCap, lineJoin,
and (if appropriate) miterLimit attributes, and then fill the combined
stroke area using the strokeStyle attribute." would make it clearer that
no area gets stroked more than once and it doesn't do non-zero winding
things between subpaths.
>> "canvas' coordinate space" - that is written "canvas coordinate space"
>> elsewhere (which is better since I wouldn't be tempted to complain about
>> "canvas'" vs "canvas's").
>
> Fixed, though there's still another canvas', if you want to complain in
> vain. :-)
Hmm, the only one I can see is in "var canvas =
document.getElementsByTagName('canvas')[0];", and I expect it would be a
complete waste of time to suggest standardising on double quotes instead
of single quotes, and anyway I think single quotes look prettier.
--
Philip Taylor
pjt47@cam.ac.uk
Received on Saturday, 2 February 2008 22:06:24 UTC