com.mxgraph.shape.mxRectangleShape Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of AptSpringProcessor Show documentation
Show all versions of AptSpringProcessor Show documentation
This project contains the apt processor that implements all the checks enumerated in @Verify. It is a self contained, and
shaded jar.
The newest version!
/**
* Copyright (c) 2007-2012, JGraph Ltd
*/
package com.mxgraph.shape;
import java.awt.Rectangle;
import java.util.Map;
import com.mxgraph.canvas.mxGraphics2DCanvas;
import com.mxgraph.swing.util.mxSwingConstants;
import com.mxgraph.util.mxConstants;
import com.mxgraph.util.mxUtils;
import com.mxgraph.view.mxCellState;
public class mxRectangleShape extends mxBasicShape
{
/**
*
*/
public void paintShape(mxGraphics2DCanvas canvas, mxCellState state)
{
Map style = state.getStyle();
if (mxUtils.isTrue(style, mxConstants.STYLE_ROUNDED, false))
{
Rectangle tmp = state.getRectangle();
int x = tmp.x;
int y = tmp.y;
int w = tmp.width;
int h = tmp.height;
int radius = getArcSize(state, w, h);
boolean shadow = hasShadow(canvas, state);
int shadowOffsetX = (shadow) ? mxConstants.SHADOW_OFFSETX : 0;
int shadowOffsetY = (shadow) ? mxConstants.SHADOW_OFFSETY : 0;
if (canvas.getGraphics().hitClip(x, y, w + shadowOffsetX,
h + shadowOffsetY))
{
// Paints the optional shadow
if (shadow)
{
canvas.getGraphics().setColor(mxSwingConstants.SHADOW_COLOR);
canvas.getGraphics().fillRoundRect(
x + mxConstants.SHADOW_OFFSETX,
y + mxConstants.SHADOW_OFFSETY, w, h, radius,
radius);
}
// Paints the background
if (configureGraphics(canvas, state, true))
{
canvas.getGraphics().fillRoundRect(x, y, w, h, radius,
radius);
}
// Paints the foreground
if (configureGraphics(canvas, state, false))
{
canvas.getGraphics().drawRoundRect(x, y, w, h, radius,
radius);
}
}
}
else
{
Rectangle rect = state.getRectangle();
// Paints the background
if (configureGraphics(canvas, state, true))
{
canvas.fillShape(rect, hasShadow(canvas, state));
}
// Paints the foreground
if (configureGraphics(canvas, state, false))
{
canvas.getGraphics().drawRect(rect.x, rect.y, rect.width,
rect.height);
}
}
}
/**
* Helper method to configure the given wrapper canvas.
*/
protected int getArcSize(mxCellState state, double w, double h)
{
double f = mxUtils.getDouble(state.getStyle(),
mxConstants.STYLE_ARCSIZE,
mxConstants.RECTANGLE_ROUNDING_FACTOR * 100) / 100;
return (int) (Math.min(w, h) * f * 2);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy