diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt index ae527defb..3a71b9006 100644 --- a/docs/CHANGES.txt +++ b/docs/CHANGES.txt @@ -65,6 +65,11 @@ http://www.tuxpaint.org/ + Closes https://sourceforge.net/p/tuxpaint/feature-requests/212/ (h/t Anat Caspi) + * Improvements to Color Picking: + ------------------------------ + * Show a "pipette"-shaped mouse pointer when selecting a + color from the color palette, or the picture. + * Localization Updates: --------------------- * Albanian translation diff --git a/src/cursor.c b/src/cursor.c index bfe9cd54d..7653d7147 100644 --- a/src/cursor.c +++ b/src/cursor.c @@ -4,7 +4,7 @@ For Tux Paint Bitmapped mouse pointer (cursor) - Copyright (c) 2002-2007 by Bill Kendrick and others + Copyright (c) 2002-2022 by Bill Kendrick and others bill@newbreedsoftware.com http://www.tuxpaint.org/ @@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA (See COPYING.txt) - June 14, 2002 - May 15, 2007 + June 14, 2002 - January 25, 2022 $Id$ */ @@ -34,7 +34,8 @@ SDL_Cursor *cursor_hand, *cursor_arrow, *cursor_watch, *cursor_up, *cursor_down, *cursor_tiny, *cursor_crosshair, - *cursor_brush, *cursor_wand, *cursor_insertion, *cursor_rotate; + *cursor_brush, *cursor_wand, *cursor_insertion, *cursor_rotate, + *cursor_pipette; #ifdef NOKIA_770 int hide_cursor = 1; diff --git a/src/cursor.h b/src/cursor.h index f6ef1e836..5cf6c0ab1 100644 --- a/src/cursor.h +++ b/src/cursor.h @@ -4,7 +4,7 @@ For Tux Paint Bitmapped mouse pointer (cursor) - Copyright (c) 2002-2007 by Bill Kendrick and others + Copyright (c) 2002-2022 by Bill Kendrick and others bill@newbreedsoftware.com http://www.tuxpaint.org/ @@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA (See COPYING.txt) - June 14, 2002 - May 15, 2007 + June 14, 2002 - January 25, 2022 $Id$ */ @@ -65,9 +65,13 @@ #include "arrow.xbm" #include "arrow-mask.xbm" +#include "pipette.xbm" +#include "pipette-mask.xbm" + extern SDL_Cursor *cursor_hand, *cursor_arrow, *cursor_watch, *cursor_up, *cursor_down, *cursor_tiny, *cursor_crosshair, - *cursor_brush, *cursor_wand, *cursor_insertion, *cursor_rotate; + *cursor_brush, *cursor_wand, *cursor_insertion, *cursor_rotate, + *cursor_pipette; extern int no_fancy_cursors, hide_cursor; diff --git a/src/mouse/pipette-mask.xbm b/src/mouse/pipette-mask.xbm new file mode 100644 index 000000000..cff2dc8b8 --- /dev/null +++ b/src/mouse/pipette-mask.xbm @@ -0,0 +1,9 @@ +#define pipette_mask_width 23 +#define pipette_mask_height 23 +static unsigned char pipette_mask_bits[] = { + 0x00, 0x00, 0x0f, 0x00, 0x80, 0x1f, 0x00, 0xc0, 0x3f, 0x00, 0xec, 0x7f, + 0x00, 0xfe, 0x79, 0x00, 0xff, 0x78, 0x80, 0x7f, 0x7c, 0x80, 0x3f, 0x3e, + 0x00, 0x7f, 0x1f, 0x80, 0xff, 0x0f, 0xc0, 0xf7, 0x07, 0xe0, 0xe3, 0x0f, + 0xf0, 0xf1, 0x0f, 0xf8, 0xf8, 0x07, 0x7c, 0xfc, 0x03, 0x3e, 0xbe, 0x01, + 0x1f, 0x1f, 0x00, 0x8f, 0x0f, 0x00, 0xc7, 0x07, 0x00, 0xe7, 0x03, 0x00, + 0xf8, 0x01, 0x00, 0xf8, 0x00, 0x00, 0x78, 0x00, 0x00 }; diff --git a/src/mouse/pipette.xbm b/src/mouse/pipette.xbm new file mode 100644 index 000000000..1594ff1e6 --- /dev/null +++ b/src/mouse/pipette.xbm @@ -0,0 +1,9 @@ +#define pipette_width 23 +#define pipette_height 23 +static unsigned char pipette_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x80, 0x1f, + 0x00, 0xc0, 0x19, 0x00, 0xec, 0x18, 0x00, 0x7e, 0x1c, 0x00, 0x3e, 0x0e, + 0x00, 0x7c, 0x07, 0x00, 0xfe, 0x03, 0x00, 0xf7, 0x01, 0x80, 0xe3, 0x03, + 0xc0, 0xf1, 0x03, 0xe0, 0xb8, 0x01, 0x70, 0x1c, 0x00, 0x38, 0x0e, 0x00, + 0x1c, 0x07, 0x00, 0x8c, 0x03, 0x00, 0xc4, 0x01, 0x00, 0xe4, 0x00, 0x00, + 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/src/tuxpaint.c b/src/tuxpaint.c index 741dc107c..9aefa83b6 100644 --- a/src/tuxpaint.c +++ b/src/tuxpaint.c @@ -14228,6 +14228,7 @@ static void cleanup(void) free_cursor(&cursor_wand); free_cursor(&cursor_insertion); free_cursor(&cursor_rotate); + free_cursor(&cursor_pipette); for (i = 0; i < NUM_COLORS; i++) { @@ -22145,7 +22146,7 @@ static int do_color_sel(void) { /* Hovering over the colors! */ - do_setcursor(cursor_hand); + do_setcursor(cursor_pipette); /* Show a big solid example of the color: */ @@ -22583,7 +22584,7 @@ static int do_color_picker(void) { /* Hovering over the colors! */ - do_setcursor(cursor_hand); + do_setcursor(cursor_pipette); /* Show a big solid example of the color: */ @@ -26129,6 +26130,8 @@ static void setup(void) cursor_hand = get_cursor(hand_bits, hand_mask_bits, hand_width, hand_height, 12 / scale, 1 / scale); + cursor_pipette = get_cursor(pipette_bits, pipette_mask_bits, pipette_width, pipette_height, 2 / scale, 20 / scale); + cursor_wand = get_cursor(wand_bits, wand_mask_bits, wand_width, wand_height, 4 / scale, 4 / scale); cursor_insertion = get_cursor(insertion_bits, insertion_mask_bits,