If the UTF-8 sequence for the Unicode Soft Hyphen ("Non-printable U+00AD")
occurs in the text to be used as the label of a button, and the label
is still too wide after any wrapping done based on either space and/or a
visible hyphen ("-", U+002D), a visible hyphen will be introduced and
the label will be wrapped.
e.g. Norwegian Nynorsk "Regnbogesyklus"
Regnboge-
syklus
(rather than all crammed on one line and impossible to read)
h/t Karl for the idea.
Closes https://sourceforge.net/p/tuxpaint/bugs/288/
e.g. Norwegian Nynorsk "ROGGBIF-regnboge" will appear as
ROGGBIF-
regnboge
rather than all crammed on one line and impossible to read.
h/t Karl for the idea. (Next up: support soft-hyphens)
For https://sourceforge.net/p/tuxpaint/bugs/288/
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).
Rotating brushes would not draw anything if you simply
click and release with no motion in between (unless brush
spacing was set to the minimum). It will now draw the
default "up" direction of the brush in that situation.
(h/t Pere for reporting)
Implemented by using a boolean that tracks whether there has
been any motion since a click; if not, the `brush_counter` is
forced to reset (to 999), to insist on `brush_draw()` blitting
something. (It used to always ignore if a rotational brush,
to avoid accidentally drawing in the wrong direction on release.)