Starting with four tools:
* No rotation, shrink to 50%
* No rotation, grow to 150%
* 15deg rotiation, grow to 110%
* 90deg rotation, shrink to 75%
Don't redraw everything while sketching; do the recursive work once,
at the end (avoid CPU explosion).
+ WIP Makefile updates to support building for OS/2
- TODO: Makefile needs SYSNAME test to detect OS/2 (Bill has asked Elbert)
+ Added "__declspec(dllexport)" (via new "TX_EXTERN" #define'd in
`tp_magic_api.h`) to public function definitions in Magic tools
- WIP: So far just "Mirror/Flip" plugin
- TODO: Add "TX_EXTERN" prefix to all other public Magic tool functions
+ Renamed long Magic tool source files to have shorter filenames
- WIP: So far just "Mirror/Flip" (`mirror_flip.c` -> `mirror_f.c`)
- TODO: Rename all other magic tool source files.
h/t Elbert Pol for providing info and some diffs!
New API function which rolls back the Undo buffer (which is snapshotted
upon a mousedown event ahead of calling the Magic tool's `_click()`
function.) Dangerous; use sparingly!
Filled Polygon uses this to prevent partially-created (aka unfinished
aka incomplete) polygons -- the preview lines and control points -- from
being recorded and wasting space in the Undo history, or reappearing
upon Redo.
TODO - Other tools (e.g., Clone) would certainly benefit from this.
TODO - Needs more testing to help identify any bugs/issues introduced
by this!
TODO - Magic API docs need updating.
This is probably a sufficient solution that will make
https://sourceforge.net/p/tuxpaint/feature-requests/246/,
'"Overlay" surface in Magic API', unnecessary.
In instructions, mention that adjacent points may be merged.
When no more space is available for additional points, simply
move the last point to the new location (rather than silently
doing nothing).
h/t Pere for the ideas
When red & green endpoint dots are being dragged near each other,
play a different sound.
Based on CC Attribution 4.0 sound by Eliot Lash
(see CHANGES.txt & AUTHORS.txt).
The size option is being misused to allow different
color combinations: Red/Cyan, Red/Blue, Red/Green, and Magenta/Cyan
(there are others we could add, if only someone could figure out the
math :-D)
Note - If Tux Paint is running in "Novice" complexity mode, no choices
will be available; it will use Red/Cyan, as before.
h/t O'Hare The Rabbit for the idea
Remove our preview if switching out of the tool.
Do not wipe out previous work when switching into the tool
(it seems Tux Paint calls "set_color()" _before_ "switchin()"!?)