Merge pull request #1926 from LiFeleSs/master

svg.js Element.transform() now return a transform
This commit is contained in:
Bart van der Schoor
2014-04-01 16:13:08 +02:00
3 changed files with 41 additions and 2 deletions
+20
View File
@@ -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
}
}
+20 -1
View File
@@ -66,4 +66,23 @@ function renderSVG(data:string) {
var uniqueId = "path"+index++
path.attr({"path-id": uniqueId})
})
}
}
//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" }
}
+1 -1
View File
@@ -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;