From 5854d4b1be1dc4e0f105623fa81fdb3e36b5087d Mon Sep 17 00:00:00 2001 From: Mattanja Kern Date: Mon, 21 Sep 2015 15:33:14 +0200 Subject: [PATCH 1/3] snapsvg update version 0.4.1 + fix for Element.drag onmove handler --- snapsvg/snapsvg.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/snapsvg/snapsvg.d.ts b/snapsvg/snapsvg.d.ts index 56d6b27b4..ff2abf720 100644 --- a/snapsvg/snapsvg.d.ts +++ b/snapsvg/snapsvg.d.ts @@ -1,4 +1,4 @@ -// Type definitions for Snap-SVG 0.3 +// Type definitions for Snap-SVG 0.4.1 // Project: https://github.com/adobe-webplatform/Snap.svg // Definitions by: Lars Klein // Definitions: https://github.com/borisyankov/DefinitelyTyped @@ -238,7 +238,7 @@ declare module Snap { unhover(hoverInHandler: (event: MouseEvent) => void, hoverOutHandler: (event: MouseEvent) => void): Snap.Element; drag():Snap.Element; - drag(onMove: (dx: number, dy: number, event: MouseEvent) => void, + drag(onMove: (dx: number, dy: number, x: number, y: number, event: MouseEvent) => void, onStart: (x: number, y: number, event: MouseEvent) => void, onEnd: (event: MouseEvent) => void, moveThisArg?: any, From 9196efffdc706918dfbda1b4df017e477bf5ca68 Mon Sep 17 00:00:00 2001 From: Mattanja Kern Date: Mon, 21 Sep 2015 15:33:43 +0200 Subject: [PATCH 2/3] snapsvg formatting, whitespace fixes --- snapsvg/snapsvg.d.ts | 99 +++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 51 deletions(-) diff --git a/snapsvg/snapsvg.d.ts b/snapsvg/snapsvg.d.ts index ff2abf720..2b4cba390 100644 --- a/snapsvg/snapsvg.d.ts +++ b/snapsvg/snapsvg.d.ts @@ -53,13 +53,12 @@ declare function Snap(query:string):Snap.Paper; declare function Snap(DOM:SVGElement):Snap.Paper; declare module Snap { - export var filter:Filter; export var path:Path; - + export function Matrix(a:number,b:number,c:number,d:number,e:number,f:number):Matrix; export function Matrix(svgMatrix:SVGMatrix):Matrix; - + export function ajax(url:string,postData:string,callback:Function,scope?:Object):XMLHttpRequest; export function ajax(url:string,postData:Object,callback:Function,scope?:Object):XMLHttpRequest; export function ajax(url:string,callback:Function,scope?:Object):XMLHttpRequest; @@ -72,10 +71,10 @@ declare module Snap { export function select(query:string):Snap.Element; export function selectAll(query:string):any; export function snapTo(values:Array,value:number,tolerance?:number):number; - + export function animate(from:number|number[],to:number|number[],updater:(n:number)=>void,duration:number,easing?:(num:number)=>number,callback?:()=>void):mina.MinaAnimation; export function animation(attr:Object,duration:number,easing?:(num:number)=>number,callback?:()=>void):Snap.Animation; - + export function color(clr:string):RGBHSB; export function getRGB(color:string):RGB; export function hsb(h:number,s:number,b:number):HSB; @@ -89,26 +88,26 @@ declare module Snap { export function angle(x1:number,y1:number,x2:number,y2:number,x3?:number,y3?:number):number; export function rad(deg:number):number; export function deg(rad:number):number; - + export function parse(svg:string):Fragment; export function parsePathString(pathString:string):Array; export function parsePathString(pathString:Array):Array; export function parseTransformString(TString:string):Array; export function parseTransformString(TString:Array):Array; - + export interface RGB{ r:number; g:number; b:number; hex:string; } - + export interface HSB{ h:number; s:number; b:number; } - + export interface RGBHSB{ r:number; g:number; @@ -120,13 +119,13 @@ declare module Snap { v:number; l:number; } - + export interface HSL{ h:number; s:number; l:number; } - + export interface BBox{ cx:number; cy:number; @@ -144,7 +143,7 @@ declare module Snap { y2:number; y:number; } - + export interface TransformationDescriptor { string: string; globalMatrix: Snap.Matrix; @@ -154,6 +153,7 @@ declare module Snap { local: string; toString(): string; } + export interface Animation{ attr:{[attr:string]:string|number|boolean|any}; duration:number; @@ -207,8 +207,7 @@ declare module Snap { transform(): TransformationDescriptor; type:string; use():Object; - - + click(handler: (event: MouseEvent) => void, thisArg?: any): Snap.Element; dblclick(handler: (event: MouseEvent) => void, thisArg?: any): Snap.Element; mousedown(handler: (event: MouseEvent) => void, thisArg?: any): Snap.Element; @@ -220,7 +219,7 @@ declare module Snap { touchmove(handler: (event: MouseEvent) => void, thisArg?: any): Snap.Element; touchend(handler: (event: MouseEvent) => void, thisArg?: any): Snap.Element; touchcancel(handler: (event: MouseEvent) => void, thisArg?: any): Snap.Element; - + unclick(handler?: (event: MouseEvent) => void): Snap.Element; undblclick(handler: (event: MouseEvent) => void): Snap.Element; unmousedown(handler: (event: MouseEvent) => void): Snap.Element; @@ -236,7 +235,7 @@ declare module Snap { hover(hoverInHandler: (event: MouseEvent) => void, hoverOutHandler: (event: MouseEvent) => void, thisArg?: any): Snap.Element; hover(hoverInHandler: (event: MouseEvent) => void, hoverOutHandler: (event: MouseEvent) => void, inThisArg?: any, outThisArg?: any): Snap.Element; unhover(hoverInHandler: (event: MouseEvent) => void, hoverOutHandler: (event: MouseEvent) => void): Snap.Element; - + drag():Snap.Element; drag(onMove: (dx: number, dy: number, x: number, y: number, event: MouseEvent) => void, onStart: (x: number, y: number, event: MouseEvent) => void, @@ -249,15 +248,14 @@ declare module Snap { onStart: (x: number, y: number, event: MouseEvent) => void, onEnd: (event: MouseEvent) => void): Snap.Element; } - + export interface Fragment { //TODO: The documentation says that selectAll returns a set, but the getting started guide // uses .attr on the returned object. That's not supported by a set select(query:string):Snap.Element; selectAll(query ?:string):Snap.Set; } - - + export interface Matrix { add(a:number,b:number,c:number,d:number,e:number,f:number):Matrix; add(matrix:Matrix):Matrix; @@ -267,13 +265,13 @@ declare module Snap { rotate(a:number,x?:number,y?:number):Matrix; scale(x:number,y?:number,cx?:number,cy?:number):Matrix; split():ExplicitTransform; - toTransformString():string; + toTransformString():string; translate(x:number,y:number):Matrix; x(x:number,y:number):number; y(x:number,y:number):number; - + } - + interface ExplicitTransform { dx: number; dy: number; @@ -283,32 +281,31 @@ declare module Snap { rotate: number; isSimple: boolean; } - - interface Paper extends Snap.Element { - clear():void; - el(name:string, attr:Object):Snap.Element; - filter(filstr:string):Snap.Element; - gradient(gradient:string):any; - g(varargs?:any):any; - group(...els:any[]):any; - mask(varargs:any):Object; - ptrn(x:number,y:number,width:number,height:number,vbx:number,vby:number,vbw:number,vbh:number):Object; - svg(x:number,y:number,width:number,height:number,vbx:number,vby:number,vbw:number,vbh:number):Object; - toString():string; - use(id?:string):Object; - use(id?:Snap.Element):Object; - - circle(x:number,y:number,r:number):Snap.Element; - ellipse(x:number,y:number,rx:number,ry:number):Snap.Element; - image(src:string,x:number,y:number,width:number,height:number):Snap.Element; - line(x1:number,y1:number,x2:number,y2:number):Snap.Element; - path(pathString?:string):Snap.Element; - polygon(varargs:any[]):Snap.Element; - polyline(varargs:any[]):Snap.Element; - rect(x:number,y:number,width:number,height:number,rx?:number,ry?:number):Snap.Element; - text(x:number,y:number,text:string|number):Snap.Element; - text(x:number,y:number,text:Array):Snap.Element; + interface Paper extends Snap.Element { + clear():void; + el(name:string, attr:Object):Snap.Element; + filter(filstr:string):Snap.Element; + gradient(gradient:string):any; + g(varargs?:any):any; + group(...els:any[]):any; + mask(varargs:any):Object; + ptrn(x:number,y:number,width:number,height:number,vbx:number,vby:number,vbw:number,vbh:number):Object; + svg(x:number,y:number,width:number,height:number,vbx:number,vby:number,vbw:number,vbh:number):Object; + toString():string; + use(id?:string):Object; + use(id?:Snap.Element):Object; + + circle(x:number,y:number,r:number):Snap.Element; + ellipse(x:number,y:number,rx:number,ry:number):Snap.Element; + image(src:string,x:number,y:number,width:number,height:number):Snap.Element; + line(x1:number,y1:number,x2:number,y2:number):Snap.Element; + path(pathString?:string):Snap.Element; + polygon(varargs:any[]):Snap.Element; + polyline(varargs:any[]):Snap.Element; + rect(x:number,y:number,width:number,height:number,rx?:number,ry?:number):Snap.Element; + text(x:number,y:number,text:string|number):Snap.Element; + text(x:number,y:number,text:Array):Snap.Element; } export interface Set { @@ -327,7 +324,7 @@ declare module Snap { push(els:Snap.Element[]):Snap.Element; splice(index:number,count:number,insertion?:Object[]):Snap.Element[]; } - + interface Filter { blur(x:number,y?:number):string; brightness(amount:number):string; @@ -339,9 +336,9 @@ declare module Snap { sepia(amount:number):string; shadow(dx: number, dy: number, blur: number, color: string, opacity: number): string; shadow(dx: number, dy: number, color: string, opacity: number): string; - shadow(dx: number, dy: number, opacity: number): string; + shadow(dx: number, dy: number, opacity: number): string; } - + interface Path { bezierBBox(...args:number[]):BBox; bezierBBox(bez:Array):BBox; @@ -363,7 +360,7 @@ declare module Snap { toCubic(pathString:Array):Array; toRelative(path:string):Array; } - + interface IntersectionDot{ x:number, y:number, From 0099601758ceea43b60cee094a2723d92968edfc Mon Sep 17 00:00:00 2001 From: Mattanja Kern Date: Mon, 21 Sep 2015 16:03:15 +0200 Subject: [PATCH 3/3] snapsvg: update to version 0.4.1 according to changelog https://github.com/adobe-webplatform/Snap.svg/blob/master/history.md --- snapsvg/snapsvg.d.ts | 46 ++++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/snapsvg/snapsvg.d.ts b/snapsvg/snapsvg.d.ts index 2b4cba390..aff964a6d 100644 --- a/snapsvg/snapsvg.d.ts +++ b/snapsvg/snapsvg.d.ts @@ -1,6 +1,6 @@ // Type definitions for Snap-SVG 0.4.1 // Project: https://github.com/adobe-webplatform/Snap.svg -// Definitions by: Lars Klein +// Definitions by: Lars Klein , Mattanja Kern // Definitions: https://github.com/borisyankov/DefinitelyTyped declare function mina(a:number, A:number, b:number, B:number, get:Function, set:Function, easing?:(num:number)=>number):mina.AnimationDescriptor; @@ -13,7 +13,8 @@ declare module mina { status: Function; stop: Function; } - export interface AnimationDescriptor{ + + export interface AnimationDescriptor { id: string; start: number; end: number; @@ -88,6 +89,16 @@ declare module Snap { export function angle(x1:number,y1:number,x2:number,y2:number,x3?:number,y3?:number):number; export function rad(deg:number):number; export function deg(rad:number):number; + export function sin(angle: number): number; + export function cos(angle: number): number; + export function tan(angle: number): number; + export function asin(angle: number): number; + export function acos(angle: number): number; + export function atan(angle: number): number; + export function atan2(angle: number): number; + + export function len(x1: number, y1: number, x2: number, y2: number): number; + export function len2(x1: number, y1: number, x2: number, y2: number): number; export function parse(svg:string):Fragment; export function parsePathString(pathString:string):Array; @@ -95,20 +106,22 @@ declare module Snap { export function parseTransformString(TString:string):Array; export function parseTransformString(TString:Array):Array; - export interface RGB{ + export function closest(x: number, y: number, X: number, Y: number): boolean; + + export interface RGB { r:number; g:number; b:number; hex:string; } - export interface HSB{ + export interface HSB { h:number; s:number; b:number; } - export interface RGBHSB{ + export interface RGBHSB { r:number; g:number; b:number; @@ -120,13 +133,13 @@ declare module Snap { l:number; } - export interface HSL{ + export interface HSL { h:number; s:number; l:number; } - export interface BBox{ + export interface BBox { cx:number; cy:number; h:number; @@ -154,7 +167,7 @@ declare module Snap { toString(): string; } - export interface Animation{ + export interface Animation { attr:{[attr:string]:string|number|boolean|any}; duration:number; easing?:(num:number)=>number; @@ -165,16 +178,19 @@ declare module Snap { add(el:Snap.Element):Snap.Element; addClass(value:string):Snap.Element; after(el:Snap.Element):Snap.Element; - animate(attrs:{[attr:string]:string|number|boolean|any},duration:number,easing?:(num: number)=> number,callback?:()=>void):Snap.Element; + align(el: Snap.Element, way: string):Snap.Element; animate(animation:any):Snap.Element; + animate(attrs:{[attr:string]:string|number|boolean|any},duration:number,easing?:(num: number)=> number,callback?:()=>void):Snap.Element; append(el:Snap.Element):Snap.Element; appendTo(el:Snap.Element):Snap.Element; asPX(attr:string,value?:string):number; //TODO: check what is really returned - attr(params:{[attr:string]:string|number|boolean|any}):Snap.Element; attr(param:string):string; + attr(params:{[attr:string]:string|number|boolean|any}):Snap.Element; before(el:Snap.Element):Snap.Element; + children(): Snap.Element[]; clone():Snap.Element; data(key:string,value?:any):any; + getAlign(el: Snap.Element, way: string): string; getBBox():BBox; getPointAtLength(length:number):{x:number, y:number, alpha:number}; getSubpath(from:number,to:number):string; @@ -195,18 +211,19 @@ declare module Snap { removeClass(value:string):Snap.Element; removeData(key?:string):Snap.Element; select(query:string):Snap.Element; - selectAll(query: string): Snap.Set; - selectAll(): Snap.Set; stop():Snap.Element; toDefs():Snap.Element; + toJSON(): any; + toggleClass(value:string,flag:boolean):Snap.Element; toPattern(x:number,y:number,width:number,height:number):Object; toPattern(x:string,y:string,width:string,height:string):Object; toString():string; - toggleClass(value:string,flag:boolean):Snap.Element; - transform(tstr:string):Snap.Element; transform(): TransformationDescriptor; + transform(tstr:string):Snap.Element; type:string; use():Object; + selectAll(): Snap.Set; + selectAll(query: string): Snap.Set; click(handler: (event: MouseEvent) => void, thisArg?: any): Snap.Element; dblclick(handler: (event: MouseEvent) => void, thisArg?: any): Snap.Element; @@ -292,6 +309,7 @@ declare module Snap { mask(varargs:any):Object; ptrn(x:number,y:number,width:number,height:number,vbx:number,vby:number,vbw:number,vbh:number):Object; svg(x:number,y:number,width:number,height:number,vbx:number,vby:number,vbw:number,vbh:number):Object; + toDataUrl(): string; toString():string; use(id?:string):Object; use(id?:Snap.Element):Object;