Search in sources :

Example 76 with Bounds

use of com.cburch.logisim.data.Bounds in project logisim-evolution by reds-heig.

the class RectangularTool method draw.

@Override
public void draw(Canvas canvas, Graphics g) {
    Bounds bds = currentBounds;
    if (active && bds != null && bds != Bounds.EMPTY_BOUNDS) {
        g.setColor(Color.GRAY);
        drawShape(g, bds.getX(), bds.getY(), bds.getWidth(), bds.getHeight());
    }
}
Also used : Bounds(com.cburch.logisim.data.Bounds)

Example 77 with Bounds

use of com.cburch.logisim.data.Bounds in project logisim-evolution by reds-heig.

the class RectangularTool method updateMouse.

private void updateMouse(Canvas canvas, int mx, int my, int mods) {
    Bounds oldBounds = currentBounds;
    Bounds bds = computeBounds(canvas, mx, my, mods);
    if (!bds.equals(oldBounds)) {
        currentBounds = bds;
        repaintArea(canvas, oldBounds.add(bds));
    }
}
Also used : Bounds(com.cburch.logisim.data.Bounds)

Example 78 with Bounds

use of com.cburch.logisim.data.Bounds in project logisim-evolution by reds-heig.

the class RectangularTool method mousePressed.

@Override
public void mousePressed(Canvas canvas, MouseEvent e) {
    Location loc = Location.create(e.getX(), e.getY());
    Bounds bds = Bounds.create(loc);
    dragStart = loc;
    lastMouseX = loc.getX();
    lastMouseY = loc.getY();
    active = canvas.getModel() != null;
    repaintArea(canvas, bds);
}
Also used : Bounds(com.cburch.logisim.data.Bounds) Location(com.cburch.logisim.data.Location)

Example 79 with Bounds

use of com.cburch.logisim.data.Bounds in project logisim-evolution by reds-heig.

the class CounterPoker method paint.

/**
 * Draws an indicator that the caret is being selected. Here, we'll draw a
 * red rectangle around the value.
 */
@Override
public void paint(InstancePainter painter) {
    Bounds bds = painter.getBounds();
    BitWidth width = painter.getAttributeValue(StdAttr.WIDTH);
    int len = (width.getWidth() + 3) / 4;
    Graphics g = painter.getGraphics();
    g.setColor(Color.RED);
    // width of caret rectangle
    int wid = 7 * len + 2;
    // height of caret rectangle
    int ht = 16;
    g.drawRect(bds.getX() + (bds.getWidth() - wid) / 2, bds.getY() + (bds.getHeight() - ht) / 2, wid, ht);
    g.setColor(Color.BLACK);
}
Also used : BitWidth(com.cburch.logisim.data.BitWidth) Graphics(java.awt.Graphics) Bounds(com.cburch.logisim.data.Bounds)

Example 80 with Bounds

use of com.cburch.logisim.data.Bounds in project logisim-evolution by reds-heig.

the class GrayCounter method paintInstance.

@Override
public void paintInstance(InstancePainter painter) {
    // This is essentially the same as with SimpleGrayCounter, except for
    // the invocation of painter.drawLabel to make the label be drawn.
    painter.drawBounds();
    painter.drawClock(0, Direction.EAST);
    painter.drawPort(1);
    painter.drawLabel();
    if (painter.getShowState()) {
        BitWidth width = painter.getAttributeValue(StdAttr.WIDTH);
        CounterData state = CounterData.get(painter, width);
        Bounds bds = painter.getBounds();
        GraphicsUtil.drawCenteredText(painter.getGraphics(), StringUtil.toHexString(width.getWidth(), state.getValue().toIntValue()), bds.getX() + bds.getWidth() / 2, bds.getY() + bds.getHeight() / 2);
    }
}
Also used : BitWidth(com.cburch.logisim.data.BitWidth) Bounds(com.cburch.logisim.data.Bounds)

Aggregations

Bounds (com.cburch.logisim.data.Bounds)199 Graphics (java.awt.Graphics)71 Direction (com.cburch.logisim.data.Direction)29 Location (com.cburch.logisim.data.Location)29 BitWidth (com.cburch.logisim.data.BitWidth)20 Graphics2D (java.awt.Graphics2D)20 Font (java.awt.Font)19 Component (com.cburch.logisim.comp.Component)14 Color (java.awt.Color)14 FontMetrics (java.awt.FontMetrics)12 Value (com.cburch.logisim.data.Value)9 Circuit (com.cburch.logisim.circuit.Circuit)7 Port (com.cburch.logisim.instance.Port)7 Instance (com.cburch.logisim.instance.Instance)6 InstanceDataSingleton (com.cburch.logisim.instance.InstanceDataSingleton)6 Handle (com.cburch.draw.model.Handle)5 RadixOption (com.cburch.logisim.circuit.RadixOption)5 CanvasObject (com.cburch.draw.model.CanvasObject)3 Wire (com.cburch.logisim.circuit.Wire)3 ComponentFactory (com.cburch.logisim.comp.ComponentFactory)3