On my laptop the prompt was basically not coming up at all
(only one animation step every few seconds), because apparently
it was stuck doing "w += 0" due to how few ticks went by within
the loop! :-D
We'll end up with things like "132/245 red, 90/245 yellow, 23/245 blue".
Getting it to work will likely require some massive brute-forcing.
If people want to take an existing color and make subtle changes, they
can just use the rainbow palette HSV color picker.
More sensible rotation when using the drag-from-corner mode
(rotates around center of the shape, as you'd expect, rather than
around one of the corners of the shape's bounding box, as it has
been doing all this time).
Stretching a shape from bottom to top causes an upside-down shape
(e.g., before, a triangle would always start out up-pointing
regardless as to whether you clicked and drag downwards or upwards;
now, it will start out down-pointing if you drag upwards when
initially placing & stretching the shape).
...deactivate all code for this within color mixer, since it's
not actually implemented yet (going to be tricky! -- probably
holding off to a future version).
Also, sound effect for cross-color grabbing within rainbow palette
dialog.
Locking to 0-degrees when mouse is within a UI-button-sized
square centered around the stamp's center (h/t Pere for the idea).
Change mouse pointer to 'hand' when in the center (so at the start
of the rotation step), and to the 'circle arrow' rotation symbol
when actually rotating.
WIP (disabled for now) Drawing a XOR'd line out of the stamp's
center to the mouse, to show the angle you're rotating at.
(Needs more work to avoid leaving residuals on the screen.)
Rotation off of zero (0) degrees only occurs when dragging outside
the bounding box (rectangle around the width/height) of the stamp.
No longer warping mouse to the right of the stamp, to cause it to
default to zero degrees. (The mouse being at the center of the
stamp now causes this, per the above change.)
Motivation - Placing stamps on mobile (touchscreen) was difficult
and non-intuitive. Now, you can at least double-tap the same
spot on the screen to position, and then place (without rotation)
the stamp. It's still not perfect, and I think a UI option to
enable/disable stamp rotation (leaving it off by default) is needed.
e.g. if the aspect ratio of the template/starter is wider than
that of the canvas, and "autoscale=vertical" (or "=both")
is specified, before it would chop the top and bottom of the
image off, displaying the vertical center of it on the canvas.
Now you can ask it to gravitate towards the top or bottom, if they
have content that's of higher significance than the opposite side.
h/t Pere & Albert for the suggestion.
TODO - Document, set some suitable defaults for images we ship.
Now possible to set scaling and smearing options for
each starter or template image. A ".dat" file can be
created which describes whether it's okay to scale and crop
the image's top/bottom and/or left/right, and if not both,
whether to smear the sides of the starter/template to the
edges of the canvas (the prior behavior, and the default),
or use a specific solid color background.
Once finished, will close
https://sourceforge.net/p/tuxpaint/feature-requests/190/
Still to do:
+ Document
+ Remove debugging printf()s (change to DEBUG_PRINTF()?)
+ Add files for starters & templates that ship with Tux Paint
+ Test!
When in the middle of adjusting a drawing with Zoom or Perspective,
you could change the color. However, the background would not
relfect this until you further adjusted the zoom/perspective.
Now, a color change causes the background to update immediately.
This involved updating the Tux Paint Magic API to send more
arguments to each Magic tool's "XYZ_set_color()" function,
which means a bump in the API version.
(Forthcoming, all other Magic tools will have their set_color()
functions updated.)