Logisim should use scalable vector graphics to draw shapes, rather than hardcode shapes in Java as is currently done through low-level graphics commands that are impossible to understand from reading the code.
Use Batik instead. Logisim ships with it's own half-hearted reader for SVG: com.cburch.draw.shapes.SvgReader, com.cburch.draw.shapes.SvgCreator. That should go away.
Any calls to draw gates should be revised to a preloaded SVG shape from memory (using flyweights, obviously).
With SVG support from Batik, we can get PDF generation for free, so logisim.gui.main.print shouldn’t be as necessary anymore.
Logisim should use scalable vector graphics to draw shapes, rather than hardcode shapes in Java as is currently done through low-level graphics commands that are impossible to understand from reading the code.
Use Batik instead. Logisim ships with it's own half-hearted reader for SVG: com.cburch.draw.shapes.SvgReader, com.cburch.draw.shapes.SvgCreator. That should go away.
Any calls to draw gates should be revised to a preloaded SVG shape from memory (using flyweights, obviously).
With SVG support from Batik, we can get PDF generation for free, so logisim.gui.main.print shouldn’t be as necessary anymore.