diff --git a/src/main/dig/sequential/D.dig b/src/main/dig/sequential/D.dig new file mode 100644 index 000000000..6d03e1d13 --- /dev/null +++ b/src/main/dig/sequential/D.dig @@ -0,0 +1,178 @@ + + + 1 + + + NOr + + + 0 + + + NOr + + + 0 + + + In + + + Label + D + + + + 0 + + + In + + + Label + C + + + + 0 + + + Out + + + Label + Q + + + + 0 + + + Out + + + Label + ~Q + + + + 0 + + + And + + + 0 + + + And + + + 0 + + + Not + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/sequential/D_MS.dig b/src/main/dig/sequential/D_MS.dig new file mode 100644 index 000000000..cf68516e8 --- /dev/null +++ b/src/main/dig/sequential/D_MS.dig @@ -0,0 +1,301 @@ + + + 1 + + + NOr + + + 0 + + + NOr + + + 0 + + + In + + + Label + D + + + + 0 + + + In + + + Label + C + + + + 0 + + + And + + + 0 + + + And + + + 0 + + + Not + + + rotation + + + + + 3 + + + Out + + + Label + Q + + + + 0 + + + NOr + + + 0 + + + NOr + + + 0 + + + And + + + 0 + + + And + + + 0 + + + Not + + + 0 + + + Out + + + Label + ~Q + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/sequential/D_T.dig b/src/main/dig/sequential/D_T.dig new file mode 100644 index 000000000..0cca6d8a6 --- /dev/null +++ b/src/main/dig/sequential/D_T.dig @@ -0,0 +1,224 @@ + + + 1 + + + NOr + + + 0 + + + NOr + + + 0 + + + In + + + Label + D + + + + 0 + + + In + + + Label + C + + + + 0 + + + Out + + + Label + Q + + + + 0 + + + Out + + + Label + ~Q + + + + 0 + + + And + + + 0 + + + And + + + 0 + + + Not + + + 0 + + + And + + + 0 + + + Delay + + + 0 + + + Not + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/sequential/JK-T.dig b/src/main/dig/sequential/JK-T.dig new file mode 100644 index 000000000..31870a11c --- /dev/null +++ b/src/main/dig/sequential/JK-T.dig @@ -0,0 +1,275 @@ + + + 1 + + + And + + + 0 + + + Not + + + 0 + + + And + + + Inputs + 3 + + + + 0 + + + And + + + Inputs + 3 + + + + 0 + + + NOr + + + 0 + + + NOr + + + 0 + + + In + + + Label + J + + + Default + 1 + + + + 0 + + + Out + + + Label + Q + + + + 0 + + + Out + + + Label + ~Q + + + + 0 + + + Delay + + + 0 + + + In + + + Label + C + + + + 0 + + + In + + + Label + K + + + Default + 1 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + C + J + K + Dif + Q + ~Q + + \ No newline at end of file diff --git a/src/main/dig/sequential/JK_MS.dig b/src/main/dig/sequential/JK_MS.dig new file mode 100644 index 000000000..3164bf358 --- /dev/null +++ b/src/main/dig/sequential/JK_MS.dig @@ -0,0 +1,346 @@ + + + 1 + + + And + + + Inputs + 3 + + + + 0 + + + And + + + Inputs + 3 + + + + 0 + + + Not + + + 0 + + + In + + + Label + J + + + Default + 1 + + + + 0 + + + In + + + Label + C + + + + 0 + + + NOr + + + 0 + + + NOr + + + 0 + + + And + + + 0 + + + And + + + 0 + + + NOr + + + 0 + + + NOr + + + 0 + + + Out + + + Label + Q + + + + 0 + + + Out + + + Label + ~Q + + + + 0 + + + In + + + Label + K + + + Default + 1 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + C + J + K + Q + ~Q + + \ No newline at end of file diff --git a/src/main/dig/sequential/RS.dig b/src/main/dig/sequential/RS.dig new file mode 100644 index 000000000..d187bd3a7 --- /dev/null +++ b/src/main/dig/sequential/RS.dig @@ -0,0 +1,119 @@ + + + + + NOr + + + 0 + + + NOr + + + 0 + + + In + + + Label + R + + + + 0 + + + In + + + Label + S + + + + 0 + + + Out + + + Label + Q + + + + 0 + + + Out + + + Label + ~Q + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/sequential/RS_C.dig b/src/main/dig/sequential/RS_C.dig new file mode 100644 index 000000000..ca5e49b16 --- /dev/null +++ b/src/main/dig/sequential/RS_C.dig @@ -0,0 +1,171 @@ + + + 1 + + + NOr + + + 0 + + + NOr + + + 0 + + + In + + + Label + S + + + + 0 + + + In + + + Label + C + + + + 0 + + + Out + + + Label + Q + + + + 0 + + + Out + + + Label + ~Q + + + + 0 + + + And + + + 0 + + + And + + + 0 + + + In + + + Label + R + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/sequential/RS_MS.dig b/src/main/dig/sequential/RS_MS.dig new file mode 100644 index 000000000..193ffc603 --- /dev/null +++ b/src/main/dig/sequential/RS_MS.dig @@ -0,0 +1,289 @@ + + + 1 + + + NOr + + + 0 + + + NOr + + + 0 + + + In + + + Label + S + + + + 0 + + + In + + + Label + C + + + + 0 + + + Out + + + Label + Q + + + + 0 + + + Out + + + Label + ~Q + + + + 0 + + + And + + + 0 + + + And + + + 0 + + + In + + + Label + R + + + + 0 + + + NOr + + + 0 + + + NOr + + + 0 + + + And + + + 0 + + + And + + + 0 + + + Not + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/sequential/RS_MS_Simp.dig b/src/main/dig/sequential/RS_MS_Simp.dig new file mode 100644 index 000000000..563fd82a4 --- /dev/null +++ b/src/main/dig/sequential/RS_MS_Simp.dig @@ -0,0 +1,149 @@ + + + 1 + + + In + + + Label + R + + + + 0 + + + In + + + Label + C + + + + 0 + + + Out + + + Label + Q + + + + 0 + + + Out + + + Label + ~Q + + + + 0 + + + In + + + Label + S + + + + 0 + + + RS_C.dig + + + 0 + + + RS_C.dig + + + 0 + + + Not + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/sequential/multip_D_notWorking.dig b/src/main/dig/sequential/multip_D_notWorking.dig new file mode 100644 index 000000000..1b1df2a30 --- /dev/null +++ b/src/main/dig/sequential/multip_D_notWorking.dig @@ -0,0 +1,411 @@ + + + 1 + + + NOr + + + 0 + + + NOr + + + 0 + + + In + + + Label + D + + + + 0 + + + In + + + Label + C + + + + 0 + + + And + + + 0 + + + And + + + 0 + + + Not + + + 0 + + + NOr + + + 0 + + + NOr + + + 0 + + + Out + + + Label + Q + + + + 0 + + + And + + + 0 + + + And + + + 0 + + + Not + + + 0 + + + NOr + + + 0 + + + NOr + + + 0 + + + And + + + 0 + + + And + + + 0 + + + Not + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/sequential/multip_D_working.dig b/src/main/dig/sequential/multip_D_working.dig new file mode 100644 index 000000000..c7f743db0 --- /dev/null +++ b/src/main/dig/sequential/multip_D_working.dig @@ -0,0 +1,96 @@ + + + 1 + + + D_MS.dig + + + 0 + + + D_MS.dig + + + 0 + + + D_MS.dig + + + 0 + + + In + + + 0 + + + Out + + + 0 + + + In + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/sequential/multip_D_working_T.dig b/src/main/dig/sequential/multip_D_working_T.dig new file mode 100644 index 000000000..429fadc13 --- /dev/null +++ b/src/main/dig/sequential/multip_D_working_T.dig @@ -0,0 +1,96 @@ + + + 1 + + + In + + + 0 + + + Out + + + 0 + + + In + + + 0 + + + D_T.dig + + + 0 + + + D_T.dig + + + 0 + + + D_T.dig + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java index e6ce8f14e..f4eab8aad 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java @@ -11,7 +11,6 @@ import de.neemann.digital.draw.elements.Wire; import de.neemann.digital.draw.graphics.*; import de.neemann.digital.draw.library.ElementLibrary; import de.neemann.digital.draw.shapes.Drawable; -import de.neemann.digital.draw.shapes.GenericShape; import de.neemann.digital.draw.shapes.ShapeFactory; import de.neemann.digital.gui.LibrarySelector; import de.neemann.digital.gui.Main; @@ -35,6 +34,8 @@ import java.util.Arrays; import java.util.Collection; import java.util.HashSet; +import static de.neemann.digital.draw.shapes.GenericShape.SIZE; + /** * @author hneemann */ @@ -227,8 +228,8 @@ public class CircuitComponent extends JComponent { } private Vector raster(Vector pos) { - return new Vector((int) Math.round((double) pos.x / GenericShape.SIZE) * GenericShape.SIZE, - (int) Math.round((double) pos.y / GenericShape.SIZE) * GenericShape.SIZE); + return new Vector((int) Math.round((double) pos.x / SIZE) * SIZE, + (int) Math.round((double) pos.y / SIZE) * SIZE); } /** @@ -250,8 +251,8 @@ public class CircuitComponent extends JComponent { if (gr.getMin() != null) { Vector delta = gr.getMax().sub(gr.getMin()); - double sx = ((double) getWidth()) / delta.x * 0.75; - double sy = ((double) getHeight()) / delta.y * 0.95; + double sx = ((double) getWidth()) / (delta.x + SIZE * 8); + double sy = ((double) getHeight()) / (delta.y + SIZE); double s = Math.min(sx, sy); transform.setToScale(s, s); // set Scaling @@ -482,6 +483,7 @@ public class CircuitComponent extends JComponent { void moved(MouseEvent e) { Vector pos = getPosVector(e); visualElement.setPos(raster(pos.add(delta))); + circuit.modified(); repaint(); }