<br><br><div class="gmail_quote">On Mon, Jul 27, 2009 at 4:14 PM, Ian Hickson <span dir="ltr"><<a href="mailto:ian@hixie.ch">ian@hixie.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Mon, 27 Jul 2009, Gregg Tavares wrote:<br>
><br>
> The diagram in the docs<br>
> <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#images" target="_blank">http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#images</a><br>

><br>
> Clearly show SX maps to DX, SY maps top DY<br>
><br>
> But that is not the interpretation that is implemented. The<br>
> interpretation that is implemented is Source Top/Left maps to Dest<br>
> Top/Left regardless of whether SX/SY define top left or SX + WIDTH, SY +<br>
> HEIGHT define top left.<br>
><br>
> That seems pretty ambiguous to me.<br>
<br>
</div>Ignore the diagram. It's not normative. The text is the only thing that<br>
matters. I've moved the diagram up to the intro section to make this<br>
clearer.<br>
<div class="im"><br>
<br>
> I'd argue that based on the spec as currently written, all current<br>
> canvas implementations are wrong. Hence the suggestion to make it<br>
> unambiguous or get the implementation to match the spec.<br>
<br>
</div>Could you explain what other interpretations of the following you think<br>
are reasonable?:<br>
<br>
# The source rectangle is the rectangle whose corners are the four points<br>
<div class="im"># (sx, sy), (sx+sw, sy), (sx+sw, sy+sh), (sx, sy+sh).<br>
# [...]<br>
# The destination rectangle is the rectangle whose corners are the four<br>
# points (dx, dy), (dx+dw, dy), (dx+dw, dy+dh), (dx, dy+dh).<br>
</div>#<br>
# When drawImage() is invoked, the region of the image specified by the<br>
# source rectangle must be painted on the region of the canvas specified<br>
# by the destination rectangle [...]</blockquote><div><br><br>It's ambiguous because images have a direction.  An image that starts at 10 with a width of -5 is not the same as an image that starts at 6 with a width of +5 any more than starting in SF and driving 5 miles south is not the same as starting in Brisbane and driving 5 miles north.<br>
<br>The spec doesn't say which interpretation is correct. <br><br>The one where SrcX maps to DstX and from there width can be positive or negative OR the one as currently implemented in 2 of the 4 browsers which is that Source Left maps to Dest Left regardless of the starting values.<br>
<br>Without the diagram, both of those interpretations match the text. With the diagram only 1 interpretation matches, it just happens the be the one no one has implemented.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
It seems pretty unambigious to me.<br>
<font color="#888888"><br>
--<br>
</font><div><div></div><div class="h5">Ian Hickson               U+1047E                )\._.,--....,'``.    fL<br>
<a href="http://ln.hixie.ch/" target="_blank">http://ln.hixie.ch/</a>       U+263A                /,   _.. \   _\  ;`._ ,.<br>
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'<br>
</div></div></blockquote></div><br>