Search in sources :

Example 6 with Text

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;
    }
}
Also used : Instance(com.cburch.logisim.instance.Instance) Color(java.awt.Color) Rectangle(com.cburch.draw.shapes.Rectangle) Text(com.cburch.draw.shapes.Text)

Aggregations

Text (com.cburch.draw.shapes.Text)6 Instance (com.cburch.logisim.instance.Instance)3 CanvasObject (com.cburch.draw.model.CanvasObject)2 Rectangle (com.cburch.draw.shapes.Rectangle)2 Direction (com.cburch.logisim.data.Direction)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 List (java.util.List)2 Map (java.util.Map)2 ModelAddAction (com.cburch.draw.actions.ModelAddAction)1 ModelEditTextAction (com.cburch.draw.actions.ModelEditTextAction)1 ModelRemoveAction (com.cburch.draw.actions.ModelRemoveAction)1 Location (com.cburch.logisim.data.Location)1 Color (java.awt.Color)1 Point (java.awt.Point)1