Open Source UI and UX prototyping tool for designing static and animated layouts.
Draftoola is a combination out of "draft" and "tool".
Note: it is an early development state and not ready to use!
Draftoola requires minimum Qt 5.14 - https://www.qt.io/download
Draftoola requires Skia - https://skia.org/
Download Skia somewhere on your local machine by following instructions.
Draftoola code is tested with "chrome/m81" branch from Skia library. You can use a later one, but it is not tested.
Open your terminal and navigate to your preferred folder where Skia should be downloaded.
git clone -b chrome/m81 --single-branch https://github.com/google/skia.git
Install 3rd party libs and other dependencies for Skia.
cd skia
python2 tools/git-sync-deps
Install missing dependencies
tools/install_dependencies.sh
Now Skia have to precompiled as a static library. You can follow the official instructions on https://skia.org/user/build.
Create output folder and setup instructions for compiler.
bin/gn gen out/Release --args='is_debug=false'
Compile via ninja. Depending on processing power of your machine it takes a while.
ninja -C out/Release
Now we have to tell Draftoola where Skia is located. Add a new environment variable in QtCreator.
Variable: SKIA_DIR
Value: %your-path-to-skia-folder%/skia
Every vector-based path processing program needs good path operations, such as Boolean path operation, expanding and shrinking paths, etc. In the best case, the Bezier paths are retained in these operations. Qt SVG ist not the best library to render and work with SVG's. Target is to implement a powerful library.
The following libraries can be used.
- Skia Graphics Library (Google Chrome) - currently in use for path processing
- lib2geom (Inkscape)
- resvg