package com.mxgraph.shape; import com.mxgraph.canvas.mxGraphics2DCanvas; import com.mxgraph.util.mxConstants; import com.mxgraph.util.mxPoint; import com.mxgraph.util.mxUtils; import com.mxgraph.view.mxCellState; public class mxLineShape extends mxBasicShape { /** * */ public void paintShape(mxGraphics2DCanvas canvas, mxCellState state) { if (configureGraphics(canvas, state, false)) { boolean rounded = mxUtils.isTrue(state.getStyle(), mxConstants.STYLE_ROUNDED, false) && canvas.getScale() > mxConstants.MIN_SCALE_FOR_ROUNDED_LINES; canvas.paintPolyline(createPoints(canvas, state), rounded); } } /** * */ public mxPoint[] createPoints(mxGraphics2DCanvas canvas, mxCellState state) { String direction = mxUtils.getString(state.getStyle(), mxConstants.STYLE_DIRECTION, mxConstants.DIRECTION_EAST); mxPoint p0, pe; if (direction.equals(mxConstants.DIRECTION_EAST) || direction.equals(mxConstants.DIRECTION_WEST)) { double mid = state.getCenterY(); p0 = new mxPoint(state.getX(), mid); pe = new mxPoint(state.getX() + state.getWidth(), mid); } else { double mid = state.getCenterX(); p0 = new mxPoint(mid, state.getY()); pe = new mxPoint(mid, state.getY() + state.getHeight()); } mxPoint[] points = new mxPoint[2]; points[0] = p0; points[1] = pe; return points; } }