// 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 _HTMLMediaElementWrappingImplementation extends _HTMLElementWrappingImplementation implements HTMLMediaElement {
  _HTMLMediaElementWrappingImplementation() : super() {}

  static create__HTMLMediaElementWrappingImplementation() native {
    return new _HTMLMediaElementWrappingImplementation();
  }

  bool get autoplay() { return _get__HTMLMediaElement_autoplay(this); }
  static bool _get__HTMLMediaElement_autoplay(var _this) native;

  void set autoplay(bool value) { _set__HTMLMediaElement_autoplay(this, value); }
  static void _set__HTMLMediaElement_autoplay(var _this, bool value) native;

  TimeRanges get buffered() { return _get__HTMLMediaElement_buffered(this); }
  static TimeRanges _get__HTMLMediaElement_buffered(var _this) native;

  bool get controls() { return _get__HTMLMediaElement_controls(this); }
  static bool _get__HTMLMediaElement_controls(var _this) native;

  void set controls(bool value) { _set__HTMLMediaElement_controls(this, value); }
  static void _set__HTMLMediaElement_controls(var _this, bool value) native;

  String get currentSrc() { return _get__HTMLMediaElement_currentSrc(this); }
  static String _get__HTMLMediaElement_currentSrc(var _this) native;

  num get currentTime() { return _get__HTMLMediaElement_currentTime(this); }
  static num _get__HTMLMediaElement_currentTime(var _this) native;

  void set currentTime(num value) { _set__HTMLMediaElement_currentTime(this, value); }
  static void _set__HTMLMediaElement_currentTime(var _this, num value) native;

  bool get defaultMuted() { return _get__HTMLMediaElement_defaultMuted(this); }
  static bool _get__HTMLMediaElement_defaultMuted(var _this) native;

  void set defaultMuted(bool value) { _set__HTMLMediaElement_defaultMuted(this, value); }
  static void _set__HTMLMediaElement_defaultMuted(var _this, bool value) native;

  num get defaultPlaybackRate() { return _get__HTMLMediaElement_defaultPlaybackRate(this); }
  static num _get__HTMLMediaElement_defaultPlaybackRate(var _this) native;

  void set defaultPlaybackRate(num value) { _set__HTMLMediaElement_defaultPlaybackRate(this, value); }
  static void _set__HTMLMediaElement_defaultPlaybackRate(var _this, num value) native;

  num get duration() { return _get__HTMLMediaElement_duration(this); }
  static num _get__HTMLMediaElement_duration(var _this) native;

  bool get ended() { return _get__HTMLMediaElement_ended(this); }
  static bool _get__HTMLMediaElement_ended(var _this) native;

  MediaError get error() { return _get__HTMLMediaElement_error(this); }
  static MediaError _get__HTMLMediaElement_error(var _this) native;

  num get initialTime() { return _get__HTMLMediaElement_initialTime(this); }
  static num _get__HTMLMediaElement_initialTime(var _this) native;

  bool get loop() { return _get__HTMLMediaElement_loop(this); }
  static bool _get__HTMLMediaElement_loop(var _this) native;

  void set loop(bool value) { _set__HTMLMediaElement_loop(this, value); }
  static void _set__HTMLMediaElement_loop(var _this, bool value) native;

  bool get muted() { return _get__HTMLMediaElement_muted(this); }
  static bool _get__HTMLMediaElement_muted(var _this) native;

  void set muted(bool value) { _set__HTMLMediaElement_muted(this, value); }
  static void _set__HTMLMediaElement_muted(var _this, bool value) native;

  int get networkState() { return _get__HTMLMediaElement_networkState(this); }
  static int _get__HTMLMediaElement_networkState(var _this) native;

  bool get paused() { return _get__HTMLMediaElement_paused(this); }
  static bool _get__HTMLMediaElement_paused(var _this) native;

  num get playbackRate() { return _get__HTMLMediaElement_playbackRate(this); }
  static num _get__HTMLMediaElement_playbackRate(var _this) native;

  void set playbackRate(num value) { _set__HTMLMediaElement_playbackRate(this, value); }
  static void _set__HTMLMediaElement_playbackRate(var _this, num value) native;

  TimeRanges get played() { return _get__HTMLMediaElement_played(this); }
  static TimeRanges _get__HTMLMediaElement_played(var _this) native;

  String get preload() { return _get__HTMLMediaElement_preload(this); }
  static String _get__HTMLMediaElement_preload(var _this) native;

  void set preload(String value) { _set__HTMLMediaElement_preload(this, value); }
  static void _set__HTMLMediaElement_preload(var _this, String value) native;

  int get readyState() { return _get__HTMLMediaElement_readyState(this); }
  static int _get__HTMLMediaElement_readyState(var _this) native;

  TimeRanges get seekable() { return _get__HTMLMediaElement_seekable(this); }
  static TimeRanges _get__HTMLMediaElement_seekable(var _this) native;

  bool get seeking() { return _get__HTMLMediaElement_seeking(this); }
  static bool _get__HTMLMediaElement_seeking(var _this) native;

  String get src() { return _get__HTMLMediaElement_src(this); }
  static String _get__HTMLMediaElement_src(var _this) native;

  void set src(String value) { _set__HTMLMediaElement_src(this, value); }
  static void _set__HTMLMediaElement_src(var _this, String value) native;

  num get startTime() { return _get__HTMLMediaElement_startTime(this); }
  static num _get__HTMLMediaElement_startTime(var _this) native;

  num get volume() { return _get__HTMLMediaElement_volume(this); }
  static num _get__HTMLMediaElement_volume(var _this) native;

  void set volume(num value) { _set__HTMLMediaElement_volume(this, value); }
  static void _set__HTMLMediaElement_volume(var _this, num value) native;

  int get webkitAudioDecodedByteCount() { return _get__HTMLMediaElement_webkitAudioDecodedByteCount(this); }
  static int _get__HTMLMediaElement_webkitAudioDecodedByteCount(var _this) native;

  bool get webkitClosedCaptionsVisible() { return _get__HTMLMediaElement_webkitClosedCaptionsVisible(this); }
  static bool _get__HTMLMediaElement_webkitClosedCaptionsVisible(var _this) native;

  void set webkitClosedCaptionsVisible(bool value) { _set__HTMLMediaElement_webkitClosedCaptionsVisible(this, value); }
  static void _set__HTMLMediaElement_webkitClosedCaptionsVisible(var _this, bool value) native;

  bool get webkitHasClosedCaptions() { return _get__HTMLMediaElement_webkitHasClosedCaptions(this); }
  static bool _get__HTMLMediaElement_webkitHasClosedCaptions(var _this) native;

  bool get webkitPreservesPitch() { return _get__HTMLMediaElement_webkitPreservesPitch(this); }
  static bool _get__HTMLMediaElement_webkitPreservesPitch(var _this) native;

  void set webkitPreservesPitch(bool value) { _set__HTMLMediaElement_webkitPreservesPitch(this, value); }
  static void _set__HTMLMediaElement_webkitPreservesPitch(var _this, bool value) native;

  int get webkitVideoDecodedByteCount() { return _get__HTMLMediaElement_webkitVideoDecodedByteCount(this); }
  static int _get__HTMLMediaElement_webkitVideoDecodedByteCount(var _this) native;

  String canPlayType(String type = null) {
    if (type === null) {
      return _canPlayType(this);
    } else {
      return _canPlayType_2(this, type);
    }
  }
  static String _canPlayType(receiver) native;
  static String _canPlayType_2(receiver, type) native;

  void load() {
    _load(this);
    return;
  }
  static void _load(receiver) native;

  void pause() {
    _pause(this);
    return;
  }
  static void _pause(receiver) native;

  void play() {
    _play(this);
    return;
  }
  static void _play(receiver) native;

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