From f53cbfcb026e5724fc6ed26ca9900e046b7b04c5 Mon Sep 17 00:00:00 2001 From: LiFeleSs Date: Thu, 27 Mar 2014 11:29:05 +0100 Subject: [PATCH 1/5] Element.transform() now return a transform added the overload for Element.transform() without arguments Fix for #1921 --- svgjs/svgjs.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; From 5d66022fb81bb888e7dfb9bd7df2e0c3fb1ede2f Mon Sep 17 00:00:00 2001 From: Luigi Trabacchin Date: Thu, 27 Mar 2014 11:40:01 +0100 Subject: [PATCH 2/5] Added support for svgjs.draggable --- svgjs.draggable/svgjs.draggable.d.ts | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 svgjs.draggable/svgjs.draggable.d.ts diff --git a/svgjs.draggable/svgjs.draggable.d.ts b/svgjs.draggable/svgjs.draggable.d.ts new file mode 100644 index 000000000..67c38bffe --- /dev/null +++ b/svgjs.draggable/svgjs.draggable.d.ts @@ -0,0 +1,7 @@ +declare module svgjs { + export interface Element { + draggable(): Element + draggable(obj: Object):Element + fixed(): Element + } +} From 8823d0b6dc723574a2b542e581cac02865d9094e Mon Sep 17 00:00:00 2001 From: Luigi Trabacchin Date: Thu, 27 Mar 2014 13:51:33 +0100 Subject: [PATCH 3/5] added callbacks added callbacks methods for Element --- svgjs.draggable/svgjs.draggable.d.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/svgjs.draggable/svgjs.draggable.d.ts b/svgjs.draggable/svgjs.draggable.d.ts index 67c38bffe..68c204a7f 100644 --- a/svgjs.draggable/svgjs.draggable.d.ts +++ b/svgjs.draggable/svgjs.draggable.d.ts @@ -1,7 +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: (e) => any + dragstart: (delta: draggable.DragDelta, e) => any + dragmove: (delta: draggable.DragDelta, e) => any + dragend: (delta: draggable.DragDelta, e) => any + } } From 4fbbc8c6e3694630317d1fdd66e4917db889cf88 Mon Sep 17 00:00:00 2001 From: Luigi Trabacchin Date: Thu, 27 Mar 2014 21:36:45 +0100 Subject: [PATCH 4/5] added a test for Element.transform() Test if svgjs.Element.transform() correctly return an svgjs.Element.Transform --- svgjs/svgjs-tests.ts | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) 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" } +} From 99c6b472e7f2048fc5de04e487ef3024ab642c31 Mon Sep 17 00:00:00 2001 From: Luigi Trabacchin Date: Thu, 27 Mar 2014 22:30:08 +0100 Subject: [PATCH 5/5] defined the event type this was not compiling because the event type was not defined --- svgjs.draggable/svgjs.draggable.d.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/svgjs.draggable/svgjs.draggable.d.ts b/svgjs.draggable/svgjs.draggable.d.ts index 68c204a7f..76837f58e 100644 --- a/svgjs.draggable/svgjs.draggable.d.ts +++ b/svgjs.draggable/svgjs.draggable.d.ts @@ -11,10 +11,10 @@ declare module svgjs { draggable(): Element draggable(obj: Object):Element fixed(): Element - beforedrag: (e) => any - dragstart: (delta: draggable.DragDelta, e) => any - dragmove: (delta: draggable.DragDelta, e) => any - dragend: (delta: draggable.DragDelta, e) => any + 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 } }