Commit graph

968 commits

Author SHA1 Message Date
Bill Kendrick
8f9ea4cb69 Remove starter/color/etc. debug from New dialog
Some printf() debugging belonged inside an #ifdef DEBUG...
2019-09-14 10:55:54 -07:00
Bill Kendrick
4c3ad460ee "New" dialog: fix bad dir: Starter/Template thumbs
Made sure "New" dialog created correct thumbnail subdirectories
for personal Starters & Templates (e.g., ~/.tuxpaint/starters/thumbs/)
2019-09-14 10:52:59 -07:00
Bill Kendrick
2117db234e Generate & install starter thumbnails again
I cannot recall[*] why we disabled the steps to generate thumbnails of
starters (".thumbs/STARTERNAME-t.png") and install them in the system
directory (e.g., /usr/local/share/tuxpaint/starters/.thumbs/),
but every time one goes to create a new image ("New"), it took a very
long time to show.

[*] If anyone remembers ~a decade ago, and has a good reason, let me know!

Also, remove "Makefile" as a prerequisite for some targets; if anything
major changes in there, it's expected one will run "make clean" or
remove the binary/etc. target and rebuild.  (Rebuilding "tuxpaint.o"
every time I edited something unrelated in Makefile was really annoying :) )
2019-09-14 09:33:22 -07:00
Bill Kendrick
2911b35a50 Elevate "Fill" from Magic Tool to real Tool
Replace the somewhat-recently-added "nothing" item in the tool bar
with the "Fill" tool, which has been converted back from a Magic tool
to a regular tool.

Also, change bash "==" to sh "=" in "if [ ... ]" tests in Makefile.

Also, link to math library (via "-lm") to make sure "max()" is available to
magic tools.

Also, add missing mention of "--newcolorslast" and "--newcolorsfirst" to manpage.
2019-09-12 23:04:13 -07:00
begasus
e5c3cdfcf5 Haiku fixes 2019-09-06 13:45:56 +02:00
Bill Kendrick
7938480174 Clean up GCC warnings (2019-08-29 edition)
Updated most parts of the code that were throwing warnings in GCC.
2019-08-30 00:01:00 -07:00
Pere Pujal i Carabantes
1f2c6c3c4e Starter frame_heart.png was wrongly discarded as being the .png version of frame_hearts.svg. 2019-06-22 00:22:36 +02:00
Bill Kendrick
e996746351 Funky function call indent fix
A word-wrapped line of code using an array to access a
function was confusing `indent` (causing it to change back & forth
everytime `indent` was invoked!)

Cleaned it up and wrapped in /* *INDENT-OFF* */.../* *INDENT-ON* */
to prevent further confusion.
2019-04-13 12:08:04 -07:00
Bill Kendrick
dd82fa06e3 Mended tuxpaint.c indent
Some commentary lines kept increasing indent every time
`indent` was ran!?  Wrapped in /* *INDENT-OFF* */ ... /* *INDENT-ON* */
to prevent this, and mended them.
2019-04-13 12:05:56 -07:00
Bill Kendrick
4e3a9fbc8c Re-ran indent on .c files
Also, added a few places where indent is disabled
(via `/* *INDENT-OFF* */`).

See https://sourceforge.net/p/tuxpaint/mailman/message/36077409/
from Oct. 2017.
2019-04-13 12:00:44 -07:00
Bill Kendrick
99b566ae26 Support SIGUSR1/2 for immediate(ish) quit-and-save
Respond to a SIGUSR1 or SIGUSR2 signal by configuring itself
for autosave, saving a new file, or overwriting the current,
respectively, and sending itself a SIGTERM (which _generally_
causes Tux Paint to quit, depending on where you are in the UI).

Closes https://sourceforge.net/p/tuxpaint/feature-requests/188/
2019-04-03 22:49:04 -07:00
Bill Kendrick
d70c587077 Mend crash bug in new "--newcolorslast" feature
The "New" dialog's new "--newcolorslast" option was not complete,
and caused crashes. (Sorry! Mended!)

Closes https://sourceforge.net/p/tuxpaint/bugs/219/
2019-04-03 22:05:05 -07:00
Bill Kendrick
f3965941aa Mend alloc bug introduced testing 'New colors last'
Didn't mean to stop alloc'ing space for the colors!
2018-12-18 22:45:52 -08:00
Bill Kendrick
5d9ceca076 "New colors last"; place colors at end of New
New option to place color palette items at the end of the "New"
dialog, rather than at the beginning.  Useful for when users
would want to pick from a set of Starters and/or Templates,
e.g., in a school or museum environment.

Available via command-line option "--newcolorslast", and
config file setting "newcolorslast=yes".  (And anti-option to
override config file settings, "--newcolorsfirst" and "...=no",
which represents the original behavior, which continues to be
the default).

Suggested by Bernard Verhaeghe.
2018-12-18 22:37:03 -08:00
Bill Kendrick
268e213e6d Bump to 0.9.24; improve usage output
Bumping to 0.9.24; going to add a new feature momentarily.

Improved usage output (e.g., that of "tuxpaint --help"); broke
the options into groups that match the tabs in Tux Paint Config.,
added some missing options.
2018-12-18 21:56:05 -08:00
Mark Kim
be99eb3844 Re-add print dialog access to macOS.
Ability to bring up the print dialog from the macOS build was removed in
Tux Paint 0.9.23 to support the new build mechanism.  It has been re-added.
To access it, option-click the print icon, or configure Tux Paint to always
bring up the dialog upon print.
2018-09-28 23:24:56 -04:00
Mark Kim
8d9e187cc9 More debugging features, performance and macOS update.
Added function name to the output of verbose logging.  Verbose logging is
the feature introduced in the previous git commit where a call to printf()
automatically adds the source filename and line from where the printf() is
called, and the runtime timestamp at which the call was made.  Now this
feature adds the functio name from which the printf() is called.  This
feature is enabled if and only if both DEBUG and VERBOSE are defined in
debug.h and the source is compiled with GCC.

Added a new macro DEBUG_PRINTF() that expands to printf() if and only if
DEBUG is defined in debug.h.  This feature works with verbose logging if
VERBOSE is also defined and the source is compiled with GCC.

Reduced the launch time.  A user reported an issue with Tux Paint taking 7
minutes to launch; an investigation showed that launching Tux Paint with
all stamps and the screen width set wide (~1500 pixels) can cause the
slowdown during the progress bar drawing sequence because progress bar
takes a long time to draw on screens with a wide screen, and it is called
~10 thousand times during the stamp loading process.  The issue has been
addressed by calling the progress bar less frequently.

Updated the macOS build version and date, under which these features were
tested.
2018-09-24 23:00:04 -04:00
Bill Kendrick
8b84d51d00 Update & simplify credits
Update (c) date to 2018 on title screen.
Simplify and update (c) info in most documentation.
2018-08-28 09:36:38 -07:00
Mark K. Kim
1db3d431f5 Add debugging output for playing sounds. 2018-06-26 22:59:24 -04:00
Mark K. Kim
19ae36662b Add more debugging messages.
Also update macOS build date in the Info.plist file.
2018-06-26 02:13:41 -04:00
Bill Kendrick
e56067d202 Beginning to doc every func in tuxpaint.c
Beginning to document functions in src/tuxpaint.c, Docbook style
(description, @param's, @return).  Also removed a few dead bits
of code.

Eventually, hoping to break this beastly file into pieces.
(Maybe for Tux Paint 0.9.24?)
2018-05-14 23:56:44 -07:00
Mark K. Kim
912cd2e625 Fix text not displaying on systems without Fontconfig installed. 2017-12-20 23:19:19 -05:00
Mark K. Kim
558b74b7fc In the macOS build, load stamps from within the app path where the 2009.06.28
stamps collection installer installs the stamps.
2017-11-27 01:16:57 -05:00
Mark K. Kim
472bf79bb9 Trying again... 2017-11-27 01:02:41 -05:00
Bill Kendrick
1576935455 More compiler warnings
* Adding a missing local function definition.
 * Ensured a var only used during certain #ifdef was only declared under
   that situation.
2017-10-15 15:05:20 -07:00
Bill Kendrick
41e9fbd0c4 More compiler warning cleanup
Mostly removing some unused variables, but also "using" some
of the new temp vars (e.g., "tmp = fgets(...); (void)tmp;")
2017-10-15 15:00:48 -07:00
Bill Kendrick
5907713cdd Remove unused reset_brush_counter_and_frame()
reset_brush_counter() gets called, but reset_brush_counter_and_frame()
never does; removing it.
2017-10-15 14:45:22 -07:00
Bill Kendrick
b693003b14 Remove some unused funcs & declarations
Removing more unused functions, and moving a declaration in fonts.h
to fonts.c, since it's not used externally (reliable_read()).
2017-10-15 14:38:52 -07:00
Bill Kendrick
502edda2b1 Remove unused in_circle() func
in_circle() isn't used; in_circle_rad() is.
2017-10-15 14:33:11 -07:00
Bill Kendrick
dc167b4c52 Remove unused funcs remove_slash, replace_tilde
Remove unused funcs remove_slash() (an identical one exists
in win32_print.c) and replace_tilde().
2017-10-15 14:29:12 -07:00
Bill Kendrick
1ae588baf8 More compiler warning cleanup (WIP)
Picking at more compiler warnings.
2017-10-15 13:09:05 -07:00
Bill Kendrick
284a64a08f tuxpaint.c code & warning clean-up (WIP)
- Replace any C++ style comments (// ...) with C style (/* ... */).
 - Improve calls to fgets() to avoid "ignoring return value
   of ‘fscanf’, declared with attribute warn_unused_result
   [-Wunused-result]" errors (WIP).
 - Removed some unused, commented-out code.
2017-10-15 12:57:43 -07:00
Bill Kendrick
f03785e532 indent tuxpaint.c -- the whopper!
The big one we've all been waiting for -- ran indent on tuxpaint.c
(which itself is ~25K lines long, and really needs to be split up).

Hopefully the code will look less atrocious now :-)
2017-10-15 12:16:05 -07:00
Bill Kendrick
5e0d51c771 Sanitized some grid_dims assignments
A number of assignments of grid_dims structs were of the form of
(ignoring some carriage returns, which undoubtedly added to the
confusion):

  gd_controls = (grid_dims) { 3, 2 };

which confused `indent`, causing it to think certain if/else blocks
were being ended early.

Turning these into assignments, like so, to avoid this:

  gd_controls.rows = 3;
  gd_controls.cols = 2;
2017-10-15 12:06:27 -07:00
Bill Kendrick
3e96684bde Pointer assignment syntax tweak
Correcting for a warning given by indent:

  Warning:old style assignment ambiguity in "=*".  Assuming "= *"
2017-10-15 11:55:50 -07:00
Karl Ove Hufthammer
6698b5e844 Fixed spelling mistake. 2017-07-29 13:46:08 +00:00
Pere Pujal i Carabantes
54179955b6 Color selector to pick a color from the draw. 2016-06-14 22:18:01 +00:00
Pere Pujal i Carabantes
c692eca118 Recovering tilde expansion from config files. Thanks to Juha Erkkilä for reporting and investigating. wordexp() code copied and adapted from old Bill's code. 2015-09-13 23:42:40 +00:00
Pere Pujal i Carabantes
b0f9edcc8e Korean Hangul now seems to refresh right when deleting(Backspace) buffered chars. 2015-05-30 22:43:24 +00:00
Shin-ichi TOYAMA
c0038993ef Update surface for tool options' area after new' dialog invoked from Ctrl-N. 2015-05-05 01:54:22 +00:00
Pere Pujal i Carabantes
bc1fe2d6fe Adding Star definitions to shapes. 2014-10-19 23:33:51 +00:00
Thomas Klausner
783b0ef9ab Fix build on SunOS (fmemopen).
From Jonathan Perkin <jperkin@NetBSD.org>.
2014-09-24 22:01:28 +00:00
Shin-ichi TOYAMA
1d887762e4 Did not compile on envirnment without SVG support (such as Windows 9x) 2014-09-12 18:05:53 +00:00
Shin-ichi TOYAMA
8d1d780b73 Fixed crash bug when loading label including whitespace. 2014-08-22 14:43:08 +00:00
Thomas Klausner
b051ebf5df NetBSD needs fmemopen_alternative set too. 2014-08-17 09:49:53 +00:00
Shin-ichi TOYAMA
6401b3a456 Did not load system template images. 2014-08-17 03:30:37 +00:00
Pere Pujal i Carabantes
79e6da0fb6 Commenting out printf()s 2014-08-14 06:08:48 +00:00
Pere Pujal i Carabantes
b9a8a05618 More tweaking on stamps handling of fallback languages 2014-08-13 23:09:56 +00:00
Pere Pujal i Carabantes
85082b9092 LANGUAGE and env vars should work for stamps too, fallbacks should also work, also on Windows. 2014-08-04 00:02:54 +00:00
Pere Pujal i Carabantes
4313374ab0 Adding F5 as a key to emulate mouse clicks. Found a laptop that doen't has the [Insert] key. 2014-06-28 23:07:32 +00:00