diff --git a/data/images/title.png b/data/images/title.png index 5cea0b257..8ec3745ac 100644 Binary files a/data/images/title.png and b/data/images/title.png differ diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt index c57daa067..a6a58b0f7 100644 --- a/docs/CHANGES.txt +++ b/docs/CHANGES.txt @@ -7,7 +7,7 @@ bill@newbreedsoftware.com http://www.newbreedsoftware.com/tuxpaint/ -2003.Sep.05 (0.9.13) [cvs] +2003.Sep.11 (0.9.13) [cvs] * Fixed incorrect tag in HTML documentation. (Bad results in IE) * Fixed typo regarding "savedir" in README. @@ -25,6 +25,19 @@ http://www.newbreedsoftware.com/tuxpaint/ scrolls up one line (so that the cursor isn't off the top of the screen!) + * Cleaned up font aliasing blurriness and JPEG noise in title image. + + * Updated copyright date in title image. + + * Cursor doesn't change to 'hand' shape over color buttons when colors + aren't available (e.g., Magic tool, most Stamps, etc.) + + * Cursor doesn't change to 'hand' shape over selector buttons when + they aren't available. + + * Added "--noshortcuts" option, to disable keyboard shortcuts + (e.g., [Ctrl]+[S] for Save, etc.) + 2003.Aug.18 (0.9.12) * Replaced "efont-serif" fonts with those from the 'ttf-freefont' package, diff --git a/docs/README.txt b/docs/README.txt index 43096e15c..f8d589d4a 100644 --- a/docs/README.txt +++ b/docs/README.txt @@ -9,7 +9,7 @@ bill@newbreedsoftware.com http://www.newbreedsoftware.com/tuxpaint/ - June 14, 2002 - September 3, 2003 + June 14, 2002 - September 11, 2003 ---------------------------------------------------------------------- @@ -252,6 +252,15 @@ Options cycling, [Ctrl]-[Escape], etc. This is especially useful in fullscreen mode. + noshortcuts=yes + + This disable keyboard shortcuts (e.g., [Ctrl]-[S] for + save, [Ctrl]-[N] for a new image, etc.) + + This is useful to prevent unwanted commands from being + activated by children who aren't experienced with + keyboards. + nowheelmouse=yes This disables support for the wheel on mice that have it. (Normally, the wheel will scroll the selector menu on the @@ -423,6 +432,7 @@ Options --printcfg --simpleshapes --uppercase + --noshortcuts --grab --keyboard --nooutlines @@ -443,6 +453,7 @@ Options --noprintcfg --complexshapes --mixedcase + --shortcuts --dontgrab --mouse --outlines diff --git a/docs/TODO.txt b/docs/TODO.txt index 35599a56b..977d076a3 100644 --- a/docs/TODO.txt +++ b/docs/TODO.txt @@ -6,7 +6,7 @@ Copyright (c) 2003 by Bill Kendrick bill@newbreedsoftware.com http://www.newbreedsoftware.com/tuxpaint/ -July 19, 2003 +September 11, 2003 LOW-PRIORITY DOCUMENTATION CHANGES: @@ -31,9 +31,6 @@ LOW-PRIORITY IMPLEMENTATION CHANGES: * Clean up 800x600 support code - * Make mouse pointer change from hand to arrow when over unselectable - Selector or Color. - * Allow locale font files to be specified in conf file (so instead of using /usr/local/share/tuxpaint/fonts/locale/ja.ttf, it can use /usr/local/share/ttf/kochi-mincho.ttf). @@ -43,9 +40,6 @@ LOW-PRIORITY IMPLEMENTATION CHANGES: HIGH-PRIORITY BUGS: ------------------- - * Figure out why Tux Paint crashes when displaying Euro symbol (under Linux) - 2003.02.22 - * Figure out why fonts don't appear on PPC. (Thomas Klausner reported: 2002.09.30) @@ -62,14 +56,15 @@ LOW-PRIORITY BUGS: PLATFORM-SPECIFIC BUGS: ----------------------- - * Create a 'tuxpaint-import' type program for Windows. + * Support Apple-key buttons ([H]ide, [?]help, [M]inimize, [Q]uit) + (Is this "META" modifier in SDL_keysyms.h???) + + * Create a 'tuxpaint-import' type program for Windows, Mac OS X and BeOS. * Translated sound effects not working under XP for some reason. (Works okay under Win98 and Win2K. - Gabriel G., 2002.09.13; still a problem as of 0.9.7, 2003.01.27) - * Crashing when printing on OS X? (Reported in v.0.9.2 for OS X) - HIGH-PRIORITY TRANSLATION STUFF: -------------------------------- @@ -78,10 +73,6 @@ HIGH-PRIORITY TRANSLATION STUFF: * Finish current translations. - * Fix Romanian! - - * Tip text (except stamps) aren't translated in --uppercase mode. - LOW-PRIORITY TRANSLATION STUFF: ------------------------------- diff --git a/docs/html/README.html b/docs/html/README.html index b2f971e99..c292516a4 100644 --- a/docs/html/README.html +++ b/docs/html/README.html @@ -23,7 +23,7 @@ New Breed Software

bill@newbreedsoftware.com
http://www.newbreedsoftware.com/tuxpaint/

-

June 14, 2002 - September 3, 2003

+

June 14, 2002 - September 11, 2003


@@ -344,6 +344,15 @@ New Breed Software

[Ctrl]-[Escape], etc. This is especially useful in fullscreen mode.

+ +
noshortcuts=yes
+
+

This disable keyboard shortcuts (e.g., [Ctrl]-[S] for save, + [Ctrl]-[N] for a new image, etc.)

+ +

This is useful to prevent unwanted commands from being activated + by children who aren't experienced with keyboards.

+
nowheelmouse=yes
@@ -635,6 +644,7 @@ New Breed Software

--printcfg
--simpleshapes
--uppercase
+ --noshortcuts
--grab
--keyboard
--nooutlines
@@ -659,6 +669,7 @@ New Breed Software

--noprintcfg
--complexshapes
--mixedcase
+ --shortcuts
--dontgrab
--mouse
--outlines
diff --git a/src/manpage/tuxpaint.1 b/src/manpage/tuxpaint.1 index 5d5bd1aba..f78ca0d09 100644 --- a/src/manpage/tuxpaint.1 +++ b/src/manpage/tuxpaint.1 @@ -1,5 +1,5 @@ -.\" tuxpaint.1 - 2003.08.18 -.TH TUXPAINT 1 "18 Aug 2003" "0.9.12" "Tux Paint" +.\" tuxpaint.1 - 2003.09.11 +.TH TUXPAINT 1 "11 Sep 2003" "0.9.13" "Tux Paint" .SH NAME tuxpaint -- A drawing program for young children. @@ -19,6 +19,7 @@ tuxpaint -- A drawing program for young children. [\-\-simpleshapes] [\-\-uppercase] [\-\-grab] +[\-\-noshortcuts] [\-\-nowheelmouse] [\-\-nofancycursors] [\-\-nooutlines] @@ -40,6 +41,7 @@ tuxpaint -- A drawing program for young children. [\-\-complexshapes] [\-\-mixedcase] [\-\-dontgrab] +[\-\-shortcuts] [\-\-wheelmouse] [\-\-mouse] [\-\-outlines] @@ -144,6 +146,11 @@ yet comfortable with the lowercase characterset. Default mode is Grab the mouse and keyboard input (if possible), so that the mouse is confined to the \fITux Paint\fP window. Default is to not grab. +.TP 8 +.B \-\-noshortcuts \-\-shortcuts +If \fInoshortcuts\fP mode, keyboard shortcuts (e.g., Ctrl+S for Save) +will be disabled. Default mode is \fIshortcuts enabled\fP. + .TP 8 .B \-\-nowheelmouse \-\-wheelmouse By default, the wheel (jog dial) on a mouse will be used to scroll the diff --git a/src/tuxpaint.c b/src/tuxpaint.c index 8ce906eeb..932b5834b 100644 --- a/src/tuxpaint.c +++ b/src/tuxpaint.c @@ -7,12 +7,12 @@ bill@newbreedsoftware.com http://www.newbreedsoftware.com/tuxpaint/ - June 14, 2002 - September 5, 2003 + June 14, 2002 - September 11, 2003 */ #define VER_VERSION "0.9.13" -#define VER_DATE "2003.09.05" +#define VER_DATE "2003.09.11" /* #define DEBUG */ @@ -373,7 +373,7 @@ int use_sound, fullscreen, disable_quit, simple_shapes, language, disable_print, print_delay, only_uppercase, promptless_save, grab_input, wheely, no_fancy_cursors, keymouse, mouse_x, mouse_y, mousekey_up, mousekey_down, mousekey_left, mousekey_right, - dont_do_xor, use_print_config, dont_load_stamps; + dont_do_xor, use_print_config, dont_load_stamps, noshortcuts; int recording, playing; char * playfile; FILE * demofi; @@ -447,6 +447,7 @@ SDL_Cursor * cursor_hand, * cursor_arrow, * cursor_watch, int cur_tool, cur_color, cur_brush, cur_stamp, cur_shape, cur_magic; int cur_font, cursor_left, cursor_x, cursor_y, cursor_textwidth; +int colors_are_selectable; int been_saved; char file_id[32]; int brush_scroll, stamp_scroll, font_scroll; @@ -669,6 +670,7 @@ int main(int argc, char * argv[]) cur_tool = TOOL_BRUSH; cur_color = COLOR_BLACK; + colors_are_selectable = 1; cur_brush = 0; cur_stamp = 0; cur_shape = SHAPE_SQUARE; @@ -876,7 +878,8 @@ void mainloop(void) else if (key == SDLK_z && (mod & KMOD_CTRL || mod & KMOD_LCTRL || - mod & KMOD_RCTRL)) + mod & KMOD_RCTRL) && + !noshortcuts) { /* Ctrl-Z - Undo */ @@ -897,7 +900,8 @@ void mainloop(void) else if (key == SDLK_r && (mod & KMOD_CTRL || mod & KMOD_LCTRL || - mod & KMOD_RCTRL)) + mod & KMOD_RCTRL) && + !noshortcuts) { /* Ctrl-R - Redo */ @@ -913,7 +917,8 @@ void mainloop(void) else if (key == SDLK_o && (mod & KMOD_CTRL || mod & KMOD_LCTRL || - mod & KMOD_RCTRL)) + mod & KMOD_RCTRL) && + !noshortcuts) { /* Ctrl-O - Open */ @@ -972,7 +977,8 @@ void mainloop(void) else if ((key == SDLK_n && ((mod & KMOD_CTRL || mod & KMOD_LCTRL || - mod & KMOD_RCTRL))) && tool_avail[TOOL_NEW]) + mod & KMOD_RCTRL))) && tool_avail[TOOL_NEW] && + !noshortcuts) { /* Ctrl-N - New */ @@ -1011,7 +1017,8 @@ void mainloop(void) else if (key == SDLK_s && (mod & KMOD_CTRL || mod & KMOD_LCTRL || - mod & KMOD_RCTRL)) + mod & KMOD_RCTRL) && + !noshortcuts) { /* Ctrl-S - Save */ @@ -2238,8 +2245,11 @@ void mainloop(void) event.button.y <= (48 * 7) + 40 + 48 + HEIGHTOFFSET) { /* Color picker: */ - - do_setcursor(cursor_hand); + + if (colors_are_selectable) + do_setcursor(cursor_hand); + else + do_setcursor(cursor_arrow); } else if (event.button.x >= WINDOW_WIDTH - 96 && event.button.y > 40 && @@ -2302,15 +2312,27 @@ void mainloop(void) else { /* One of the selectors: */ - - do_setcursor(cursor_hand); + + which = ((event.button.y - 40 - 24) / 48) * 2 + + (event.button.x - (WINDOW_WIDTH - 96)) / 48; + + if (which < num_things) + do_setcursor(cursor_hand); + else + do_setcursor(cursor_arrow); } } else { /* No scroll buttons - must be a selector: */ - do_setcursor(cursor_hand); + which = ((event.button.y - 40) / 48) * 2 + + (event.button.x - (WINDOW_WIDTH - 96)) / 48; + + if (which < num_things) + do_setcursor(cursor_hand); + else + do_setcursor(cursor_arrow); } } else if (event.button.x > 96 && @@ -3374,6 +3396,7 @@ void show_usage(FILE * f, char * prg) " %s [--print | --noprint] [--complexshapes | --simpleshapes]\n" " %s [--mixedcase | --uppercase] [--fancycursors | --nofancycursors]\n" " %s [--mouse | --keyboard] [--dontgrab | --grab]\n" + " %s [--noshortcuts | --shortcuts] [--wheelmouse | --nowheelmouse]\n" " %s [--outlines | --nooutlines] [--stamps | --nostamps]\n" " %s [--wheelmouse | --nowheelmouse]\n" " %s [--saveoverask | --saveover | --saveovernew]\n" @@ -3390,7 +3413,7 @@ void show_usage(FILE * f, char * prg) blank, blank, blank, blank, blank, blank, blank, blank, blank, - blank, blank); + blank, blank, blank); free(blank); } @@ -3540,6 +3563,7 @@ void setup(int argc, char * argv[]) use_sound = 1; fullscreen = 0; + noshortcuts = 0; dont_do_xor = 0; keymouse = 0; wheely = 1; @@ -3654,6 +3678,14 @@ void setup(int argc, char * argv[]) { fullscreen = 0; } + else if (strcmp(argv[i], "--noshortcuts") == 0) + { + noshortcuts = 1; + } + else if (strcmp(argv[i], "--shortcuts") == 0) + { + noshortcuts = 0; + } else if (strcmp(argv[i], "--800x600") == 0) { WINDOW_WIDTH = 800; @@ -5247,6 +5279,11 @@ void draw_colors(int enabled) SDL_BlitSurface(img_paintcan, NULL, screen, &dest); } } + + + /* Keep track of this globally, so the cursor shape will act right */ + + colors_are_selectable = enabled; } @@ -9282,7 +9319,8 @@ int do_open(int want_new_tool) else if (key == SDLK_d && (event.key.keysym.mod & KMOD_CTRL || event.key.keysym.mod & KMOD_LCTRL || - event.key.keysym.mod & KMOD_RCTRL)) + event.key.keysym.mod & KMOD_RCTRL) && + !noshortcuts) { /* Delete! */ @@ -10941,6 +10979,15 @@ void parse_options(FILE * fi) { fullscreen = 0; } + else if (strcmp(str, "noshortcuts=yes") == 0) + { + noshortcuts = 1; + } + else if (strcmp(str, "noshortcuts=no") == 0 || + strcmp(str, "shortcuts=yes") == 0) + { + noshortcuts = 0; + } else if (strcmp(str, "800x600=yes") == 0) { WINDOW_WIDTH = 800;