//TGear JSFL by iceeLyne Nov. 12, 2003. var theTool;//Flash Tool Object var thePath;//Store Gear Path var nSides = 6; var nHSides = 6; var rio = 0.75; var rho = 0.25; var didDrag = false; function configureTool(){ theTool = fl.tools.activeTool; theTool.setToolName("Gear Tool"); theTool.setIcon("Gear.png"); theTool.setMenuString("Gear Tool"); theTool.setToolTip("Gear Tool"); theTool.setOptionsFile("Gear.xml"); theTool.setPI("shape"); } function notifySettingsChanged(){ theTool = fl.tools.activeTool; nSides = theTool.nsides; nHSides = theTool.nhsides; rio = theTool.rio; rho = theTool.rho; } function setCursor(){ fl.tools.setCursor(0); } function activate(){ theTool = fl.tools.activeTool; nSides = theTool.nsides; nHSides = theTool.nhsides; rio = theTool.rio; rho = theTool.rho; } function deactivate(){ } function mouseDown(){ fl.drawingLayer.beginDraw(); didDrag = false; } function mouseMove(mouseLoc){ if(fl.tools.mouseIsDown){ var pt1 = fl.tools.penDownLoc; var pt2 = fl.tools.snapPoint(mouseLoc); var dx = Math.abs(pt1.x-pt2.x); var dy = Math.abs(pt1.y-pt2.y); var rad = Math.sqrt(dx*dx+dy*dy); var angle = Math.PI/2; if(fl.tools.shiftIsDown){ if(dx>dy){ if(pt2.x2){ didDrag = true; thePath = buildGearPath(pt1,pt2); fl.drawingLayer.beginFrame(); fl.drawingLayer.drawPath(thePath); fl.drawingLayer.endFrame(); } } } function mouseUp(){ fl.drawingLayer.endDraw(); if(didDrag){ thePath.makeShape(); } } function buildGearPath(pt1,pt2){ var centx = pt1.x,centy = pt1.y; var outerRadius = fl.Math.pointDistance(pt1,pt2); var innerRadius = outerRadius*rio; var holeRadius = outerRadius*rho; var step = 2*Math.PI/nSides; var qtrStep = step/4; var hStep = 2*Math.PI/nHSides; var x = pt2.x-pt1.x; var y = pt2.y-pt1.y; var start = x>=0 ? Math.atan(y/x) : Math.atan(y/x)+Math.PI; var path = fl.drawingLayer.newPath(); for(var i=0;i