From eda0a646be47d6e8cb7ad06fdfee04c362f232e6 Mon Sep 17 00:00:00 2001 From: Bill Kendrick Date: Wed, 12 Apr 2023 00:11:11 -0700 Subject: [PATCH] Parse support for [no]magicsizes; new MAGIC_FEATURE_CONTROL bitmask --- docs/en/MAGIC-API.txt | 2 ++ docs/en/html/MAGIC-API.html | 2 ++ docs/es_ES.UTF-8/MAGIC-API.txt | 2 ++ docs/es_ES.UTF-8/html/MAGIC-API.html | 2 ++ docs/fr_FR.UTF-8/MAGIC-API.txt | 2 ++ docs/fr_FR.UTF-8/html/MAGIC-API.html | 2 ++ docs/gl_ES.UTF-8/MAGIC-API.txt | 2 ++ docs/gl_ES.UTF-8/html/MAGIC-API.html | 2 ++ docs/ja_JP.UTF-8/MAGIC-API.txt | 2 ++ docs/ja_JP.UTF-8/html/MAGIC-API.html | 2 ++ src/parse.gperf | 1 + src/parse.h | 1 + src/tuxpaint.c | 7 ++++++- src/tuxpaint.conf | 3 ++- 14 files changed, 30 insertions(+), 2 deletions(-) diff --git a/docs/en/MAGIC-API.txt b/docs/en/MAGIC-API.txt index ea16632f5..193aaa467 100644 --- a/docs/en/MAGIC-API.txt +++ b/docs/en/MAGIC-API.txt @@ -191,6 +191,8 @@ Magic Tool Plugin API Documentation features relevant to Magic tools which have been disabled in this session. Test using the C bitwise 'and' operator, '&'. The features are defined in tp_magic_api.h: + * MAGIC_FEATURE_CONTROL: Magic tool controls (paint vs + fullscreen) (--nomagiccontrols) * MAGIC_FEATURE_SIZE: Magic tool size (--nomagicsizes) Your Magic tool(s) may wish to react differently depending on whether one or more features have been disabled. (For example, the diff --git a/docs/en/html/MAGIC-API.html b/docs/en/html/MAGIC-API.html index 4f51c6f18..d4b3ec8dd 100644 --- a/docs/en/html/MAGIC-API.html +++ b/docs/en/html/MAGIC-API.html @@ -289,6 +289,8 @@ Note: Called once by Tux Paint, at startup. It is called after "api_version()", if Tux Paint believes your plugin to be compatible.

The disabled_features value contains bits set for any Tux Paint features relevant to Magic tools which have been disabled in this session. Test using the C bitwise 'and' operator, '&'. The features are defined in tp_magic_api.h:

diff --git a/docs/es_ES.UTF-8/MAGIC-API.txt b/docs/es_ES.UTF-8/MAGIC-API.txt index c48d82995..1059a085b 100644 --- a/docs/es_ES.UTF-8/MAGIC-API.txt +++ b/docs/es_ES.UTF-8/MAGIC-API.txt @@ -191,6 +191,8 @@ Magic Tool Plugin API Documentation features relevant to Magic tools which have been disabled in this session. Test using the C bitwise 'and' operator, '&'. The features are defined in tp_magic_api.h: + * MAGIC_FEATURE_CONTROL: Magic tool controls (paint vs + fullscreen) (--nomagiccontrols) * MAGIC_FEATURE_SIZE: Magic tool size (--nomagicsizes) Your Magic tool(s) may wish to react differently depending on whether one or more features have been disabled. (For example, the diff --git a/docs/es_ES.UTF-8/html/MAGIC-API.html b/docs/es_ES.UTF-8/html/MAGIC-API.html index 300f4876b..e3b308b1b 100644 --- a/docs/es_ES.UTF-8/html/MAGIC-API.html +++ b/docs/es_ES.UTF-8/html/MAGIC-API.html @@ -289,6 +289,8 @@ Note: Called once by Tux Paint, at startup. It is called after "api_version()", if Tux Paint believes your plugin to be compatible.

The disabled_features value contains bits set for any Tux Paint features relevant to Magic tools which have been disabled in this session. Test using the C bitwise 'and' operator, '&'. The features are defined in tp_magic_api.h:

diff --git a/docs/fr_FR.UTF-8/MAGIC-API.txt b/docs/fr_FR.UTF-8/MAGIC-API.txt index 5ebbb160f..607ff530a 100644 --- a/docs/fr_FR.UTF-8/MAGIC-API.txt +++ b/docs/fr_FR.UTF-8/MAGIC-API.txt @@ -191,6 +191,8 @@ Magic Tool Plugin API Documentation features relevant to Magic tools which have been disabled in this session. Test using the C bitwise 'and' operator, '&'. The features are defined in tp_magic_api.h: + * MAGIC_FEATURE_CONTROL: Magic tool controls (paint vs + fullscreen) (--nomagiccontrols) * MAGIC_FEATURE_SIZE: Magic tool size (--nomagicsizes) Your Magic tool(s) may wish to react differently depending on whether one or more features have been disabled. (For example, the diff --git a/docs/fr_FR.UTF-8/html/MAGIC-API.html b/docs/fr_FR.UTF-8/html/MAGIC-API.html index b17eaf89f..2a8a48245 100644 --- a/docs/fr_FR.UTF-8/html/MAGIC-API.html +++ b/docs/fr_FR.UTF-8/html/MAGIC-API.html @@ -289,6 +289,8 @@ Note: Called once by Tux Paint, at startup. It is called after "api_version()", if Tux Paint believes your plugin to be compatible.

The disabled_features value contains bits set for any Tux Paint features relevant to Magic tools which have been disabled in this session. Test using the C bitwise 'and' operator, '&'. The features are defined in tp_magic_api.h:

diff --git a/docs/gl_ES.UTF-8/MAGIC-API.txt b/docs/gl_ES.UTF-8/MAGIC-API.txt index 98e70d68a..7ead11323 100644 --- a/docs/gl_ES.UTF-8/MAGIC-API.txt +++ b/docs/gl_ES.UTF-8/MAGIC-API.txt @@ -191,6 +191,8 @@ Magic Tool Plugin API Documentation features relevant to Magic tools which have been disabled in this session. Test using the C bitwise 'and' operator, '&'. The features are defined in tp_magic_api.h: + * MAGIC_FEATURE_CONTROL: Magic tool controls (paint vs + fullscreen) (--nomagiccontrols) * MAGIC_FEATURE_SIZE: Magic tool size (--nomagicsizes) Your Magic tool(s) may wish to react differently depending on whether one or more features have been disabled. (For example, the diff --git a/docs/gl_ES.UTF-8/html/MAGIC-API.html b/docs/gl_ES.UTF-8/html/MAGIC-API.html index 1d3844c4b..9306b01ad 100644 --- a/docs/gl_ES.UTF-8/html/MAGIC-API.html +++ b/docs/gl_ES.UTF-8/html/MAGIC-API.html @@ -289,6 +289,8 @@ Note: Called once by Tux Paint, at startup. It is called after "api_version()", if Tux Paint believes your plugin to be compatible.

The disabled_features value contains bits set for any Tux Paint features relevant to Magic tools which have been disabled in this session. Test using the C bitwise 'and' operator, '&'. The features are defined in tp_magic_api.h:

diff --git a/docs/ja_JP.UTF-8/MAGIC-API.txt b/docs/ja_JP.UTF-8/MAGIC-API.txt index 59260e006..85aa08116 100644 --- a/docs/ja_JP.UTF-8/MAGIC-API.txt +++ b/docs/ja_JP.UTF-8/MAGIC-API.txt @@ -191,6 +191,8 @@ Magic Tool Plugin API Documentation features relevant to Magic tools which have been disabled in this session. Test using the C bitwise 'and' operator, '&'. The features are defined in tp_magic_api.h: + * MAGIC_FEATURE_CONTROL: Magic tool controls (paint vs + fullscreen) (--nomagiccontrols) * MAGIC_FEATURE_SIZE: Magic tool size (--nomagicsizes) Your Magic tool(s) may wish to react differently depending on whether one or more features have been disabled. (For example, the diff --git a/docs/ja_JP.UTF-8/html/MAGIC-API.html b/docs/ja_JP.UTF-8/html/MAGIC-API.html index aa35c574e..7a260300e 100644 --- a/docs/ja_JP.UTF-8/html/MAGIC-API.html +++ b/docs/ja_JP.UTF-8/html/MAGIC-API.html @@ -289,6 +289,8 @@ Note: Called once by Tux Paint, at startup. It is called after "api_version()", if Tux Paint believes your plugin to be compatible.

The disabled_features value contains bits set for any Tux Paint features relevant to Magic tools which have been disabled in this session. Test using the C bitwise 'and' operator, '&'. The features are defined in tp_magic_api.h:

diff --git a/src/parse.gperf b/src/parse.gperf index 23819a202..84043a55e 100644 --- a/src/parse.gperf +++ b/src/parse.gperf @@ -125,6 +125,7 @@ lang, MULTI(parsertmp_lang) locale, MULTI(parsertmp_locale) lockfile, POSBOOL(ok_to_use_lockfile) magiccontrols, NEGBOOL(disable_magic_controls) +magicsizes, NEGBOOL(disable_magic_sizes) shapecontrols, NEGBOOL(disable_shape_controls) mirrorstamps, POSBOOL(mirrorstamps) mixedcase, NEGBOOL(only_uppercase) diff --git a/src/parse.h b/src/parse.h index f2a7fd507..19486e9db 100644 --- a/src/parse.h +++ b/src/parse.h @@ -16,6 +16,7 @@ struct cfginfo const char *disable_label; const char *disable_brushspacing; const char *disable_magic_controls; + const char *disable_magic_sizes; const char *disable_shape_controls; const char *disable_print; const char *disable_quit; diff --git a/src/tuxpaint.c b/src/tuxpaint.c index 011080922..8bf0adefc 100644 --- a/src/tuxpaint.c +++ b/src/tuxpaint.c @@ -1430,6 +1430,7 @@ static int simple_shapes; static int only_uppercase; static int disable_magic_controls; +static int disable_magic_sizes; static int disable_shape_controls; static int shape_mode = SHAPEMODE_CENTER; @@ -29443,6 +29444,7 @@ static void setup_config(char *argv[]) SETBOOL(disable_label); SETBOOL(disable_brushspacing); SETBOOL(disable_magic_controls); + SETBOOL(disable_magic_sizes); SETBOOL(disable_shape_controls); SETBOOL(disable_print); SETBOOL(disable_quit); @@ -31397,9 +31399,12 @@ static void setup(void) /* Load magic tool plugins: */ magic_disabled_features = 0x00000000; - if (0) { /* FIXME */ + if (disable_magic_sizes) { magic_disabled_features |= MAGIC_FEATURE_SIZE; } + if (disable_magic_controls) { + magic_disabled_features |= MAGIC_FEATURE_CONTROL; + } load_magic_plugins(); diff --git a/src/tuxpaint.conf b/src/tuxpaint.conf index caa2eb452..47214402b 100644 --- a/src/tuxpaint.conf +++ b/src/tuxpaint.conf @@ -7,7 +7,7 @@ # https://tuxpaint.org/ # # Default distribution version last modified: -# December 11, 2020 +# February 12, 2023 # # $Id$ @@ -21,6 +21,7 @@ # * nostampcontrols # * nostamprotation # * nomagiccontrols +# * nomagicsizes # * noshapecontrols # * nolabel # * nobrushspacing