// // Flashempire MX Extension // // Copyright (C) Flashempire Interactive 2003 // // Written by James Gao // // 2003-10-11 // // http://www.flashempire.com // // mailto:getmail@flashempire.net // function configureTool() { var curr_toolObj = fl.tools.activeTool; curr_toolObj.setIcon("arrow90.png"); curr_toolObj.setMenuString("Arrow 90 Tool"); curr_toolObj.setToolName("Arrow 90 Tool"); curr_toolObj.setToolTip("Flashempire Arrow 90 Tool"); curr_toolObj.setOptionsFile("arrow90.xml"); } function activate() { curr_toolObj = fl.tools.activeTool; thickness = curr_toolObj.thickness; } function notifySettingsChanged() { thickness = curr_toolObj.thickness; } function mouseDown() { startPoint = fl.tools.penDownLoc; fl.drawingLayer.beginDraw(); } function mouseUp() { fl.drawingLayer.endDraw(); arrow_path.makeShape(); } function mouseMove() { if (fl.tools.mouseIsDown) { fl.drawingLayer.beginFrame(); var penPoint = fl.tools.penLoc; penPoint = fl.tools.snapPoint(penPoint); constrain45(startPoint, penPoint); var w = penPoint.x-startPoint.x; var h = penPoint.y-startPoint.y; flagx = (w>0) ? 1:-1; flagy = (h>0) ? 1:-1; dx = thickness*w/Math.sqrt(h*h+w*w)*flagx; dy = thickness*h/Math.sqrt(h*h+w*w)*flagy; var points = new Array(); points[0] = {x:startPoint.x, y:startPoint.y}; points[1] = {x:startPoint.x+w, y:startPoint.y}; points[2] = {x:startPoint.x+w, y:startPoint.y+thickness*flagy}; points[3] = {x:startPoint.x+(thickness+dx)*flagx, y:startPoint.y+thickness*flagy}; points[4] = {x:startPoint.x+w, y:startPoint.y+h-dy*flagy}; points[5] = {x:startPoint.x+w-dx*flagx, y:startPoint.y+h}; points[6] = {x:startPoint.x+thickness*flagx, y:startPoint.y+(thickness+dy)*flagy}; points[7] = {x:startPoint.x+thickness*flagx, y:startPoint.y+h}; points[8] = {x:startPoint.x, y:startPoint.y+h}; points[9] = {x:startPoint.x, y:startPoint.y}; arrow_path = fl.drawingLayer.newPath(); for (var i = 0; ip1.x) { p2.x = p1.x+offset; } else { p2.x = p1.x-offset; } } }