<br><br><div class="gmail_quote">On Thu, Jul 9, 2009 at 4:28 PM, Oliver Hunt <span dir="ltr"><<a href="mailto:oliver@apple.com">oliver@apple.com</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 style="word-wrap: break-word;"><br><div><div class="im"><div>On Jul 9, 2009, at 4:19 PM, Gregg Tavares wrote:</div><br><blockquote type="cite"><br><br><div class="gmail_quote">On Thu, Jul 9, 2009 at 4:11 PM, Oliver Hunt <span dir="ltr"><<a href="mailto:oliver@apple.com" target="_blank">oliver@apple.com</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><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I'd like to make a passionate plea that the spec say "implementations must<br>
support negative widths and negative heights and draw the image backward<br>
effectively flipping the result".<br>
</blockquote>
<br></div>
We'd need to be fairly sure that such a change would not break existing content -- this is a change that would result in substantially different rendering in some scenarios.<div></div></blockquote><div><br>
Given that it's inconsistent in the various browsers it's hard to see how this would break something since it's broken in 2 browsers one way or the other currently.<br></div></div></blockquote><div><br></div>
</div><div>Inconsistency doesn't lead to no one depending on a behaviour, it just means sites only work in one browser.  Your suggesting would result in sites being broken in all browsers -- the only options from here on out are either nothing gets drawn (as in gecko and presto), or the destination is normalised (as in webkit).</div>
</div></div></blockquote><div><br>Or making it consistent when the DOCTYPE is set to something.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="word-wrap: break-word;"><div><div></div><div class="im"><br><blockquote type="cite"><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Image scaling is implementation dependent everywhere else, why would it be spec defined in the case of canvas?</blockquote><div><br>There are 2 issues here I brought up<br><br>1) What happens at the edges. <br><br>The results are VASTLY different now. Unless this works consistently it would be hard to make canvas graphics work across browsers and expect get reproducible results.  The 2x2 pixel example I gave, one browser ends up scaling with translucency even though there is no translucent pixels in the source image. <br>
</div></div></blockquote><div><br></div></div><div>This is just an artifact of scaling, and you agree below that scaling is implementation dependent.</div></div></div></blockquote><div><br>I disagree. When I scale a rectangular opaque image I expect rectangular opaque results.  The Firefox implementation does not do this. If I take a 1x1 pixel image and attempt to use it to cover up something in another image by scaling it it will not cover up that other image. Only the very center pixel will be opaque, all other pixels will be some percentage translucent, showing whatever was previously drawn on the canvas.  That's a much bigger issue than whether the scaled pixels are blocky or smooth.<br>
<br><br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style="word-wrap: break-word;"><div><div></div><div class="im"><br><blockquote type="cite">
<div class="gmail_quote"><div>
<br>2) How it does the scaling. <br><br>I agree that it being implementation dependent is probably fine.<br><br> <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><font color="#888888">
<br>
--Oliver<br>
<br>
<br>
</font></blockquote></div><br>
</blockquote></div></div><br></div></blockquote></div><br>