UNPKG

typescript-closure-tools

Version:

Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files

861 lines (757 loc) 26.6 kB
// Type definitions for FabricJS // Project: http://fabricjs.com/ // Definitions by: Oliver Klemencic <https://github.com/oklemencic/> // DefinitelyTyped: https://github.com/borisyankov/DefinitelyTyped /* USAGE ///<reference path="fabricjs.d.ts"/> */ declare module fabric { function createCanvasForNode(width: number, height: number): ICanvas; function getCSSRules(doc: SVGElement); function getGradientDefs(doc: SVGElement); function loadSVGFromString(text: string, callback: (results: IObject[], options) => void , reviver?: (el, obj) => void ); function loadSVGFromURL(url, callback: (results: IObject[], options) => void , reviver?: (el, obj) => void ); function log(values); function parseAttributes(element, attributes: any[]): any; function parseElements(elements: any[], callback, options, reviver); function parsePointsAttribute(points: string): any[]; function parseStyleAttribute(element: SVGElement); function parseSVGDocument(doc: SVGElement, callback: (results, options) => void , reviver?: (el, obj) => void ); function parseTransformAttribute(attributeValue: string); function warn(values); var isLikelyNode: boolean; var isTouchSupported: boolean; export interface IObservable { observe(eventCollection: IEventList); on(eventCollection: IEventList); observe(eventName: string, handler: (e) => any); on(eventName: string, handler: (e) => any); fire(eventName: string, options); stopObserving(eventName: string, handler: (e) => any); off(eventName, handler); } export interface IFilter { new (): IFilter; new (options: any): IFilter; } export interface IEventList { [index: string]: (e: Event) => void; } export interface IObjectOptions { angle?: number; borderColor?: string; borderOpacityWhenMoving?: number; borderScaleFactor?: number; cornerColor?: string; cornersize?: number; fill?: string; fillRule?: string; flipX?: boolean; flipY?: boolean; hasBorders?: boolean; hasControls?: boolean; hasRotatingPoint?: boolean; height?: number; includeDefaultValues?: boolean; left?: number; lockMovementX?: boolean; lockMovementY?: boolean; lockScalingX?: boolean; lockScalingY?: boolean; lockUniScaling?: boolean; lockRotation?: boolean; opacity?: number; originX?: string; originY?: string; overlayFill?: string; padding?: number; perPixelTargetFind?: boolean; rotatingPointOffset?: number; scaleX?: number; scaleY?: number; selectable?: boolean; stateProperties?: any[]; stroke?: string; strokeDashArray?: any[]; strokeWidth?: number; top?: number; transformMatrix?: any[]; transparentCorners?: boolean; type?: string; width?: number; } export interface ITextOptions extends IObjectOptions { fontSize?: number; fontWeight?: any; fontFamily?: string; textDecoration?: string; textShadow?: string; textAlign?: string; fontStyle?: string; lineHeight?: number; strokeStyle?: string; strokeWidth?: number; backgroundColor?: string; textBackgroundColor?: string; path?: string; type?: string; useNative?: Boolean; } export interface ICircleOptions extends IObjectOptions { radius?: number; } export interface IPoint { add(that: IPoint): IPoint; addEquals(that: IPoint): IPoint; distanceFrom(that: IPoint); divide(scalar: number); divideEquals(scalar: number); eq(that: IPoint); gt(that: IPoint); gte(that: IPoint); init(x, y); lerp(that: IPoint, t); lt(that: IPoint); lte(that: IPoint); max(that: IPoint); min(that: IPoint); multiply(scalar); multiplyEquals(scalar); scalarAdd(scalar): IPoint; scalarAddEquals(scalar: number, thisArg: IPoint); scalarSubtract(scalar: number); scalarSubtractEquals(scalar); setFromPoint(that: IPoint); setXY(x, y); subtract(that: IPoint): IPoint; subtractEquals(that: IPoint): IPoint; swap(that: IPoint); tostring(): string; } export interface IRect extends IObject { x: number; y: number; rx: number; ry: number; complexity(): number; initialize(options: any); initialize(points: number[], options: any): IRect; toObject(propertiesToInclude: any[]): any; toSVG(): string; } export interface IText extends IObject { fontSize: number; fontWeight: any; fontFamily: string; text: string; textDecoration: string; textShadow?: string; textAlign: string; fontStyle: string; lineHeight: number; strokeStyle: string; strokeWidth: number; backgroundColor: string; textBackgroundColor: string; path?: string; type: string; useNative: Boolean; initialize(options: any); initialize(text: string, options: any): IText; toString(): string; render(ctx: CanvasRenderingContext2D, noTransform: boolean); toObject(propertiesToInclude: any[]): IObject; toSVG(): string; setColor(value: string): IText; setFontsize(value: number): IText; getText(): string; setText(value: string): IText; } export interface ITriangle extends IObject { complexity(): number; initialize(options: any): ITriangle; toSVG(): string; } export interface IEllipse { initialize(options: any): any; toObject(propertiesToInclude: any[]): any; toSVG(): string; render(ctx: CanvasRenderingContext2D, noTransform: boolean); complexity(): number; } export interface IGradient { initialize(options): any; toObject(): any; toLiveGradient(ctx: CanvasRenderingContext2D): any; } export interface IColor { getSource(): any[]; setSource(source: any[]): any; toRgb(): string; toRgba(): string; toHex(): string; getAlpha(): number; setAlpha(alpha: number): IColor; toGrayscale(): IColor; toBlackWhite(threshold): IColor; overlayWith(otherColor: string): IColor; overlayWith(otherColor: IColor): IColor; } export interface IElement { } export interface IObject extends IObservable { // constraint properties lockMovementX: boolean; lockMovementY: boolean; lockScalingX: boolean; lockScalingY: boolean; lockScaling: boolean; lockUniScaling: boolean; lockRotation: boolean; getCurrentWidth(): number; getCurrentHeight(): number; originX: string; originY: string; angle: number; getAngle(): number; setAngle(value: number): IObject; borderColor: string; getBorderColor(): string; setBorderColor(value: string): IObject; borderOpacityWhenMoving: number; borderScaleFactor: number; getBorderScaleFactor(): number; cornerColor: string; cornersize: number; getCornersize(): number; setCornersize(value: number): IObject; fill: string; getFill(): string; setFill(value: string): IObject; fillRule: string; getFillRule(): string; setFillRule(value: string): IObject; flipX: boolean; getFlipX(): boolean; setFlipX(value: boolean): IObject; flipY: boolean; getFlipY(): boolean; setFlipY(value: boolean): IObject; hasBorders: boolean; hasControls: boolean; hasRotatingPoint: boolean; height: number; getHeight(): number; setHeight(value: number): IObject; includeDefaultValues: boolean; left: number; getLeft(): number; setLeft(value: number): IObject; opacity: number; getOpacity(): number; setOpacity(value: number): IObject; overlayFill: string; getOverlayFill(): string; setOverlayFill(value: string): IObject; padding: number; perPixelTargetFind: boolean; rotatingPointOffset: number; scaleX: number; getScaleX(): number; setScaleX(value: number): IObject; scaleY: number; getScaleY(): number; setScaleY(value: number): IObject; selectable: boolean; stateProperties: any[]; stroke: string; strokeDashArray: any[]; strokeWidth: number; top: number; getTop(): number; setTop(value: number): IObject; transformMatrix: any[]; transparentCorners: boolean; type: string; width: number; getWidth(): number; setWidth(value: number): IObject; // methods bringForward(): IObject; bringToFront(): IObject; center(): IObject; centerH(): IObject; centerV(): IObject; clone(callback?, propertiesToInclude?): IObject; cloneAsImage(callback): IObject; complexity(): number; drawBorders(context: CanvasRenderingContext2D): IObject; drawCorners(context: CanvasRenderingContext2D): IObject; get (property: string): any; getBoundingRectHeight(): number; getBoundingRectWidth(): number; getSvgStyles(): string; getSvgTransform(): string; hasStateChanged(): boolean; initialize(options: any); intersectsWithObject(other: IObject): boolean; intersectsWithRect(selectionTL: any, selectionBR: any): boolean; isActive(): boolean; isContainedWithinObject(other: IObject): boolean; isContainedWithinRect(selectionTL: any, selectionBR: any): boolean; isType(type: string): boolean; remove(): IObject; render(ctx: CanvasRenderingContext2D, noTransform: boolean); rotate(value: number): IObject; saveState(): IObject; scale(value: number): IObject; scaleToHeight(value: number): IObject; scaleToWidth(value: number): IObject; sendBackwards(): IObject; sendToBack(): IObject; set (properties: IObjectOptions): IObject; set (name: string, value: any): IObject; setActive(active: boolean): IObject; setCoords(); setGradientFill(options); setOptions(options: any); setSourcePath(value: string): IObject; toDatalessObject(propertiesToInclude): any; toDataURL(callback): string; toggle(property): IObject; toGrayscale(): IObject; toJSON(propertiesToInclude): string; toObject(propertiesToInclude): any; tostring(): string; transform(ctx: CanvasRenderingContext2D); } export interface IGroup extends IObject { type: string; activateAllObjects(): IGroup; add(object): IGroup; addWithUpdate(object): IGroup; complexity(): number; contains(object): boolean; containsPoint(point): boolean; destroy(): IGroup; getObjects(): IObject[]; hasMoved(): boolean; initialize(options: any); initialize(objects, options): any; item(index): IObject; remove(object?): IGroup; removeWithUpdate(object): IGroup; render(ctx, noTransform): void; saveCoords(): IGroup; setObjectsCoords(): IGroup; size(): number; toGrayscale(): IGroup; toObject(propertiesToInclude: any[]): any; tostring(): string; toSVG(): string; } export interface ILine extends IObject { x1: number; x2: number; y1: number; y2: number; complexity(): number; initialize(options: any); initialize(points: number[], options: any): ILine; toObject(propertiesToInclude: any[]): any; toSVG(): string; } export interface IIntersection { appendPoint(status: string); appendPoints(status: string); init(status: string); } export interface IImage extends IObject { filters: any; applyFilters(callback); clone(callback?, propertiesToInclude?): IObject; clone(propertiesToInclude, callback); complexity(): number; getElement(): HTMLImageElement; getOriginalSize(): { width: number; height: number; }; getSrc(): string; initialize(options: any); initialize(element: string, options: any); initialize(element: HTMLImageElement, options: any); render(ctx: CanvasRenderingContext2D, noTransform: boolean); setElement(element): IImage; toObject(propertiesToInclude): any; tostring(): string; toSVG(): string; } export interface ICircle extends IObject { // methods complexity(): number; getRadiusX(): number; getRadiusY(): number; initialize(options: ICircleOptions): ICircle; setRadius(value: number): number; toObject(propertiesToInclude): any; toSVG(): string; } export interface IPath extends IObject { complexity(): number; initialize(options: any); initialize(path, options); render(ctx: CanvasRenderingContext2D, noTransform: boolean); toDatalessObject(propertiesToInclude): any; toObject(propertiesToInclude): any; tostring(): string; toSVG(): string; } export interface IPolygon extends IObject { complexity(): number; initialize(options: any); initialize(points, options); toObject(propertiesToInclude): any; toSVG(): string; } export interface IPolyline extends IObject { complexity(): number; initialize(options: any); initialize(points, options); toObject(propertiesToInclude): any; toSVG(): string; } export interface IPathGroup extends IObject { complexity(): number; initialize(options: any); initialize(paths, options); isSameColor(): boolean; render(ctx: CanvasRenderingContext2D); toDatalessObject(propertiesToInclude): any; toGrayscale(): IPathGroup; toObject(propertiesToInclude): any; tostring(): string; toSVG(): string; } export interface IStaticCanvas extends IObservable { // fields backgroundColor: string; backgroundImage: string; backgroundImageOpacity: number; backgroundImageStretch: number; clipTo(clipFunction: (context: CanvasRenderingContext2D) => void ); controlsAboveOverlay: boolean; includeDefaultValues: boolean; overlayImage: string; overlayImageLeft: number; overlayImageTop: number; renderOnAddition: boolean; stateful: boolean; // static EMPTY_JSON: string; supports(methodName: string): boolean; // methods add(...object: IObject[]): ICanvas; bringForward(object: IObject): ICanvas; calcOffset(): ICanvas; centerObject(object: IObject): ICanvas; centerObjectH(object: IObject): ICanvas; centerObjectV(object: IObject): ICanvas; clear(): ICanvas; clearContext(context: CanvasRenderingContext2D): ICanvas; complexity(): number; dispose(): ICanvas; drawControls(); forEachObject(callback: (object: IObject) => void , context?: CanvasRenderingContext2D): ICanvas; getActiveGroup(): IGroup; getActiveObject(): IObject; getCenter(): IObject; getContext(): CanvasRenderingContext2D; getElement(): HTMLCanvasElement; getHeight(): number; getObjects(): IObject[]; getWidth(): number; insertAt(object: IObject, index: number, nonSplicing: boolean): ICanvas; isEmpty(): boolean; item(index: number): IObject; onBeforeScaleRotate(target: IObject); remove(object: IObject): IObject; renderAll(allOnTop?: boolean): ICanvas; renderTop(): ICanvas; sendBackwards(object: IObject): ICanvas; sendToBack(object: IObject): ICanvas; setBackgroundImage(object: IObject): ICanvas; setDimensions(object: { width: number; height: number; }): ICanvas; setHeight(height: number): ICanvas; setOverlayImage(url: string, callback: () => any, options): ICanvas; setWidth(width: number): ICanvas; toDatalessJSON(propertiesToInclude?: any[]): string; toDatalessObject(propertiesToInclude?: any[]): string; toDataURL(format: string, quality?: number): string; toDataURLWithMultiplier(propertiesToInclude: any[]): string; toGrayscale(propertiesToInclude: any[]): string; toJSON(propertiesToInclude: any[]): string; toObject(propertiesToInclude: any[]): string; tostring(): string; toSVG(): string; } export interface ICanvas extends IStaticCanvas { // constructors (element: HTMLCanvasElement): ICanvas; (element: string): ICanvas; _objects: IObject[]; // fields containerClass: string; defaultCursor: string; freeDrawingColor: string; freeDrawingLineWidth: number; hoverCursor: string; interactive: boolean; moveCursor: string; perPixelTargetFind: boolean; rotationCursor: string; selection: boolean; selectionBorderColor: string; selectionColor: string; selectionDashArray: number[]; selectionLineWidth: number; targetFindTolerance: number; // methods containsPoint(e: Event, target: IObject): boolean; deactivateAll(): ICanvas; deactivateAllWithDispatch(): ICanvas; discardActiveGroup(): ICanvas; discardActiveObject(): ICanvas; drawDashedLine(ctx: CanvasRenderingContext2D, x: number, y: number, x2: number, y2: number, dashArray: number[]): ICanvas; findTarget(e: MouseEvent, skipGroup: boolean): ICanvas; getActiveGroup(): IGroup; getActiveObject(): IObject; getPointer(e): { x: number; y: number; }; getSelectionContext(): CanvasRenderingContext2D; getSelectionElement(): HTMLCanvasElement; setActiveGroup(group: IGroup): ICanvas; setActiveObject(object: IObject, e?): ICanvas; loadFromJSON(json, callback: () => void): void; loadFromDatalessJSON(json, callback: () => void): void; } export interface IBrightnessFilter { } export interface IInvertFilter { } export interface IRemoveWhiteFilter { } export interface IGrayscaleFilter { } export interface ISepiaFilter { } export interface ISepia2Filter { } export interface INoiseFilter { } export interface IGradientTransparencyFilter { } export interface IPixelateFilter { } export interface IConvoluteFilter { } export interface ICanvasOptions { containerClass?: string; defaultCursor?: string; freeDrawingColor?: string; freeDrawingLineWidth?: number; hoverCursor?: string; interactive?: boolean; moveCursor?: string; perPixelTargetFind?: boolean; rotationCursor?: string; selection?: boolean; selectionBorderColor?: string; selectionColor?: string; selectionDashArray?: number[]; selectionLineWidth?: number; targetFindTolerance?: number; backgroundColor?: string; backgroundImage?: string; backgroundImageOpacity?: number; backgroundImageStretch?: number; controlsAboveOverlay?: boolean; includeDefaultValues?: boolean; overlayImage?: string; overlayImageLeft?: number; overlayImageTop?: number; renderOnAddition?: boolean; stateful?: boolean; } export interface IRectOptions extends IObjectOptions { x?: number; y?: number; rx?: number; ry?: number; } export interface ITriangleOptions extends IObjectOptions { } var Rect: { fromElement(element: SVGElement, options: IRectOptions): IRect; fromObject(object): IRect; new (options?: IRectOptions): IRect; prototype: any; } var Triangle: { new (options?: ITriangleOptions): ITriangle; } var Canvas: { new (element: HTMLCanvasElement, options?: ICanvasOptions): ICanvas; new (element: string, options?: ICanvasOptions): ICanvas; EMPTY_JSON: string; supports(methodName: string): boolean; prototype: any; } var StaticCanvas: { new (element: HTMLCanvasElement, options?: ICanvasOptions): ICanvas; new (element: string, options?: ICanvasOptions): ICanvas; EMPTY_JSON: string; supports(methodName: string): boolean; prototype: any; } var Circle: { ATTRIBUTE_NAMES: string[]; fromElement(element: SVGElement, options: ICircleOptions): ICircle; fromObject(object): ICircle; new (options?: ICircleOptions): ICircle; prototype: any; } var Group: { new (items?: any[], options?: IObjectOptions): IGroup; } var Line: { ATTRIBUTE_NAMES: string[]; fromElement(element: SVGElement, options): ILine; fromObject(object): ILine; prototype: any; new (points: number[], objObjects?: IObjectOptions): ILine; } var Intersection: { intersectLineLine(a1, a2, b1, b2); intersectLinePolygon(a1, a2, points); intersectPolygonPolygon(points1, points2); intersectPolygonRectangle(points, r1, r2); } var Path: { fromElement(element: SVGElement, options): IPath; fromObject(object): IPath; new (): IPath; } var PathGroup: { fromObject(object): IPathGroup; new (): IPathGroup; prototype: any; } var Point: { new (x, y): IPoint; prototype: any; } var Object: { prototype: any; } var Polygon: { fromObject(object): IPolygon; fromElement(element: SVGElement, options): IPolygon; new (): IPolygon; prototype: any; } var Polyline: { fromObject(object): IPolyline; fromElement(element: SVGElement, options): IPolyline; new (): IPolyline; prototype: any; } var Text: { new (text: string, options?: ITextOptions): IText; } var Image: { fromURL(url: string): IImage; fromURL(url: string, callback: (image: IImage) => any): IImage; fromURL(url: string, callback: (image: IImage) => any, objObjects: IObjectOptions): IImage; new (element: HTMLImageElement, objObjects: IObjectOptions): IImage; prototype: any; filters: { Grayscale: { new (): IGrayscaleFilter; }; Brightness: { new (options?: { brightness: number; }): IBrightnessFilter; }; RemoveWhite: { new (options?: { threshold?: string; // TODO: Check this distance?: string; // TODO: Check this }): IRemoveWhiteFilter; }; Invert: { new (): IInvertFilter; }; Sepia: { new (): ISepiaFilter; }; Sepia2: { new (): ISepia2Filter; }; Noise: { new (options?: { noise?: number; }): INoiseFilter; }; GradientTransparency: { new (options?: { threshold?: number; }): IGradientTransparencyFilter; }; Pixelate: { new (options?: { color?: any; }): IPixelateFilter; }; Convolute: { new (options?: { matrix: any; }): IConvoluteFilter; }; }; } var util: { addClass(element: HTMLElement, className: string); addListener(element, eventName: string, handler); animate(options: { onChange?: (value: number) => void; onComplete?: () => void; startValue?: number; endValue?: number; byValue?: number; easing?: (currentTime, startValue, byValue, duration) => number; duration?: number; }); createClass(parent, properties); degreesToRadians(degrees: number): number; falseFunction(): () => boolean; getById(id: HTMLElement): HTMLElement; getById(id: string): HTMLElement; getElementOffset(element): { left: number; top: number; }; getPointer(event: Event); getRandomInt(min: number, max: number); getScript(url: string, callback); groupSVGElements(elements: any[], options, path?: string); loadImage(url, callback, context); makeElement(tagName: string, attributes); makeElementSelectable(element: HTMLElement); makeElementUnselectable(element: HTMLElement); populateWithProperties(source, destination, properties): any[]; radiansToDegrees(radians: number): number; removeFromArray(array: any[], value); removeListener(element: HTMLElement, eventName, handler); request(url, options); requestAnimFrame(callback, element); setStyle(element: HTMLElement, styles); toArray(arrayLike): any[]; toFixed(number, fractionDigits); wrapElement(element: HTMLElement, wrapper, attributes); } }