function configureTool(){ var the_toolObj = fl.tools.activeTool; the_toolObj.setIcon("sinewave.png"); the_toolObj.setMenuString("Sine Wave Tool"); the_toolObj.setToolName("Sine Wave Tool"); the_toolObj.setToolTip("Sine Wave Tool"); the_toolObj.setOptionsFile("sinewave.xml"); } function activate(){ the_toolObj = fl.tools.activeTool; res = the_toolObj.res; waves = the_toolObj.waves; } function notifySettingsChanged(){ the_toolObj = fl.tools.activeTool; res = the_toolObj.res; waves = the_toolObj.waves; } function mouseDown(){ fl.drawingLayer.beginDraw(); penDown = fl.tools.penDownLoc; transformPoint(penDown, fl.getDocumentDOM().viewMatrix); penDown = fl.tools.snapPoint(penDown); } function mouseMove(){ if(fl.tools.mouseIsDown){ pen = fl.tools.penLoc; transformPoint(pen, fl.getDocumentDOM().viewMatrix); pen = fl.tools.snapPoint(pen); w = pen.x - penDown.x; h = pen.y - penDown.y; fl.drawingLayer.beginFrame(); fl.drawingLayer.moveTo(penDown.x, penDown.y); segment = w/res; segAngle = Math.PI*2*waves/res; for(var i=1; i<=res; i++){ fl.drawingLayer.lineTo(penDown.x + segment*i, penDown.y + Math.sin(segAngle*i)*h); } fl.drawingLayer.endFrame(); } } function mouseUp(){ fl.drawingLayer.endDraw(); the_doc = fl.getDocumentDOM(); for(var i=0; i