Commit graph

2659 commits

Author SHA1 Message Date
Bill Kendrick
db7a8c0124 WIP Starting to make a color mixer tool
Also, modularize color picker's & color selector's method of
generating a fresh version of their active/inactive buttons,
after a color has been chosen by their tool.
2022-01-26 22:43:06 -08:00
Bill Kendrick
83d316a166 Ctrl+click to pick colors immediately
A keyboard shortcut is now available for picking colors from
the canvas more quickly.  Hold either (left or right) [Ctrl] key
while clicking, and the color selector option will appear.
Release the mouse button over a color on the canvas to choose it
(or outside the canvas to abort).
Closes https://sourceforge.net/p/tuxpaint/feature-requests/209/

Also,
 * Don't play 'bubble' paint sound when color picker or selector
   are aborted (e.g., via their "Back" buttons).
 * Replace many instances of "NUM_COLOR - 1" and "NUM_COLOR - 2"
   (which correspond to color chose via picker (palette) and
   selector (canvas), respectively) with #define's that
   represent them. (Avoid magic numbers.)
2022-01-26 01:07:11 -08:00
Bill Kendrick
269f0cfe3a Rigging up do_color_sel() to offer immediate mode
The pick-a-color-from-the-canvas color selection feature
(the option in the color palette showing a pipette icon)
has been extended to support an immediate mode (return on
"mouse-up" event, don't show a "Back" button, and don't animate
the appearance of the color dialog at the bottom),
which will be used by a forthcoming feature that will offer
a keyboard shortcut to bring up this color selection option.
2022-01-26 00:20:14 -08:00
Bill Kendrick
e0d7e0728b Show "pipette"-shaped pointer when selecting colors 2022-01-25 23:57:31 -08:00
Bill Kendrick
6735340566 Stamp performance improvements
+ Stamps are scaled before they are colorized or tinted,
   to increase performance.
 + The current stamp (in its current form: size, orientation,
   and color) is cached, so it may be applied to the canvas
   many times without having to re-render.
   (No longer scaling and tinting every time you click.)

Closes https://sourceforge.net/p/tuxpaint/bugs/147/
(h/t Andre Anckaert)
2022-01-25 22:21:55 -08:00
Bill Kendrick
3518433808 Better onscreen keyboard button sizing
No longer restricted to "the same as other UI buttons"
(e.g., 48x48 default) or "1/4th that size" (e.g., 24x24).
Will scale, allowing for larger buttons when appropriate.
h/t Anat Caspi for pointing out the continuing issue.

Closes https://sourceforge.net/p/tuxpaint/feature-requests/212/
2022-01-25 00:52:14 -08:00
Bill Kendrick
be7d33fa23 Mend broken star shape fill
Was missing some array elements (but no warnings!?)
h/t Shin-ichi for catching it
2022-01-21 01:38:25 -08:00
Bill Kendrick
251259ab13 PO/POT update after adding shape + aspect ratio tip 2022-01-21 01:33:45 -08:00
Bill Kendrick
16e7cb1f59 Showing aspect ratio of shapes when stretching them
...in the Tux tips area
2022-01-21 01:33:23 -08:00
Bill Kendrick
9f5769855b PO/POT update after adding heptagon 2022-01-21 00:34:33 -08:00
Bill Kendrick
71c2404838 Added heptagon (7-sided) shape
Also, using floats more, allowing for proper heptagon support, as
well as a non-skewed starting angle for octagons (22.5 degrees).
2022-01-21 00:34:10 -08:00
Bill Kendrick
1050e74336 PO/POT refresh after adding hexagon shape tool 2022-01-21 00:02:44 -08:00
Bill Kendrick
e210f5592c Add "hexagon" to shapes tool
How'd we last so long without one!?
2022-01-21 00:01:50 -08:00
Mark Kim
c239e849cb Correct comment 2022-01-20 20:46:18 -05:00
Mark Kim
3b03467d62 On macOS use the CMD key wherever CTRL is used on other OS 2022-01-20 20:44:07 -05:00
Pere Pujal i Carabantes
e9ebd54db9 Merging brush spacing work into sdl2.0 2022-01-20 21:33:57 +01:00
Bill Kendrick
e8446d2902 Brush spacing controls work 2022-01-20 00:09:03 -08:00
Bill Kendrick
ccfe3bc074 FIXME about hand cursor over selector controls 2022-01-19 02:12:59 -08:00
Bill Kendrick
29eec0dcb7 Brush spacing ctrl proper position when no scrollbar
(e.g., when running in ~860px tall window with 32px buttonsize)
2022-01-19 02:04:47 -08:00
Bill Kendrick
145c35a95d Get brush selector down-scroll to grok brush spacing 2022-01-19 01:46:44 -08:00
Bill Kendrick
0b18aac985 Decided how brush spacing choice relates to spacing
Max option in the spacing widget will correspond to 2x the maximum
dimension of the brush.
2022-01-19 01:30:08 -08:00
Bill Kendrick
ce9e264713 Initial work to render brush spacing widget
Doesn't do anything yet, and click-detecting code is unaware of it
(so scrollbar click happens in the old location).  WIP! :-)
2022-01-19 00:38:03 -08:00
Bill Kendrick
176749ba9c Grok "[no]brushspacing" commandline/config option
For forthcoming feature
2022-01-19 00:29:05 -08:00
Bill Kendrick
774954f9fc Sync docs & update bash completion re: brushspacing 2022-01-19 00:00:57 -08:00
Bill Kendrick
e1a721fb9d Outline for circle-shaped erasers is now also circular
Closes https://sourceforge.net/p/tuxpaint/bugs/244/
2022-01-18 23:28:53 -08:00
Pere Pujal i Carabantes
88f689c744 Uppercase fix for Turkish. Make use of full allocated space of ustr. 2022-01-01 19:58:36 +01:00
dolphin6k
be5cbc22ba Fixed abnormal exit of threaded font scan which prevented enabling text/label tools on some environment such as Rocky Linux 8. 2022-01-01 19:51:31 +01:00
dolphin6k
c67dfbc562 Fixed abnormal exit of threaded font scan which prevented enabling text/label tools on some environment such as Rocky Linux 8. 2021-12-22 22:24:53 +09:00
Pere Pujal i Carabantes
35dd1fb4ce Correcting syntax. 2021-12-21 00:31:05 +01:00
Pere Pujal i Carabantes
7ea62cf0fe Better approach to mbstowcs and wcstombs by TOYAMA Shin-ichi. Makes --uppercase working too for accented letters, discarding mtw. 2021-12-16 20:29:10 +01:00
Pere Pujal i Carabantes
4749214383 Onscreen keyboard working on Windows, by TOYAMA Shin-ichi. 2021-12-15 20:35:43 +01:00
Pere Pujal i Carabantes
7bc0e2c157 Initializing layout of osk to avoid undefined behavior when changing keyboards. 2021-12-12 01:52:19 +01:00
Pere Pujal i Carabantes
7e9990a6d6 Merge branch 'master' into sdl2.0 2021-12-10 11:29:59 +01:00
Bill Kendrick
ac6aee7a43 Update src/po/check_translations.sh to work again
Docs shuffled around & gettext'ing a string in Tux Paint Config.
changed, which caused it to not find things.
2021-12-02 00:28:26 -08:00
Bill Kendrick
200df10456 Albanian translation update
h/t Besnik Bleta
2021-12-01 23:52:12 -08:00
Bill Kendrick
1c61f1b7f8 Doc'ing Slovak l10n update & adding contributor
Welcome Jozef!

(Also bump project-id-version in sk.po)
2021-12-01 22:28:35 -08:00
Jose Riha
de7f0cf857 Update Slovak translation. 2021-11-30 10:30:41 +01:00
Pere Pujal i Carabantes
fa071f85b8 Merge master 0.9.27 commit into sdl2.0 2021-11-25 20:03:30 +01:00
Bill Kendrick
2b9bb5e440 Bump CHNAGES date; rebuild all POT/PO 2021-11-25 01:12:48 -08:00
Pere Pujal i Carabantes
6007479b0e Merge 'Limit check to avoid crash in flood Fill' form 'master' into sdl2.0 2021-11-21 11:36:48 +01:00
Bill Kendrick
81fff34795 Limit check to avoid crash in flood Fill
Reported by Shin-ichi, repaired by Pere.  Thanks!
2021-11-20 20:57:55 -08:00
Pere Pujal i Carabantes
2609446af1 Merge branch 'master' into sdl2.0
More work on Filling by Bill.
2021-11-20 12:00:25 +01:00
Pere Pujal i Carabantes
705c557f51 Merge branch 'master' into sdl2.0
Work on Fill tool by Bill.
2021-11-20 11:45:07 +01:00
Bill Kendrick
e77c7766cd Fill queue is now actually a stack
Size of queue structure (which contains 3 ints, so is 12 bytes on
my Linux laptop) before & after, when filling a few sample images
when running in a 3000x2000 window:

 * a pattern i drew
   queue:   855,040
   stack:   287,744

 * mosaic
   queue:   908,288
   stack:   398,336

 * mosaic 4x via panel magic tool
   queue: 1,451,008
   stack:   734,208
2021-11-20 01:52:43 -08:00
Bill Kendrick
0431cce21f Fill debug updates
Show final queue structure size at the end.
Watching the fill blit happen is now a separate #define'd option.
2021-11-20 01:47:13 -08:00
Bill Kendrick
5cfc185d77 Globalized a ton of stuff, able to queue-ify flood fill
The queue grows ever large, and should shrink itself once
as the queue gets consumed.  In the meantime, it seems to help.

At 3000x2000, with starters/mosaic.svg cut into four via Panels
magic tool, I get a VERY complicated drawing, which no longer
causes a crash.

(It crashed for me, even after some other improvements -- globalizing
many of the unchanging args to the recursive function, calling the
progress bar animation and sound effects calls less frequently --
helped prevent crashing for me with that starter image as-is.)
2021-11-20 01:17:17 -08:00
Bill Kendrick
e06ead84c5 WIP More work on queue-based flood Fill 2021-11-20 00:14:18 -08:00
Bill Kendrick
8a9ab25151 Updated Icelandic translation
h/t Sveinn
2021-11-19 14:06:28 -08:00
Pere Pujal i Carabantes
ebb784199e Merge branch 'master' into sdl2.0 2021-11-19 22:24:12 +01:00
Bill Kendrick
07165fc3ae WIP More work towards span filling
Antialiased edge stuff will be hard to port over :(
2021-11-17 00:55:30 -08:00