public static CGAffineTransform Invert(CGAffineTransform xform){
CGAffineTransform result;
float determinant;
determinant=xform.a*xform.d-xform.c*xform.b;
if(FloatUtils.EQ(determinant, 0)){
return xform;
}
result.a=xform.d/determinant;
result.b=-xform.b/determinant;
result.c=-xform.c/determinant;
result.d=xform.a/determinant;
result.tx=(-xform.d*xform.tx+xform.c*xform.ty)/determinant;
result.ty=(xform.b*xform.tx-xform.a*xform.ty)/determinant;
return result;
}
public static CGAffineTransform Concat(CGAffineTransform xform,CGAffineTransform append){