#import <UIEvents/MouseEvent.idl>

// https://www.w3.org/TR/uievents/#idl-wheelevent
[Exposed=Window]
interface WheelEvent : MouseEvent {
    constructor(DOMString type, optional WheelEventInit eventInitDict = {});

    // DeltaModeCode
    const unsigned long DOM_DELTA_PIXEL = 0x00;
    const unsigned long DOM_DELTA_LINE  = 0x01;
    const unsigned long DOM_DELTA_PAGE  = 0x02;

    readonly attribute double deltaX;
    readonly attribute double deltaY;
    readonly attribute double deltaZ;
    readonly attribute unsigned long deltaMode;
};

// https://www.w3.org/TR/uievents/#idl-wheeleventinit
dictionary WheelEventInit : MouseEventInit {
    double deltaX = 0;
    double deltaY = 0;
    double deltaZ = 0;
    unsigned long deltaMode = 0;
};
