Start factoring out the file opening code. Even when the goal was just viewing images, the Main file was becoming a bit unwieldy. Now that I'm trying to add some more functionality, it was time to start cleaning it up.
Refactor palette panel creation into its own method and JPanel.
Moving towards adding basic painting ability. So far this just means getting some palette selectors set up, and some logging of mouse movements to help plan what is needed to allow painting. I'm planning to take inspiration from the Windows 3.1 through XP version of Paintbrush, because it's both very simple and highly effective. Might fire up some other vintage applications such as MegaPaint for inspiration as well.
Intelligently use the selected filter to export to the desired format. Currently, it will either use BMP or GOD as the possible formats, but this should be relatively extensible.
Add IndyPaint and FalconTrueColor to the GUI.
Update the imports for JImageReader 1.2. Remove an unused top-level file.
Bump the version of JImageReader used.
Add AwardBIOS to the list of supported formats.
Add Dr Halo
Add MegaPaint Bild to the list of options.
Allow opening EggPaint images.
Several minor usability enhancements: - Add both ImageIO and non-ImageIO open methods to the menu so we don't have to patch the code (hot-swapping or otherwise) to toggle - Add accelerator shortcuts for both open methods, plus the custom zoom option - Center the custom zoom over the application when it's opened - Make the main control for custom zoom a text area, where the text is pre-selected Basically this moves the UI forward 5 years, from circa 1994 to circa 1999.
Bump JImageReader dependency version.
Add God Paint to the formats the UI can open.
Fix pom.xml formatting, remove redundant test resource removal (just needed an mvn clean).
Exclude test images from the final .jar. And reduce the size of that jar by 99.5%.
Add the ability to export to PNG with ImageIO. This uses the built-in Java support, and can be used for making test files in cases where our BMP exporter is not yet sufficiently advaned.
Catch general exceptions and alert the user that things failed. This differentiates between "opened, and it looks the same/almost the same as the last image" and "failed to open".
Bump pom.xml of dependency to 1.0.1, fix package reference in PCXRunner.java.
Display an error message when the ImageIO library cannot read a file.