// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

// WARNING: Do not edit - generated code.

class _WebKitCSSMatrixWrappingImplementation extends DOMWrapperBase implements WebKitCSSMatrix {
  _WebKitCSSMatrixWrappingImplementation() : super() {}

  static create__WebKitCSSMatrixWrappingImplementation() native {
    return new _WebKitCSSMatrixWrappingImplementation();
  }

  num get a() { return _get__WebKitCSSMatrix_a(this); }
  static num _get__WebKitCSSMatrix_a(var _this) native;

  void set a(num value) { _set__WebKitCSSMatrix_a(this, value); }
  static void _set__WebKitCSSMatrix_a(var _this, num value) native;

  num get b() { return _get__WebKitCSSMatrix_b(this); }
  static num _get__WebKitCSSMatrix_b(var _this) native;

  void set b(num value) { _set__WebKitCSSMatrix_b(this, value); }
  static void _set__WebKitCSSMatrix_b(var _this, num value) native;

  num get c() { return _get__WebKitCSSMatrix_c(this); }
  static num _get__WebKitCSSMatrix_c(var _this) native;

  void set c(num value) { _set__WebKitCSSMatrix_c(this, value); }
  static void _set__WebKitCSSMatrix_c(var _this, num value) native;

  num get d() { return _get__WebKitCSSMatrix_d(this); }
  static num _get__WebKitCSSMatrix_d(var _this) native;

  void set d(num value) { _set__WebKitCSSMatrix_d(this, value); }
  static void _set__WebKitCSSMatrix_d(var _this, num value) native;

  num get e() { return _get__WebKitCSSMatrix_e(this); }
  static num _get__WebKitCSSMatrix_e(var _this) native;

  void set e(num value) { _set__WebKitCSSMatrix_e(this, value); }
  static void _set__WebKitCSSMatrix_e(var _this, num value) native;

  num get f() { return _get__WebKitCSSMatrix_f(this); }
  static num _get__WebKitCSSMatrix_f(var _this) native;

  void set f(num value) { _set__WebKitCSSMatrix_f(this, value); }
  static void _set__WebKitCSSMatrix_f(var _this, num value) native;

  num get m11() { return _get__WebKitCSSMatrix_m11(this); }
  static num _get__WebKitCSSMatrix_m11(var _this) native;

  void set m11(num value) { _set__WebKitCSSMatrix_m11(this, value); }
  static void _set__WebKitCSSMatrix_m11(var _this, num value) native;

  num get m12() { return _get__WebKitCSSMatrix_m12(this); }
  static num _get__WebKitCSSMatrix_m12(var _this) native;

  void set m12(num value) { _set__WebKitCSSMatrix_m12(this, value); }
  static void _set__WebKitCSSMatrix_m12(var _this, num value) native;

  num get m13() { return _get__WebKitCSSMatrix_m13(this); }
  static num _get__WebKitCSSMatrix_m13(var _this) native;

  void set m13(num value) { _set__WebKitCSSMatrix_m13(this, value); }
  static void _set__WebKitCSSMatrix_m13(var _this, num value) native;

  num get m14() { return _get__WebKitCSSMatrix_m14(this); }
  static num _get__WebKitCSSMatrix_m14(var _this) native;

  void set m14(num value) { _set__WebKitCSSMatrix_m14(this, value); }
  static void _set__WebKitCSSMatrix_m14(var _this, num value) native;

  num get m21() { return _get__WebKitCSSMatrix_m21(this); }
  static num _get__WebKitCSSMatrix_m21(var _this) native;

  void set m21(num value) { _set__WebKitCSSMatrix_m21(this, value); }
  static void _set__WebKitCSSMatrix_m21(var _this, num value) native;

  num get m22() { return _get__WebKitCSSMatrix_m22(this); }
  static num _get__WebKitCSSMatrix_m22(var _this) native;

  void set m22(num value) { _set__WebKitCSSMatrix_m22(this, value); }
  static void _set__WebKitCSSMatrix_m22(var _this, num value) native;

  num get m23() { return _get__WebKitCSSMatrix_m23(this); }
  static num _get__WebKitCSSMatrix_m23(var _this) native;

  void set m23(num value) { _set__WebKitCSSMatrix_m23(this, value); }
  static void _set__WebKitCSSMatrix_m23(var _this, num value) native;

  num get m24() { return _get__WebKitCSSMatrix_m24(this); }
  static num _get__WebKitCSSMatrix_m24(var _this) native;

  void set m24(num value) { _set__WebKitCSSMatrix_m24(this, value); }
  static void _set__WebKitCSSMatrix_m24(var _this, num value) native;

  num get m31() { return _get__WebKitCSSMatrix_m31(this); }
  static num _get__WebKitCSSMatrix_m31(var _this) native;

  void set m31(num value) { _set__WebKitCSSMatrix_m31(this, value); }
  static void _set__WebKitCSSMatrix_m31(var _this, num value) native;

  num get m32() { return _get__WebKitCSSMatrix_m32(this); }
  static num _get__WebKitCSSMatrix_m32(var _this) native;

  void set m32(num value) { _set__WebKitCSSMatrix_m32(this, value); }
  static void _set__WebKitCSSMatrix_m32(var _this, num value) native;

  num get m33() { return _get__WebKitCSSMatrix_m33(this); }
  static num _get__WebKitCSSMatrix_m33(var _this) native;

  void set m33(num value) { _set__WebKitCSSMatrix_m33(this, value); }
  static void _set__WebKitCSSMatrix_m33(var _this, num value) native;

  num get m34() { return _get__WebKitCSSMatrix_m34(this); }
  static num _get__WebKitCSSMatrix_m34(var _this) native;

  void set m34(num value) { _set__WebKitCSSMatrix_m34(this, value); }
  static void _set__WebKitCSSMatrix_m34(var _this, num value) native;

  num get m41() { return _get__WebKitCSSMatrix_m41(this); }
  static num _get__WebKitCSSMatrix_m41(var _this) native;

  void set m41(num value) { _set__WebKitCSSMatrix_m41(this, value); }
  static void _set__WebKitCSSMatrix_m41(var _this, num value) native;

  num get m42() { return _get__WebKitCSSMatrix_m42(this); }
  static num _get__WebKitCSSMatrix_m42(var _this) native;

  void set m42(num value) { _set__WebKitCSSMatrix_m42(this, value); }
  static void _set__WebKitCSSMatrix_m42(var _this, num value) native;

  num get m43() { return _get__WebKitCSSMatrix_m43(this); }
  static num _get__WebKitCSSMatrix_m43(var _this) native;

  void set m43(num value) { _set__WebKitCSSMatrix_m43(this, value); }
  static void _set__WebKitCSSMatrix_m43(var _this, num value) native;

  num get m44() { return _get__WebKitCSSMatrix_m44(this); }
  static num _get__WebKitCSSMatrix_m44(var _this) native;

  void set m44(num value) { _set__WebKitCSSMatrix_m44(this, value); }
  static void _set__WebKitCSSMatrix_m44(var _this, num value) native;

  WebKitCSSMatrix inverse() {
    return _inverse(this);
  }
  static WebKitCSSMatrix _inverse(receiver) native;

  WebKitCSSMatrix multiply(WebKitCSSMatrix secondMatrix = null) {
    if (secondMatrix === null) {
      return _multiply(this);
    } else {
      return _multiply_2(this, secondMatrix);
    }
  }
  static WebKitCSSMatrix _multiply(receiver) native;
  static WebKitCSSMatrix _multiply_2(receiver, secondMatrix) native;

  WebKitCSSMatrix rotate(num rotX = null, num rotY = null, num rotZ = null) {
    if (rotX === null) {
      if (rotY === null) {
        if (rotZ === null) {
          return _rotate(this);
        }
      }
    } else {
      if (rotY === null) {
        if (rotZ === null) {
          return _rotate_2(this, rotX);
        }
      } else {
        if (rotZ === null) {
          return _rotate_3(this, rotX, rotY);
        } else {
          return _rotate_4(this, rotX, rotY, rotZ);
        }
      }
    }
    throw "Incorrect number or type of arguments";
  }
  static WebKitCSSMatrix _rotate(receiver) native;
  static WebKitCSSMatrix _rotate_2(receiver, rotX) native;
  static WebKitCSSMatrix _rotate_3(receiver, rotX, rotY) native;
  static WebKitCSSMatrix _rotate_4(receiver, rotX, rotY, rotZ) native;

  WebKitCSSMatrix rotateAxisAngle(num x = null, num y = null, num z = null, num angle = null) {
    if (x === null) {
      if (y === null) {
        if (z === null) {
          if (angle === null) {
            return _rotateAxisAngle(this);
          }
        }
      }
    } else {
      if (y === null) {
        if (z === null) {
          if (angle === null) {
            return _rotateAxisAngle_2(this, x);
          }
        }
      } else {
        if (z === null) {
          if (angle === null) {
            return _rotateAxisAngle_3(this, x, y);
          }
        } else {
          if (angle === null) {
            return _rotateAxisAngle_4(this, x, y, z);
          } else {
            return _rotateAxisAngle_5(this, x, y, z, angle);
          }
        }
      }
    }
    throw "Incorrect number or type of arguments";
  }
  static WebKitCSSMatrix _rotateAxisAngle(receiver) native;
  static WebKitCSSMatrix _rotateAxisAngle_2(receiver, x) native;
  static WebKitCSSMatrix _rotateAxisAngle_3(receiver, x, y) native;
  static WebKitCSSMatrix _rotateAxisAngle_4(receiver, x, y, z) native;
  static WebKitCSSMatrix _rotateAxisAngle_5(receiver, x, y, z, angle) native;

  WebKitCSSMatrix scale(num scaleX = null, num scaleY = null, num scaleZ = null) {
    if (scaleX === null) {
      if (scaleY === null) {
        if (scaleZ === null) {
          return _scale(this);
        }
      }
    } else {
      if (scaleY === null) {
        if (scaleZ === null) {
          return _scale_2(this, scaleX);
        }
      } else {
        if (scaleZ === null) {
          return _scale_3(this, scaleX, scaleY);
        } else {
          return _scale_4(this, scaleX, scaleY, scaleZ);
        }
      }
    }
    throw "Incorrect number or type of arguments";
  }
  static WebKitCSSMatrix _scale(receiver) native;
  static WebKitCSSMatrix _scale_2(receiver, scaleX) native;
  static WebKitCSSMatrix _scale_3(receiver, scaleX, scaleY) native;
  static WebKitCSSMatrix _scale_4(receiver, scaleX, scaleY, scaleZ) native;

  void setMatrixValue(String string = null) {
    if (string === null) {
      _setMatrixValue(this);
      return;
    } else {
      _setMatrixValue_2(this, string);
      return;
    }
  }
  static void _setMatrixValue(receiver) native;
  static void _setMatrixValue_2(receiver, string) native;

  WebKitCSSMatrix skewX(num angle = null) {
    if (angle === null) {
      return _skewX(this);
    } else {
      return _skewX_2(this, angle);
    }
  }
  static WebKitCSSMatrix _skewX(receiver) native;
  static WebKitCSSMatrix _skewX_2(receiver, angle) native;

  WebKitCSSMatrix skewY(num angle = null) {
    if (angle === null) {
      return _skewY(this);
    } else {
      return _skewY_2(this, angle);
    }
  }
  static WebKitCSSMatrix _skewY(receiver) native;
  static WebKitCSSMatrix _skewY_2(receiver, angle) native;

  String toString() {
    return _toString(this);
  }
  static String _toString(receiver) native;

  WebKitCSSMatrix translate(num x = null, num y = null, num z = null) {
    if (x === null) {
      if (y === null) {
        if (z === null) {
          return _translate(this);
        }
      }
    } else {
      if (y === null) {
        if (z === null) {
          return _translate_2(this, x);
        }
      } else {
        if (z === null) {
          return _translate_3(this, x, y);
        } else {
          return _translate_4(this, x, y, z);
        }
      }
    }
    throw "Incorrect number or type of arguments";
  }
  static WebKitCSSMatrix _translate(receiver) native;
  static WebKitCSSMatrix _translate_2(receiver, x) native;
  static WebKitCSSMatrix _translate_3(receiver, x, y) native;
  static WebKitCSSMatrix _translate_4(receiver, x, y, z) native;

  String get typeName() { return "WebKitCSSMatrix"; }
}
