net.sourceforge.plantuml.posimo.MargedBlock Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plantuml-mit Show documentation
Show all versions of plantuml-mit Show documentation
PlantUML is a component that allows to quickly write diagrams from text.
// THIS FILE HAS BEEN GENERATED BY A PREPROCESSOR.
package net.sourceforge.plantuml.posimo;
import net.sourceforge.plantuml.klimt.font.StringBounder;
import net.sourceforge.plantuml.klimt.geom.Positionable;
import net.sourceforge.plantuml.klimt.geom.XDimension2D;
import net.sourceforge.plantuml.klimt.geom.XPoint2D;
public class MargedBlock {
private final Block block;
private final IEntityImageBlock imageBlock;
private final double marginDecorator;
private final XDimension2D imageDimension;
static private int uid = 1;
public MargedBlock(StringBounder stringBounder, IEntityImageBlock imageBlock, double marginDecorator,
Cluster parent) {
this.imageBlock = imageBlock;
this.marginDecorator = marginDecorator;
this.imageDimension = imageBlock.getDimension(stringBounder);
this.block = new Block(uid++, imageDimension.getWidth() + 2 * marginDecorator,
imageDimension.getHeight() + 2 * marginDecorator, parent);
}
public Block getBlock() {
return block;
}
public double getMarginDecorator() {
return marginDecorator;
}
public IEntityImageBlock getImageBlock() {
return imageBlock;
}
public Positionable getImagePosition() {
return new Positionable() {
public XDimension2D getSize() {
return imageDimension;
}
public XPoint2D getPosition() {
final XPoint2D pos = block.getPosition();
return new XPoint2D(pos.getX() + marginDecorator, pos.getY() + marginDecorator);
}
public void moveSvek(double deltaX, double deltaY) {
throw new UnsupportedOperationException();
}
};
}
}