com.mxgraph.shape.mxSwimlaneShape Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jgraphx Show documentation
Show all versions of jgraphx Show documentation
JGraphX Swing Component - Java Graph Visualization Library
This is a binary & source redistribution of the original, unmodified JGraphX library originating from:
"https://github.com/jgraph/jgraphx/archive/v3.4.1.3.zip".
The purpose of this redistribution is to make the library available to other Maven projects.
package com.mxgraph.shape;
import java.awt.Rectangle;
import com.mxgraph.canvas.mxGraphics2DCanvas;
import com.mxgraph.util.mxConstants;
import com.mxgraph.util.mxRectangle;
import com.mxgraph.util.mxUtils;
import com.mxgraph.view.mxCellState;
public class mxSwimlaneShape extends mxBasicShape
{
/**
*
*/
public void paintShape(mxGraphics2DCanvas canvas, mxCellState state)
{
int start = (int) Math.round(mxUtils.getInt(state.getStyle(),
mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE)
* canvas.getScale());
Rectangle tmp = state.getRectangle();
if (mxUtils
.isTrue(state.getStyle(), mxConstants.STYLE_HORIZONTAL, true))
{
if (configureGraphics(canvas, state, true))
{
canvas.fillShape(new Rectangle(tmp.x, tmp.y, tmp.width, Math
.min(tmp.height, start)));
}
if (configureGraphics(canvas, state, false))
{
canvas.getGraphics().drawRect(tmp.x, tmp.y, tmp.width,
Math.min(tmp.height, start));
canvas.getGraphics().drawRect(tmp.x, tmp.y + start, tmp.width,
tmp.height - start);
}
}
else
{
if (configureGraphics(canvas, state, true))
{
canvas.fillShape(new Rectangle(tmp.x, tmp.y, Math.min(
tmp.width, start), tmp.height));
}
if (configureGraphics(canvas, state, false))
{
canvas.getGraphics().drawRect(tmp.x, tmp.y,
Math.min(tmp.width, start), tmp.height);
canvas.getGraphics().drawRect(tmp.x + start, tmp.y,
tmp.width - start, tmp.height);
}
}
}
/**
*
*/
protected mxRectangle getGradientBounds(mxGraphics2DCanvas canvas,
mxCellState state)
{
int start = (int) Math.round(mxUtils.getInt(state.getStyle(),
mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE)
* canvas.getScale());
mxRectangle result = new mxRectangle(state);
if (mxUtils
.isTrue(state.getStyle(), mxConstants.STYLE_HORIZONTAL, true))
{
result.setHeight(Math.min(result.getHeight(), start));
}
else
{
result.setWidth(Math.min(result.getWidth(), start));
}
return result;
}
}