use of com.cburch.logisim.data.Value in project logisim-evolution by reds-heig.
the class DipSwitch method propagate.
@Override
public void propagate(InstanceState state) {
State pins = (State) state.getData();
if (pins == null || pins.size != state.getAttributeValue(ATTR_SIZE)) {
int val = (pins == null) ? 0 : pins.Value;
pins = new State(val, state.getAttributeValue(ATTR_SIZE));
state.setData(pins);
}
for (int i = 0; i < pins.size; i++) {
Value pinstate = (pins.BitSet(i)) ? Value.TRUE : Value.FALSE;
state.setPort(i, pinstate, 1);
}
}
use of com.cburch.logisim.data.Value in project logisim-evolution by reds-heig.
the class KeyboardData method setLastClock.
public Value setLastClock(Value newClock) {
Value ret = lastClock;
lastClock = newClock;
return ret;
}
use of com.cburch.logisim.data.Value in project logisim-evolution by reds-heig.
the class Led method paintInstance.
@Override
public void paintInstance(InstancePainter painter) {
InstanceDataSingleton data = (InstanceDataSingleton) painter.getData();
Value val = data == null ? Value.FALSE : (Value) data.getValue();
Bounds bds = painter.getBounds().expand(-1);
Graphics g = painter.getGraphics();
if (painter.getShowState()) {
Color onColor = painter.getAttributeValue(Io.ATTR_ON_COLOR);
Color offColor = painter.getAttributeValue(Io.ATTR_OFF_COLOR);
Boolean activ = painter.getAttributeValue(Io.ATTR_ACTIVE);
Object desired = activ.booleanValue() ? Value.TRUE : Value.FALSE;
g.setColor(val == desired ? onColor : offColor);
g.fillOval(bds.getX(), bds.getY(), bds.getWidth(), bds.getHeight());
}
g.setColor(Color.BLACK);
GraphicsUtil.switchToWidth(g, 2);
g.drawOval(bds.getX(), bds.getY(), bds.getWidth(), bds.getHeight());
GraphicsUtil.switchToWidth(g, 1);
painter.drawLabel();
painter.drawPorts();
}
use of com.cburch.logisim.data.Value in project logisim-evolution by reds-heig.
the class Led method propagate.
@Override
public void propagate(InstanceState state) {
Value val = state.getPortValue(0);
InstanceDataSingleton data = (InstanceDataSingleton) state.getData();
if (data == null) {
state.setData(new InstanceDataSingleton(val));
} else {
data.setValue(val);
}
}
use of com.cburch.logisim.data.Value in project logisim-evolution by reds-heig.
the class ShiftRegisterPoker method mouseReleased.
@Override
public void mouseReleased(InstanceState state, MouseEvent e) {
int oldLoc = loc;
if (oldLoc < 0)
return;
BitWidth widObj = state.getAttributeValue(StdAttr.WIDTH);
if (widObj.equals(BitWidth.ONE)) {
int newLoc = computeStage(state, e);
if (oldLoc == newLoc) {
ShiftRegisterData data = (ShiftRegisterData) state.getData();
int i = data.getLength() - 1 - loc;
Value v = data.get(i);
if (v == Value.FALSE)
v = Value.TRUE;
else
v = Value.FALSE;
data.set(i, v);
state.fireInvalidated();
}
}
}
Aggregations