[ Link to video demonstration ]
This Drawing App has no functional purpose by itself; it is an experiment of complexity management to test how much requirements (and maybe future requirements) I can mash together by designing software properly. I'm not quite sure if I was successful, but at the time it was the most complex piece of work I've created.
Technically this app will compile in any OS that Qt 5 supports, given you have a C++11 compliant compiler. I heavily rely on lambdas, foreach loops, auto, some smart pointers and other C++11 goodness. Below is the original UML class diagram I drew up in WhiteStarUML before implementation:
This app has been tested in Windows 8.1 (MSVC++2013) and Manjaro Linux (MinGW 4.8).
Used as of this writing
- Qt Creator 3.3.0
- Qt 5.4
- C++11 compliant compiler
- Catch Unit Test Framework (bundled)
Icons are from various sources mashed up together:
I don't care what you do with it. However, if you find this useful, do drop me a love letter and say thanks (: