void invertAndConcat(Matrix concatMatrix)

Source

void invertAndConcat(Matrix concatMatrix) {

  var det =   this.det;
  var a1 =    this.d / det;
  var b1 =  - this.b / det;
  var c1 =  - this.c / det;
  var d1 =    this.a / det;
  var tx1 = - this.tx * a1 - this.ty * c1;
  var ty1 = - this.tx * b1 - this.ty * d1;

  var a2 =  concatMatrix.a;
  var b2 =  concatMatrix.b;
  var c2 =  concatMatrix.c;
  var d2 =  concatMatrix.d;
  var tx2 = concatMatrix.tx;
  var ty2 = concatMatrix.ty;

  _data[0] = a1 * a2 + b1 * c2;
  _data[1] = a1 * b2 + b1 * d2;
  _data[2] = c1 * a2 + d1 * c2;
  _data[3] = c1 * b2 + d1 * d2;
  _data[4] = tx1 * a2 + ty1 * c2 + tx2;
  _data[5] = tx1 * b2 + ty1 * d2 + ty2;
}