Joystick button can be config'd to activate Fill tool
https://sourceforge.net/p/tuxpaint/feature-requests/199/
This commit is contained in:
parent
a4020ef8c5
commit
95cc093b80
5 changed files with 33 additions and 3 deletions
|
|
@ -7,7 +7,7 @@ Various contributors (see below, and AUTHORS.txt)
|
||||||
https://tuxpaint.org/
|
https://tuxpaint.org/
|
||||||
|
|
||||||
|
|
||||||
2023.February.16 (0.9.29)
|
2023.February.18 (0.9.29)
|
||||||
* Improvements to "Stamp" tool:
|
* Improvements to "Stamp" tool:
|
||||||
-----------------------------
|
-----------------------------
|
||||||
* Stamps may now be rotated.
|
* Stamps may now be rotated.
|
||||||
|
|
@ -122,6 +122,10 @@ https://tuxpaint.org/
|
||||||
Note: Bumps `TP_MAGIC_API_VERSION` to 0x00000007.
|
Note: Bumps `TP_MAGIC_API_VERSION` to 0x00000007.
|
||||||
Bill Kendrick <bill@newbreedsoftware.com>
|
Bill Kendrick <bill@newbreedsoftware.com>
|
||||||
|
|
||||||
|
* Joystick button to activate "Fill" tool added.
|
||||||
|
(Closes https://sourceforge.net/p/tuxpaint/feature-requests/199/)
|
||||||
|
Bill Kendrick <bill@newbreedsoftware.com>
|
||||||
|
|
||||||
* Bug Fixes:
|
* Bug Fixes:
|
||||||
----------
|
----------
|
||||||
* Always creating 24-bit canvases, in an attempt to avoid blending
|
* Always creating 24-bit canvases, in an attempt to avoid blending
|
||||||
|
|
|
||||||
|
|
@ -185,6 +185,7 @@ joystick-btn-lines, MULTI(joystick_button_selectlinestool)
|
||||||
joystick-btn-shapes, MULTI(joystick_button_selectshapestool)
|
joystick-btn-shapes, MULTI(joystick_button_selectshapestool)
|
||||||
joystick-btn-text, MULTI(joystick_button_selecttexttool)
|
joystick-btn-text, MULTI(joystick_button_selecttexttool)
|
||||||
joystick-btn-label, MULTI(joystick_button_selectlabeltool)
|
joystick-btn-label, MULTI(joystick_button_selectlabeltool)
|
||||||
|
joystick-btn-fill, MULTI(joystick_button_selectfilltool)
|
||||||
joystick-btn-magic, MULTI(joystick_button_selectmagictool)
|
joystick-btn-magic, MULTI(joystick_button_selectmagictool)
|
||||||
joystick-btn-undo, MULTI(joystick_button_undo)
|
joystick-btn-undo, MULTI(joystick_button_undo)
|
||||||
joystick-btn-redo, MULTI(joystick_button_redo)
|
joystick-btn-redo, MULTI(joystick_button_redo)
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,7 @@ struct cfginfo
|
||||||
const char *joystick_button_selectshapestool;
|
const char *joystick_button_selectshapestool;
|
||||||
const char *joystick_button_selecttexttool;
|
const char *joystick_button_selecttexttool;
|
||||||
const char *joystick_button_selectlabeltool;
|
const char *joystick_button_selectlabeltool;
|
||||||
|
const char *joystick_button_selectfilltool;
|
||||||
const char *joystick_button_selectmagictool;
|
const char *joystick_button_selectmagictool;
|
||||||
const char *joystick_button_undo;
|
const char *joystick_button_undo;
|
||||||
const char *joystick_button_redo;
|
const char *joystick_button_redo;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
# Bill Kendrick <bill@newbreedsoftware.com>; https://tuxpaint.org/
|
# Bill Kendrick <bill@newbreedsoftware.com>; https://tuxpaint.org/
|
||||||
# Based on inkscape's completion file, by allali@univ-mlv.fr
|
# Based on inkscape's completion file, by allali@univ-mlv.fr
|
||||||
#
|
#
|
||||||
# Last modified 2022-12-11
|
# Last modified 2023-02-18
|
||||||
#
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
|
|
@ -94,6 +94,7 @@ _tuxpaint()
|
||||||
--joystick-btn-shapes\
|
--joystick-btn-shapes\
|
||||||
--joystick-btn-text \
|
--joystick-btn-text \
|
||||||
--joystick-btn-label \
|
--joystick-btn-label \
|
||||||
|
--joystick-btn-fill \
|
||||||
--joystick-btn-magic \
|
--joystick-btn-magic \
|
||||||
--joystick-btn-undo \
|
--joystick-btn-undo \
|
||||||
--joystick-btn-redo \
|
--joystick-btn-redo \
|
||||||
|
|
|
||||||
|
|
@ -1360,6 +1360,7 @@ static int joystick_button_selectlinestool = 255;
|
||||||
static int joystick_button_selectshapestool = 255;
|
static int joystick_button_selectshapestool = 255;
|
||||||
static int joystick_button_selecttexttool = 255;
|
static int joystick_button_selecttexttool = 255;
|
||||||
static int joystick_button_selectlabeltool = 255;
|
static int joystick_button_selectlabeltool = 255;
|
||||||
|
static int joystick_button_selectfilltool = 255;
|
||||||
static int joystick_button_selectmagictool = 255;
|
static int joystick_button_selectmagictool = 255;
|
||||||
static int joystick_button_undo = 255;
|
static int joystick_button_undo = 255;
|
||||||
static int joystick_button_redo = 255;
|
static int joystick_button_redo = 255;
|
||||||
|
|
@ -8410,7 +8411,7 @@ void show_usage(int exitcode)
|
||||||
" [--joystick-buttons-ignore=BUTTON1,BUTTON2,...]\n"
|
" [--joystick-buttons-ignore=BUTTON1,BUTTON2,...]\n"
|
||||||
" [--joystick-btn-COMMAND=BUTTON]\n"
|
" [--joystick-btn-COMMAND=BUTTON]\n"
|
||||||
/* Find these in "src/parse.gperf" & "src/tuxpaint-completion.bash" */
|
/* Find these in "src/parse.gperf" & "src/tuxpaint-completion.bash" */
|
||||||
" (commands: escape, brush, stamp, lines, shapes, text, label, magic,\n"
|
" (commands: escape, brush, stamp, lines, shapes, text, label, fill, magic,\n"
|
||||||
" undo, redo, eraser, new, open, save, pgsetup, print)\n"
|
" undo, redo, eraser, new, open, save, pgsetup, print)\n"
|
||||||
"\n",
|
"\n",
|
||||||
progname);
|
progname);
|
||||||
|
|
@ -29241,6 +29242,20 @@ static void setup_config(char *argv[])
|
||||||
joystick_button_selectlabeltool =
|
joystick_button_selectlabeltool =
|
||||||
strtof(tmpcfg.joystick_button_selectlabeltool, NULL);
|
strtof(tmpcfg.joystick_button_selectlabeltool, NULL);
|
||||||
}
|
}
|
||||||
|
if (tmpcfg.joystick_button_selectfilltool)
|
||||||
|
{
|
||||||
|
if (strtof(tmpcfg.joystick_button_selectfilltool, NULL) < 0
|
||||||
|
|| strtof(tmpcfg.joystick_button_selectfilltool, NULL) > 254)
|
||||||
|
{
|
||||||
|
/* FIXME: Find better exit code */
|
||||||
|
fprintf(stderr,
|
||||||
|
"Joystick button fill tool shortcurt (now %s) must be between 0 and 254",
|
||||||
|
tmpcfg.joystick_button_selectfilltool);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
joystick_button_selectfilltool =
|
||||||
|
strtof(tmpcfg.joystick_button_selectfilltool, NULL);
|
||||||
|
}
|
||||||
if (tmpcfg.joystick_button_selectmagictool)
|
if (tmpcfg.joystick_button_selectmagictool)
|
||||||
{
|
{
|
||||||
if (strtof(tmpcfg.joystick_button_selectmagictool, NULL) < 0
|
if (strtof(tmpcfg.joystick_button_selectmagictool, NULL) < 0
|
||||||
|
|
@ -31819,6 +31834,7 @@ static void handle_joybuttonupdownscl(SDL_Event event, int oldpos_x,
|
||||||
event.button.button == joystick_button_selectshapestool ||
|
event.button.button == joystick_button_selectshapestool ||
|
||||||
event.button.button == joystick_button_selecttexttool ||
|
event.button.button == joystick_button_selecttexttool ||
|
||||||
event.button.button == joystick_button_selectlabeltool ||
|
event.button.button == joystick_button_selectlabeltool ||
|
||||||
|
event.button.button == joystick_button_selectfilltool ||
|
||||||
event.button.button == joystick_button_selectmagictool ||
|
event.button.button == joystick_button_selectmagictool ||
|
||||||
event.button.button == joystick_button_selecterasertool)
|
event.button.button == joystick_button_selecterasertool)
|
||||||
|
|
||||||
|
|
@ -31865,6 +31881,13 @@ static void handle_joybuttonupdownscl(SDL_Event event, int oldpos_x,
|
||||||
real_r_tools.y + TOOL_LABEL / 2 * button_h + button_h / 2;
|
real_r_tools.y + TOOL_LABEL / 2 * button_h + button_h / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (event.button.button == joystick_button_selectfilltool)
|
||||||
|
{
|
||||||
|
ev.button.x = (TOOL_FILL % 2) * button_w + button_w / 2;
|
||||||
|
ev.button.y =
|
||||||
|
real_r_tools.y + TOOL_FILL / 2 * button_h + button_h / 2;
|
||||||
|
}
|
||||||
|
|
||||||
else if (event.button.button == joystick_button_selectmagictool)
|
else if (event.button.button == joystick_button_selectmagictool)
|
||||||
{
|
{
|
||||||
ev.button.x = (TOOL_MAGIC % 2) * button_w + button_w / 2;
|
ev.button.x = (TOOL_MAGIC % 2) * button_w + button_w / 2;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue