// widget_animaterotation.ysl2
widget_desc("AnimateRotation") {
AnimateRotation - DEPRECATED, do not use.
Doesn't follow WYSIWYG principle, and forces user to add animateTransform tag in SVG (using inkscape XML editor for exemple)
shortdesc > AnimateRotation - DEPRECATED
path name="speed" accepts="HMI_INT,HMI_REAL" > speed
widget_class("AnimateRotation") {
widget_center = undefined;
// change animation properties
// TODO : rewrite with proper es6
for(let child of this.element.children){
if(child.nodeName == "animateTransform"){
child.setAttribute("dur", this.speed+"s");
child.setAttribute("from", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
child.setAttribute("to", "360 "+this.widget_center[0]+" "+this.widget_center[1]);
child.setAttribute("dur", (-1)*this.speed+"s");
child.setAttribute("from", "360 "+this.widget_center[0]+" "+this.widget_center[1]);
child.setAttribute("to", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
child.setAttribute("from", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
child.setAttribute("to", "0 "+this.widget_center[0]+" "+this.widget_center[1]);
let widget_pos = this.element.getBBox();
this.widget_center = [(widget_pos.x+widget_pos.width/2), (widget_pos.y+widget_pos.height/2)];