summaryrefslogtreecommitdiff
path: root/src/js/shape/mxArrow.js
diff options
context:
space:
mode:
authoradhitya2016-04-10 12:28:28 +0000
committeradhitya2016-04-10 12:28:28 +0000
commit0b1c069f88dab0288a01c6aed4d77f4e6d2f6474 (patch)
treeb5ae6b1f512a674f79674a12f675d22324cd268f /src/js/shape/mxArrow.js
parent1993f1da86e293aaf9996b8d7a4f6d9a9224f270 (diff)
downloadxcos-on-web-0b1c069f88dab0288a01c6aed4d77f4e6d2f6474.tar.gz
xcos-on-web-0b1c069f88dab0288a01c6aed4d77f4e6d2f6474.tar.bz2
xcos-on-web-0b1c069f88dab0288a01c6aed4d77f4e6d2f6474.zip
Removed (un)necessary files
Diffstat (limited to 'src/js/shape/mxArrow.js')
-rw-r--r--src/js/shape/mxArrow.js226
1 files changed, 0 insertions, 226 deletions
diff --git a/src/js/shape/mxArrow.js b/src/js/shape/mxArrow.js
deleted file mode 100644
index 93777d8..0000000
--- a/src/js/shape/mxArrow.js
+++ /dev/null
@@ -1,226 +0,0 @@
-/**
- * $Id: mxArrow.js,v 1.31 2012-05-23 19:09:22 gaudenz Exp $
- * Copyright (c) 2006-2010, JGraph Ltd
- */
-/**
- * Class: mxArrow
- *
- * Extends <mxShape> to implement an arrow shape. (The shape
- * is used to represent edges, not vertices.)
- * This shape is registered under <mxConstants.SHAPE_ARROW>
- * in <mxCellRenderer>.
- *
- * Constructor: mxArrow
- *
- * Constructs a new arrow shape.
- *
- * Parameters:
- *
- * points - Array of <mxPoints> that define the points. This is stored in
- * <mxShape.points>.
- * fill - String that defines the fill color. This is stored in <fill>.
- * stroke - String that defines the stroke color. This is stored in <stroke>.
- * strokewidth - Optional integer that defines the stroke width. Default is
- * 1. This is stored in <strokewidth>.
- * arrowWidth - Optional integer that defines the arrow width. Default is
- * <mxConstants.ARROW_WIDTH>. This is stored in <arrowWidth>.
- * spacing - Optional integer that defines the spacing between the arrow shape
- * and its endpoints. Default is <mxConstants.ARROW_SPACING>. This is stored in
- * <spacing>.
- * endSize - Optional integer that defines the size of the arrowhead. Default
- * is <mxConstants.ARROW_SIZE>. This is stored in <endSize>.
- */
-function mxArrow(points, fill, stroke, strokewidth, arrowWidth, spacing, endSize)
-{
- this.points = points;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- this.arrowWidth = (arrowWidth != null) ? arrowWidth : mxConstants.ARROW_WIDTH;
- this.spacing = (spacing != null) ? spacing : mxConstants.ARROW_SPACING;
- this.endSize = (endSize != null) ? endSize : mxConstants.ARROW_SIZE;
-};
-
-/**
- * Extends <mxActor>.
- */
-mxArrow.prototype = new mxActor();
-mxArrow.prototype.constructor = mxArrow;
-
-/**
- * Variable: addPipe
- *
- * Specifies if a SVG path should be created around any path to increase the
- * tolerance for mouse events. Default is false since this shape is filled.
- */
-mxArrow.prototype.addPipe = false;
-
-/**
- * Variable: enableFill
- *
- * Specifies if fill colors should be ignored. This must be set to true for
- * shapes that are stroked only. Default is true since this shape is filled.
- */
-mxArrow.prototype.enableFill = true;
-
-/**
- * Function: configureTransparentBackground
- *
- * Overidden to remove transparent background.
- */
-mxArrow.prototype.configureTransparentBackground = function(node)
-{
- // do nothing
-};
-
-/**
- * Function: updateBoundingBox
- *
- * Updates the <boundingBox> for this shape.
- */
-mxArrow.prototype.augmentBoundingBox = function(bbox)
-{
- // FIXME: Fix precision, share math and cache results with painting code
- bbox.grow(Math.max(this.arrowWidth / 2, this.endSize / 2) * this.scale);
-
- mxShape.prototype.augmentBoundingBox.apply(this, arguments);
-};
-
-/**
- * Function: createVml
- *
- * Extends <mxShape.createVml> to ignore fill if <enableFill> is false.
- */
-mxArrow.prototype.createVml = function()
-{
- if (!this.enableFill)
- {
- this.fill = null;
- }
-
- return mxActor.prototype.createVml.apply(this, arguments);
-};
-
-/**
- * Function: createSvg
- *
- * Extends <mxActor.createSvg> to ignore fill if <enableFill> is false and
- * create an event handling shape if <this.addPipe> is true.
- */
-mxArrow.prototype.createSvg = function()
-{
- if (!this.enableFill)
- {
- this.fill = null;
- }
-
- var g = mxActor.prototype.createSvg.apply(this, arguments);
-
- // Creates an invisible shape around the path for easier
- // selection with the mouse. Note: Firefox does not ignore
- // the value of the stroke attribute for pointer-events: stroke,
- // it does, however, ignore the visibility attribute.
- if (this.addPipe)
- {
- this.pipe = this.createSvgPipe();
- g.appendChild(this.pipe);
- }
-
- return g;
-};
-
-/**
- * Function: reconfigure
- *
- * Extends <mxActor.reconfigure> to ignore fill if <enableFill> is false.
- */
-mxArrow.prototype.reconfigure = function()
-{
- if (!this.enableFill)
- {
- this.fill = null;
- }
-
- mxActor.prototype.reconfigure.apply(this, arguments);
-};
-
-/**
- * Function: redrawSvg
- *
- * Extends <mxActor.redrawSvg> to update the event handling shape if one
- * exists.
- */
-mxArrow.prototype.redrawSvg = function()
-{
- mxActor.prototype.redrawSvg.apply(this, arguments);
-
- if (this.pipe != null)
- {
- var d = this.innerNode.getAttribute('d');
-
- if (d != null)
- {
- this.pipe.setAttribute('d', this.innerNode.getAttribute('d'));
- var strokeWidth = Math.round(this.strokewidth * this.scale);
- this.pipe.setAttribute('stroke-width', strokeWidth + mxShape.prototype.SVG_STROKE_TOLERANCE);
- }
- }
-};
-
-/**
- * Function: redrawPath
- *
- * Draws the path for this shape. This method uses the <mxPath>
- * abstraction to paint the shape for VML and SVG.
- */
-mxArrow.prototype.redrawPath = function(path, x, y, w, h)
-{
- // All points are offset
- path.translate.x -= x;
- path.translate.y -= y;
-
- // Geometry of arrow
- var spacing = this.spacing * this.scale;
- var width = this.arrowWidth * this.scale;
- var arrow = this.endSize * this.scale;
-
- // Base vector (between end points)
- var p0 = this.points[0];
- var pe = this.points[this.points.length - 1];
-
- var dx = pe.x - p0.x;
- var dy = pe.y - p0.y;
- var dist = Math.sqrt(dx * dx + dy * dy);
- var length = dist - 2 * spacing - arrow;
-
- // Computes the norm and the inverse norm
- var nx = dx / dist;
- var ny = dy / dist;
- var basex = length * nx;
- var basey = length * ny;
- var floorx = width * ny/3;
- var floory = -width * nx/3;
-
- // Computes points
- var p0x = p0.x - floorx / 2 + spacing * nx;
- var p0y = p0.y - floory / 2 + spacing * ny;
- var p1x = p0x + floorx;
- var p1y = p0y + floory;
- var p2x = p1x + basex;
- var p2y = p1y + basey;
- var p3x = p2x + floorx;
- var p3y = p2y + floory;
- // p4 not necessary
- var p5x = p3x - 3 * floorx;
- var p5y = p3y - 3 * floory;
-
- path.moveTo(p0x, p0y);
- path.lineTo(p1x, p1y);
- path.lineTo(p2x, p2y);
- path.lineTo(p3x, p3y);
- path.lineTo(pe.x - spacing * nx, pe.y - spacing * ny);
- path.lineTo(p5x, p5y);
- path.lineTo(p5x + floorx, p5y + floory);
- path.lineTo(p0x, p0y);
- path.close();
-};