diff --git a/svgjs.draggable/svgjs.draggable.d.ts b/svgjs.draggable/svgjs.draggable.d.ts new file mode 100644 index 000000000..76837f58e --- /dev/null +++ b/svgjs.draggable/svgjs.draggable.d.ts @@ -0,0 +1,20 @@ +declare module svgjs { + export module draggable { + export interface DragDelta { + x: number + y: number + zoom: number + } + } + + export interface Element { + draggable(): Element + draggable(obj: Object):Element + fixed(): Element + beforedrag: (event: MouseEvent) => any + dragstart: (delta: draggable.DragDelta, event: MouseEvent) => any + dragmove: (delta: draggable.DragDelta, event: MouseEvent) => any + dragend: (delta: draggable.DragDelta, event: MouseEvent) => any + + } +} diff --git a/svgjs/svgjs-tests.ts b/svgjs/svgjs-tests.ts index fce9c3a74..60d07cab5 100644 --- a/svgjs/svgjs-tests.ts +++ b/svgjs/svgjs-tests.ts @@ -66,4 +66,23 @@ function renderSVG(data:string) { var uniqueId = "path"+index++ path.attr({"path-id": uniqueId}) }) -} \ No newline at end of file +} + +//Test if svgjs.Element.transform() correctly return an svgjs.Element.Transform +function elementTransformShouldReturnTransformObject() { + /* create an svg drawing */ + var div = document.createElement('div') + var draw = SVG(div) + + /* draw a rectangle scale, rotate and skew it */ + var rect = draw.rect(50,50).move(100,100).scale(0.5, 0.3).rotate(35).skew(10,25) + + /* first try to cast it */ + var trans:svgjs.Transform = rect.transform() + /* then check values if they are correct */ + if (trans.scaleX != 0.5) { throw "scaleX value is not correct" } + if (trans.scaleY != 0.3) { throw "scaleY value is not correct" } + if (trans.rotation != 35) { throw "rotation value is not correct" } + if (trans.skewX != 10) { throw "skewX value is not correct" } + if (trans.skewY != 25) { throw "skewY value is not correct" } +} diff --git a/svgjs/svgjs.d.ts b/svgjs/svgjs.d.ts index ec3ffe5c5..f5ceb81f2 100644 --- a/svgjs/svgjs.d.ts +++ b/svgjs/svgjs.d.ts @@ -104,7 +104,7 @@ declare module svgjs { filter(adder:(filter:Filter)=>void):Element; transform(t:Transform):Element; - + transform(): Transform; style(name:string, value:string):Element; style(obj:Object):Element;