All Downloads are FREE. Search and download functionalities are using the official Maven repository.

js.web.dom.VideoTrackList Maven / Gradle / Ivy

package js.web.dom;


import js.util.collections.ArrayLike;
import org.teavm.jso.JSBody;
import org.teavm.jso.JSProperty;

import javax.annotation.Nullable;

/**
 * Used to represent a list of the video tracks contained within a <video> element, with each track represented by a separate VideoTrack object in the list.
 */
public interface VideoTrackList extends ArrayLike, EventTarget {

    @JSBody(script = "return VideoTrackList.prototype")
    static VideoTrackList prototype() {
        throw new UnsupportedOperationException("Available only in JavaScript");
    }

    @JSBody(script = "return new VideoTrackList()")
    static VideoTrackList create() {
        throw new UnsupportedOperationException("Available only in JavaScript");
    }

    @JSProperty
    @Nullable
    EventListener getOnaddtrack();

    @JSProperty
    void setOnaddtrack(EventListener onaddtrack);

    default void addAddTrackEventListener(EventListener listener, AddEventListenerOptions options) {
        addEventListener("addtrack", listener, options);
    }

    default void addAddTrackEventListener(EventListener listener, boolean options) {
        addEventListener("addtrack", listener, options);
    }

    default void addAddTrackEventListener(EventListener listener) {
        addEventListener("addtrack", listener);
    }

    default void removeAddTrackEventListener(EventListener listener, EventListenerOptions options) {
        removeEventListener("addtrack", listener, options);
    }

    default void removeAddTrackEventListener(EventListener listener, boolean options) {
        removeEventListener("addtrack", listener, options);
    }

    default void removeAddTrackEventListener(EventListener listener) {
        removeEventListener("addtrack", listener);
    }

    @JSProperty
    @Nullable
    EventListener getOnchange();

    @JSProperty
    void setOnchange(EventListener onchange);

    default void addChangeEventListener(EventListener listener, AddEventListenerOptions options) {
        addEventListener("change", listener, options);
    }

    default void addChangeEventListener(EventListener listener, boolean options) {
        addEventListener("change", listener, options);
    }

    default void addChangeEventListener(EventListener listener) {
        addEventListener("change", listener);
    }

    default void removeChangeEventListener(EventListener listener, EventListenerOptions options) {
        removeEventListener("change", listener, options);
    }

    default void removeChangeEventListener(EventListener listener, boolean options) {
        removeEventListener("change", listener, options);
    }

    default void removeChangeEventListener(EventListener listener) {
        removeEventListener("change", listener);
    }

    @JSProperty
    @Nullable
    EventListener getOnremovetrack();

    @JSProperty
    void setOnremovetrack(EventListener onremovetrack);

    default void addRemoveTrackEventListener(EventListener listener, AddEventListenerOptions options) {
        addEventListener("removetrack", listener, options);
    }

    default void addRemoveTrackEventListener(EventListener listener, boolean options) {
        addEventListener("removetrack", listener, options);
    }

    default void addRemoveTrackEventListener(EventListener listener) {
        addEventListener("removetrack", listener);
    }

    default void removeRemoveTrackEventListener(EventListener listener, EventListenerOptions options) {
        removeEventListener("removetrack", listener, options);
    }

    default void removeRemoveTrackEventListener(EventListener listener, boolean options) {
        removeEventListener("removetrack", listener, options);
    }

    default void removeRemoveTrackEventListener(EventListener listener) {
        removeEventListener("removetrack", listener);
    }

    @JSProperty
    int getSelectedIndex();

    @Nullable
    VideoTrack getTrackById(String id);

    VideoTrack item(int index);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy