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.)
Text from unfinished "Label" tool input would appear after
creating a New image or Opening an existing one. Mended.
Closes https://sourceforge.net/p/tuxpaint/bugs/246/
Mostly by Pere.
If only one display is available, when running in windowed mode
and asking for Tux Paint to appear in a width and/or height larger
than the display's dimensions, Tux Paint will fall back to
the maximum(s) the display is capable of.
e.g., on my laptop with 1920x1080, running "tuxpaint --2048x2048"
will fall back to 1920x1080 (and display a warning to stdout).
However, if I have my external monitor (also 1920x1080) attached,
it will happily open a 2048x2048 window. Not perfect, but an
improvement.
Closes https://sourceforge.net/p/tuxpaint/feature-requests/113/
For example, when using a font like OpenDyslexia which has a very
large line spacing, the text gets shrunk since the overall bitmap
is too big for the space on the buttons (compared to the contents).
Cropping the whitespace will allow the text to remain larger.
WIP - The method of cropping isn't great. Text with descenders
appear higher than text without, causing terrible alignment.
So for now, the new `crop_surface()` code is not being used.
Also, replace some "#ifdef DEBUG printf(...) #endif" with
a simple "DEBUG_PRINTF(...)". And other minor tweaks.
Also, add other social media accounts to list of places to
announce Tux Paint in RELEASE docs.
Also, list a ton more options missing from default example config file
"src/tuxpaint.conf"
Previously Pango loaded system-supplied fonts instead, which could lead
to fonts not rendering in a human-readable text. This change fixes
https://sourceforge.net/p/tuxpaint/bugs/265/
Each brush's initial spacing (calculated, or loaded
from .dat file) is recorded. When the spacing UI
is used to select a close, but not-precisely-the-same,
spacing option, the default is chosen ("nudged" to it).
h/t Pere for pointing this out (e.g., "aa_round_seethru_05.png")
Also, meter's lowest value has a sliver dark blue.
Apple keyboards have only a "Delete" key (which acts as Backspace),
so contortions with Fn key required to access the keysym I was
using for eraser quick access. h/t Mark Kim for pointing it out.
Because of this use of a printable glyph key, and to solve the
issue of on screen keyboard and in-progress text input getting
clobbered while accessing eraser, preventing access to the
quick eraser when either Text or Label tool are selected.
A keyboard shortcut is now available for quickly accessing
a small eraser. Hold the [Del] key while clicking, and drag
around the picture to erase. Release the key and/or mouse to
return to normal operation.
(Eventually, this could be utilized when we can support
the recognition of a drawing tablet stylus' "eraser" tip;
see https://sourceforge.net/p/tuxpaint/feature-requests/8/)
Like so --
find . -name "*.c" -or -name "*.h" -exec indent -nbfda -npcs -npsl -bli0 --no-tabs {} \;
The `indent` invocation differs from the last one noted in
CHANGES.txt (from 2006!?), in that I've added "--no-tabs",
to ensure indents are all space-based.
...this ensures that any immediate mouse movement at the
beginning of the rotation process will affect the angle only
slightly. (As opposed to leaving it in the center of the
stamped shape; moving slightly left would rotate the shape
~180 degrees immediately, for example).
Also, updated date in CHANGES and src/tuxpaint.c, added
new feature to CHANGES, and credited Pere. (Great work!!!)