use of com.cburch.draw.shapes.Text in project logisim-evolution by reds-heig.
the class DefaultAppearance method placePins.
private static void placePins(List<CanvasObject> dest, List<Instance> pins, int x, int y, int dx, int dy, boolean LeftSide, int ldy) {
int halign;
Color color = Color.DARK_GRAY;
int ldx;
for (Instance pin : pins) {
int offset = (pin.getAttributeValue(StdAttr.WIDTH).getWidth() > 1) ? Wire.WIDTH_BUS >> 1 : Wire.WIDTH >> 1;
int height = (pin.getAttributeValue(StdAttr.WIDTH).getWidth() > 1) ? Wire.WIDTH_BUS : Wire.WIDTH;
Rectangle rect;
if (LeftSide) {
ldx = 15;
halign = EditableLabel.LEFT;
rect = new Rectangle(x, y - offset, 10, height);
} else {
ldx = -15;
halign = EditableLabel.RIGHT;
rect = new Rectangle(x - 10, y - offset, 10, height);
}
rect.setValue(DrawAttr.STROKE_WIDTH, Integer.valueOf(1));
rect.setValue(DrawAttr.PAINT_TYPE, DrawAttr.PAINT_FILL);
rect.setValue(DrawAttr.FILL_COLOR, Color.BLACK);
dest.add(rect);
dest.add(new AppearancePort(Location.create(x, y), pin));
if (pin.getAttributeSet().containsAttribute(StdAttr.LABEL)) {
Text label = new Text(x + ldx, y + ldy, pin.getAttributeValue(StdAttr.LABEL));
label.getLabel().setHorizontalAlignment(halign);
label.getLabel().setColor(color);
label.getLabel().setFont(DrawAttr.DEFAULT_FIXED_PICH_FONT);
dest.add(label);
}
x += dx;
y += dy;
}
}
Aggregations