nikhilbchilwant / google-web-toolkit-incubator

Automatically exported from code.google.com/p/google-web-toolkit-incubator
1 stars 1 forks source link

GWTCanvas - IE6 impl - transform() - defect #294

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What version of gwt and gwt-incubator are you using?
1.7

What OS and browser are you using?
WindowsXP
Chrome, Firefox, IE8, Safari

Do you see this error in hosted mode, web mode, or both?
Hosted mode and on IE8

Hopefully using the test case you have generously provided, what steps will 
reproduce the problem? 
1.load an image an draw using ImageLoader
2.tranform GWTCanvas with second and third parameter as 0.1 and 0.3 
(canvas.transform(a,0.1,0.3,...) 
3. see the result on IE and on other browser and you will se the problem
4. if you change 0.1 and 0.3 on transform function it will work ok on IE 
and wrong on other browsers

Workaround if you have one:
transform(a,b,c,d,x,y); fails on IE
if you use 
transform(a,c,b,d,x,y); it works on IE

Fix:
on com.google.gwt.widgetideas.graphics.client.impl.GWTCanvasImplIE6;

Error code:
public void transform(double m11, double m12, double m21, double m22,
      double dx, double dy) {
    double a = matrix[0];
    double b = matrix[1];
    matrix[0] = a * m11 + b * m21;
    matrix[1] = a * m12 + b * m22;
    matrix[2] += a * dx + b * dy;
    a = matrix[3];
    b = matrix[4];
    matrix[3] = a * m11 + b * m21;
    matrix[4] = a * m12 + b * m22;
    matrix[5] += a * dx + b * dy;
  }

Fixed code:
public void transform(double m11, double m12, double m21, double m22,
      double dx, double dy) {
    double a = matrix[0];
    double b = matrix[1];
    matrix[0] = a * m11 + b * m12; //FIXED
    matrix[1] = a * m21 + b * m22; //FIXED
    matrix[2] += a * dx + b * dy;
    a = matrix[3];
    b = matrix[4];
    matrix[3] = a * m11 + b * m12; //FIXED
    matrix[4] = a * m21 + b * m22; //FIXED
    matrix[5] += a * dx + b * dy;
  }

Original issue reported on code.google.com by gal.dol...@gmail.com on 20 Jul 2009 at 4:59