#import <SVG/SVGElement.idl>

// https://drafts.csswg.org/filter-effects-1/#InterfaceSVGComponentTransferFunctionElement
[Exposed=Window]
interface SVGComponentTransferFunctionElement : SVGElement {

    // Component Transfer Types
    const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0;
    const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1;
    const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2;
    const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3;
    const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4;
    const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5;

    readonly attribute SVGAnimatedEnumeration type;
    readonly attribute SVGAnimatedNumberList tableValues;
    readonly attribute SVGAnimatedNumber slope;
    readonly attribute SVGAnimatedNumber intercept;
    readonly attribute SVGAnimatedNumber amplitude;
    readonly attribute SVGAnimatedNumber exponent;
    readonly attribute SVGAnimatedNumber offset;
};
