Finished organizing Magic tools; updated docs
Added group code to `tp_magic_example.c`, and documented in the "Creating Tux Paint Magic Tool Plugins" docs.
This commit is contained in:
parent
5882a48412
commit
1d5dd8eb9f
16 changed files with 209 additions and 60 deletions
|
|
@ -3,7 +3,7 @@
|
||||||
Copyright 2007-2021 by various contributors; see AUTHORS.txt
|
Copyright 2007-2021 by various contributors; see AUTHORS.txt
|
||||||
http://www.tuxpaint.org/
|
http://www.tuxpaint.org/
|
||||||
|
|
||||||
July 5, 2007 - February 20, 2021
|
July 5, 2007 - September 21, 2021
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -204,6 +204,33 @@ Interfaces
|
||||||
Note: Called once for each Magic tool your plugin claims to
|
Note: Called once for each Magic tool your plugin claims to
|
||||||
contain (by your "get_tool_count()").
|
contain (by your "get_tool_count()").
|
||||||
|
|
||||||
|
* int get_group(magic_api * api, int which)
|
||||||
|
Use this to group tools together within sections of the 'Magic'
|
||||||
|
selector. A number of groups are pre-defined within an enum
|
||||||
|
found in "tp_magic_api.h":
|
||||||
|
* MAGIC_TYPE_DISTORTS mdash; Tools that distort the shape of
|
||||||
|
the image, like Blur, Emboss, and Ripples
|
||||||
|
* MAGIC_TYPE_COLOR_FILTERS mdash; Tools that mostly affect
|
||||||
|
the colors of the image without distortion, like Darken,
|
||||||
|
Negative, and Tint
|
||||||
|
* MAGIC_TYPE_PICTURE_WARPS mdash; Tools that warp or move the
|
||||||
|
entire picture, like Shift, Flip, and Waves
|
||||||
|
* MAGIC_TYPE_PAINTING mdash; Tools that generally paint new
|
||||||
|
content at the cursor position, like Grass, Bricks, and
|
||||||
|
Rails
|
||||||
|
* MAGIC_TYPE_PATTERN_PAINTING mdash; Tools that paint in
|
||||||
|
multiple places at once, like Kaleidoscope and the Symmetry
|
||||||
|
tools
|
||||||
|
* MAGIC_TYPE_PICTURE_DECORATIONS mdash; Tools that apply
|
||||||
|
decorations to the entire picture, like Blinds and
|
||||||
|
Checkboard
|
||||||
|
* MAGIC_TYPE_ARTISTIC mdash; Special-purpose artistic tools,
|
||||||
|
like Flower, the String tools, and the Rainbow-arc-drawing
|
||||||
|
tools.
|
||||||
|
Note: Called once for each Magic tool your plugin claims to
|
||||||
|
contain (by your "get_tool_count()").
|
||||||
|
Note: Added to Tux Paint 0.9.27; Magic API version '0x00000005'
|
||||||
|
|
||||||
* SDL_Surface * get_icon(magic_api * api, int which)
|
* SDL_Surface * get_icon(magic_api * api, int which)
|
||||||
This should return an SDL_Surface containing the icon
|
This should return an SDL_Surface containing the icon
|
||||||
representing the tool. (A greyscale image with alpha, no larger
|
representing the tool. (A greyscale image with alpha, no larger
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ alink="#FF00FF">
|
||||||
<p>Copyright 2007-2021 by various contributors; see AUTHORS.txt<br/>
|
<p>Copyright 2007-2021 by various contributors; see AUTHORS.txt<br/>
|
||||||
<a href="http://www.tuxpaint.org/">http://www.tuxpaint.org/</a></p>
|
<a href="http://www.tuxpaint.org/">http://www.tuxpaint.org/</a></p>
|
||||||
|
|
||||||
<p>July 5, 2007 - February 20, 2021</p>
|
<p>July 5, 2007 - September 21, 2021</p>
|
||||||
</center>
|
</center>
|
||||||
|
|
||||||
<hr size=2 noshade>
|
<hr size=2 noshade>
|
||||||
|
|
@ -266,6 +266,26 @@ then the names of your functions must begin with "<code><b>zoom_</b></code>"
|
||||||
contain (by your "<code>get_tool_count()</code>").<br>
|
contain (by your "<code>get_tool_count()</code>").<br>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
<li><code><b>int get_group(magic_api * api,
|
||||||
|
int which)</b></code><br>
|
||||||
|
Use this to group tools together within sections of the
|
||||||
|
'Magic' selector. A number of groups are pre-defined within
|
||||||
|
an <code>enum</code> found in "<code>tp_magic_api.h</code>":
|
||||||
|
<ul>
|
||||||
|
<li><code>MAGIC_TYPE_DISTORTS</code> mdash; Tools that distort the shape of the image, like Blur, Emboss, and Ripples</li>
|
||||||
|
<li><code>MAGIC_TYPE_COLOR_FILTERS</code> mdash; Tools that mostly affect the colors of the image without distortion, like Darken, Negative, and Tint</li>
|
||||||
|
<li><code>MAGIC_TYPE_PICTURE_WARPS</code> mdash; Tools that warp or move the entire picture, like Shift, Flip, and Waves</li>
|
||||||
|
<li><code>MAGIC_TYPE_PAINTING</code> mdash; Tools that generally paint new content at the cursor position, like Grass, Bricks, and Rails</li>
|
||||||
|
<li><code>MAGIC_TYPE_PATTERN_PAINTING</code> mdash; Tools that paint in multiple places at once, like Kaleidoscope and the Symmetry tools</li>
|
||||||
|
<li><code>MAGIC_TYPE_PICTURE_DECORATIONS</code> mdash; Tools that apply decorations to the entire picture, like Blinds and Checkboard</li>
|
||||||
|
<li><code>MAGIC_TYPE_ARTISTIC</code> mdash; Special-purpose artistic tools, like Flower, the String tools, and the Rainbow-arc-drawing tools.</li>
|
||||||
|
</ul>
|
||||||
|
<b>Note:</b> Called once for each Magic tool your plugin claims to
|
||||||
|
contain (by your "<code>get_tool_count()</code>").<br>
|
||||||
|
<i>Note: Added to Tux Paint 0.9.27; Magic API version
|
||||||
|
'0x00000005'</i><br>
|
||||||
|
<br>
|
||||||
|
|
||||||
<li><code><b>SDL_Surface * get_icon(magic_api * api,
|
<li><code><b>SDL_Surface * get_icon(magic_api * api,
|
||||||
int which)</b></code><br>
|
int which)</b></code><br>
|
||||||
This should return an SDL_Surface containing the icon representing
|
This should return an SDL_Surface containing the icon representing
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
/* tp_magic_example.c
|
/* tp_magic_example.c
|
||||||
|
|
||||||
An example of a "Magic" tool plugin for Tux Paint
|
An example of a "Magic" tool plugin for Tux Paint
|
||||||
Last modified: 2008.07.10
|
Last modified: 2021.09.21
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -56,6 +56,15 @@ const char *names[NUM_TOOLS] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* How to group the tools with other similar tools,
|
||||||
|
within the 'Magic' selector: */
|
||||||
|
|
||||||
|
const int groups[NUM_TOOLS] = {
|
||||||
|
MAGIC_TYPE_PAINTING,
|
||||||
|
MAGIC_TYPE_DISTORTS
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/* A list of descriptions of the tools */
|
/* A list of descriptions of the tools */
|
||||||
|
|
||||||
const char *descs[NUM_TOOLS] = {
|
const char *descs[NUM_TOOLS] = {
|
||||||
|
|
@ -225,6 +234,22 @@ char *example_get_name(magic_api * api, int which)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Report our "Magic" tool groups
|
||||||
|
//
|
||||||
|
// When Tux Paint is starting up and loading plugins, it asks us to
|
||||||
|
// specify where the tool should be grouped.
|
||||||
|
|
||||||
|
int example_get_group(magic_api * api, int which)
|
||||||
|
{
|
||||||
|
// Return our group from the "groups[]" array.
|
||||||
|
//
|
||||||
|
// We use 'which' (which of our tools Tux Paint is asking about)
|
||||||
|
// as an index into the array.
|
||||||
|
|
||||||
|
return (groups[which]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Report our "Magic" tool descriptions
|
// Report our "Magic" tool descriptions
|
||||||
//
|
//
|
||||||
// When Tux Paint is starting up and loading plugins, it asks us to
|
// When Tux Paint is starting up and loading plugins, it asks us to
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
Last updated: January 6, 2021
|
Last updated: September 21, 2021
|
||||||
$Id$
|
$Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -55,6 +55,7 @@ Uint32 pixels_api_version(void);
|
||||||
int pixels_get_tool_count(magic_api * api);
|
int pixels_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *pixels_get_icon(magic_api * api, int which);
|
SDL_Surface *pixels_get_icon(magic_api * api, int which);
|
||||||
char *pixels_get_name(magic_api * api, int which);
|
char *pixels_get_name(magic_api * api, int which);
|
||||||
|
int pixels_get_group(magic_api * api, int which);
|
||||||
char *pixels_get_description(magic_api * api, int which, int mode);
|
char *pixels_get_description(magic_api * api, int which, int mode);
|
||||||
void pixels_drag(magic_api * api, int which, SDL_Surface * canvas,
|
void pixels_drag(magic_api * api, int which, SDL_Surface * canvas,
|
||||||
SDL_Surface * last, int ox, int oy, int x, int y, SDL_Rect * update_rect);
|
SDL_Surface * last, int ox, int oy, int x, int y, SDL_Rect * update_rect);
|
||||||
|
|
@ -103,11 +104,15 @@ SDL_Surface *pixels_get_icon(magic_api * api, int which ATTRIBUTE_UNUSED)
|
||||||
// Return our names, localized:
|
// Return our names, localized:
|
||||||
char *pixels_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
char *pixels_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
/* Both are named "Pixels", at the moment: */
|
|
||||||
|
|
||||||
return (strdup(gettext_noop("Pixels")));
|
return (strdup(gettext_noop("Pixels")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return our group (both the same):
|
||||||
|
int pixels_get_group(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
return MAGIC_TYPE_PAINTING;
|
||||||
|
}
|
||||||
|
|
||||||
// Return our descriptions, localized:
|
// Return our descriptions, localized:
|
||||||
char *pixels_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
|
char *pixels_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
Author: Adam 'foo-script' Rakowski ; foo-script@o2.pl
|
Author: Adam 'foo-script' Rakowski ; foo-script@o2.pl
|
||||||
|
|
||||||
Copyright (c) 2002-2009 by Bill Kendrick and others; see AUTHORS.txt
|
Copyright (c) 2002-2021 by Bill Kendrick and others; see AUTHORS.txt
|
||||||
bill@newbreedsoftware.com
|
bill@newbreedsoftware.com
|
||||||
http://www.tuxpaint.org/
|
http://www.tuxpaint.org/
|
||||||
|
|
||||||
|
|
@ -24,6 +24,8 @@
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
|
Last updated: September 21, 2021
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -52,6 +54,7 @@ int puzzle_init(magic_api * api);
|
||||||
int puzzle_get_tool_count(magic_api * api);
|
int puzzle_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *puzzle_get_icon(magic_api * api, int which);
|
SDL_Surface *puzzle_get_icon(magic_api * api, int which);
|
||||||
char *puzzle_get_name(magic_api * api, int which);
|
char *puzzle_get_name(magic_api * api, int which);
|
||||||
|
int puzzle_get_group(magic_api * api, int which);
|
||||||
char *puzzle_get_description(magic_api * api, int which, int mode);
|
char *puzzle_get_description(magic_api * api, int which, int mode);
|
||||||
void puzzle_release(magic_api * api, int which,
|
void puzzle_release(magic_api * api, int which,
|
||||||
SDL_Surface * canvas, SDL_Surface * last, int x, int y, SDL_Rect * update_rect);
|
SDL_Surface * canvas, SDL_Surface * last, int x, int y, SDL_Rect * update_rect);
|
||||||
|
|
@ -103,6 +106,11 @@ char *puzzle_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUS
|
||||||
return (strdup(gettext_noop("Puzzle")));
|
return (strdup(gettext_noop("Puzzle")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int puzzle_get_group(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
return MAGIC_TYPE_DISTORTS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
char *puzzle_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode)
|
char *puzzle_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
/* Last modified: 2021-09-21 */
|
||||||
#include "tp_magic_api.h"
|
#include "tp_magic_api.h"
|
||||||
#include "SDL_image.h"
|
#include "SDL_image.h"
|
||||||
#include "SDL_mixer.h"
|
#include "SDL_mixer.h"
|
||||||
|
|
@ -44,6 +45,7 @@ int rails_init(magic_api * api);
|
||||||
int rails_get_tool_count(magic_api * api);
|
int rails_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *rails_get_icon(magic_api * api, int which);
|
SDL_Surface *rails_get_icon(magic_api * api, int which);
|
||||||
char *rails_get_name(magic_api * api, int which);
|
char *rails_get_name(magic_api * api, int which);
|
||||||
|
int rails_get_group(magic_api * api, int which);
|
||||||
char *rails_get_description(magic_api * api, int which, int mode);
|
char *rails_get_description(magic_api * api, int which, int mode);
|
||||||
int rails_requires_colors(magic_api * api, int which);
|
int rails_requires_colors(magic_api * api, int which);
|
||||||
void rails_release(magic_api * api, int which,
|
void rails_release(magic_api * api, int which,
|
||||||
|
|
@ -129,6 +131,11 @@ char *rails_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSE
|
||||||
return strdup(gettext_noop("Rails"));
|
return strdup(gettext_noop("Rails"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int rails_get_group(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
return MAGIC_TYPE_PAINTING;
|
||||||
|
}
|
||||||
|
|
||||||
char *rails_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
|
char *rails_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
return strdup(gettext_noop("Click and drag to draw train track rails on your picture."));
|
return strdup(gettext_noop("Click and drag to draw train track rails on your picture."));
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
Rainbow Magic Tool Plugin
|
Rainbow Magic Tool Plugin
|
||||||
Tux Paint - A simple drawing program for children.
|
Tux Paint - A simple drawing program for children.
|
||||||
|
|
||||||
Copyright (c) 2002-2008 by Bill Kendrick and others; see AUTHORS.txt
|
Copyright (c) 2002-2021 by Bill Kendrick and others; see AUTHORS.txt
|
||||||
bill@newbreedsoftware.com
|
bill@newbreedsoftware.com
|
||||||
http://www.tuxpaint.org/
|
http://www.tuxpaint.org/
|
||||||
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
Last updated: July 8, 2008
|
Last updated: September 21, 2021
|
||||||
$Id$
|
$Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -72,6 +72,7 @@ Uint32 rainbow_api_version(void);
|
||||||
int rainbow_get_tool_count(magic_api * api);
|
int rainbow_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *rainbow_get_icon(magic_api * api, int which);
|
SDL_Surface *rainbow_get_icon(magic_api * api, int which);
|
||||||
char *rainbow_get_name(magic_api * api, int which);
|
char *rainbow_get_name(magic_api * api, int which);
|
||||||
|
int rainbow_get_group(magic_api * api, int which);
|
||||||
char *rainbow_get_description(magic_api * api, int which, int mode);
|
char *rainbow_get_description(magic_api * api, int which, int mode);
|
||||||
static void rainbow_linecb(void *ptr, int which, SDL_Surface * canvas, SDL_Surface * last, int x, int y);
|
static void rainbow_linecb(void *ptr, int which, SDL_Surface * canvas, SDL_Surface * last, int x, int y);
|
||||||
|
|
||||||
|
|
@ -133,6 +134,12 @@ char *rainbow_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNU
|
||||||
return (strdup(gettext_noop("Rainbow")));
|
return (strdup(gettext_noop("Rainbow")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return our group:
|
||||||
|
int rainbow_get_group(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
return MAGIC_TYPE_PAINTING;
|
||||||
|
}
|
||||||
|
|
||||||
// Return our descriptions, localized:
|
// Return our descriptions, localized:
|
||||||
char *rainbow_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
|
char *rainbow_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
Ripples Magic Tool Plugin
|
Ripples Magic Tool Plugin
|
||||||
Tux Paint - A simple drawing program for children.
|
Tux Paint - A simple drawing program for children.
|
||||||
|
|
||||||
Copyright (c) 2002-2008 by Bill Kendrick and others; see AUTHORS.txt
|
Copyright (c) 2002-2021 by Bill Kendrick and others; see AUTHORS.txt
|
||||||
bill@newbreedsoftware.com
|
bill@newbreedsoftware.com
|
||||||
http://www.tuxpaint.org/
|
http://www.tuxpaint.org/
|
||||||
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
Last updated: July 8, 2008
|
Last updated: September 21, 2021
|
||||||
$Id$
|
$Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -46,6 +46,7 @@ int ripples_init(magic_api * api);
|
||||||
int ripples_get_tool_count(magic_api * api);
|
int ripples_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *ripples_get_icon(magic_api * api, int which);
|
SDL_Surface *ripples_get_icon(magic_api * api, int which);
|
||||||
char *ripples_get_name(magic_api * api, int which);
|
char *ripples_get_name(magic_api * api, int which);
|
||||||
|
int ripples_get_group(magic_api * api, int which);
|
||||||
char *ripples_get_description(magic_api * api, int which, int mode);
|
char *ripples_get_description(magic_api * api, int which, int mode);
|
||||||
void ripples_drag(magic_api * api, int which, SDL_Surface * canvas,
|
void ripples_drag(magic_api * api, int which, SDL_Surface * canvas,
|
||||||
SDL_Surface * last, int ox, int oy, int x, int y, SDL_Rect * update_rect);
|
SDL_Surface * last, int ox, int oy, int x, int y, SDL_Rect * update_rect);
|
||||||
|
|
@ -102,6 +103,12 @@ char *ripples_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNU
|
||||||
return (strdup(gettext_noop("Ripples")));
|
return (strdup(gettext_noop("Ripples")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return our groups:
|
||||||
|
int ripples_get_group(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
return MAGIC_TYPE_DISTORTS;
|
||||||
|
}
|
||||||
|
|
||||||
// Return our descriptions, localized:
|
// Return our descriptions, localized:
|
||||||
char *ripples_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
|
char *ripples_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
Credits: Adam 'foo-script' Rakowski <foo-script@o2.pl>
|
Credits: Adam 'foo-script' Rakowski <foo-script@o2.pl>
|
||||||
|
|
||||||
Copyright (c) 2002-2008 by Bill Kendrick and others; see AUTHORS.txt
|
Copyright (c) 2002-2021 by Bill Kendrick and others; see AUTHORS.txt
|
||||||
bill@newbreedsoftware.com
|
bill@newbreedsoftware.com
|
||||||
http://www.tuxpaint.org/
|
http://www.tuxpaint.org/
|
||||||
|
|
||||||
|
|
@ -24,6 +24,8 @@
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
|
Last updated: September 21, 2021
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// sound only plays on release
|
// sound only plays on release
|
||||||
|
|
@ -54,6 +56,7 @@ int rosette_init(magic_api * api);
|
||||||
int rosette_get_tool_count(magic_api * api);
|
int rosette_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *rosette_get_icon(magic_api * api, int which);
|
SDL_Surface *rosette_get_icon(magic_api * api, int which);
|
||||||
char *rosette_get_name(magic_api * api, int which);
|
char *rosette_get_name(magic_api * api, int which);
|
||||||
|
int rosette_get_group(magic_api * api, int which);
|
||||||
char *rosette_get_description(magic_api * api, int which, int mode);
|
char *rosette_get_description(magic_api * api, int which, int mode);
|
||||||
int rosette_requires_colors(magic_api * api, int which);
|
int rosette_requires_colors(magic_api * api, int which);
|
||||||
void rosette_release(magic_api * api, int which,
|
void rosette_release(magic_api * api, int which,
|
||||||
|
|
@ -117,6 +120,11 @@ char *rosette_get_name(magic_api * api ATTRIBUTE_UNUSED, int which)
|
||||||
return strdup(gettext_noop("Picasso"));
|
return strdup(gettext_noop("Picasso"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int rosette_get_group(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
return MAGIC_TYPE_PATTERN_PAINTING;
|
||||||
|
}
|
||||||
|
|
||||||
char *rosette_get_description(magic_api * api ATTRIBUTE_UNUSED, int which, int mode ATTRIBUTE_UNUSED)
|
char *rosette_get_description(magic_api * api ATTRIBUTE_UNUSED, int which, int mode ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
if (!which)
|
if (!which)
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@ int sharpen_init(magic_api * api);
|
||||||
int sharpen_get_tool_count(magic_api * api);
|
int sharpen_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *sharpen_get_icon(magic_api * api, int which);
|
SDL_Surface *sharpen_get_icon(magic_api * api, int which);
|
||||||
char *sharpen_get_name(magic_api * api, int which);
|
char *sharpen_get_name(magic_api * api, int which);
|
||||||
|
int sharpen_get_group(magic_api * api, int which);
|
||||||
char *sharpen_get_description(magic_api * api, int which, int mode);
|
char *sharpen_get_description(magic_api * api, int which, int mode);
|
||||||
static int sharpen_grey(Uint8 r1, Uint8 g1, Uint8 b1);
|
static int sharpen_grey(Uint8 r1, Uint8 g1, Uint8 b1);
|
||||||
static void do_sharpen_pixel(void *ptr, int which, SDL_Surface * canvas, SDL_Surface * last, int x, int y);
|
static void do_sharpen_pixel(void *ptr, int which, SDL_Surface * canvas, SDL_Surface * last, int x, int y);
|
||||||
|
|
@ -155,6 +156,12 @@ char *sharpen_get_name(magic_api * api ATTRIBUTE_UNUSED, int which)
|
||||||
return (strdup(gettext_noop(sharpen_names[which])));
|
return (strdup(gettext_noop(sharpen_names[which])));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return our group (all the same):
|
||||||
|
int sharpen_get_group(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
return MAGIC_TYPE_DISTORTS;
|
||||||
|
}
|
||||||
|
|
||||||
// Return our descriptions, localized:
|
// Return our descriptions, localized:
|
||||||
char *sharpen_get_description(magic_api * api ATTRIBUTE_UNUSED, int which, int mode)
|
char *sharpen_get_description(magic_api * api ATTRIBUTE_UNUSED, int which, int mode)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
Smudge by Albert Cahalan <albert@users.sf.net>
|
Smudge by Albert Cahalan <albert@users.sf.net>
|
||||||
Wet Paint addition by Bill Kendrick <bill@newbreedsoftware.com>
|
Wet Paint addition by Bill Kendrick <bill@newbreedsoftware.com>
|
||||||
|
|
||||||
Copyright (c) 2002-2011
|
Copyright (c) 2002-2021
|
||||||
http://www.tuxpaint.org/
|
http://www.tuxpaint.org/
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
Last updated: Oconter 8, 2009
|
Last updated: September 21, 2021
|
||||||
$Id$
|
$Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -44,6 +44,7 @@ int smudge_init(magic_api * api);
|
||||||
Uint32 smudge_api_version(void);
|
Uint32 smudge_api_version(void);
|
||||||
SDL_Surface *smudge_get_icon(magic_api * api, int which);
|
SDL_Surface *smudge_get_icon(magic_api * api, int which);
|
||||||
char *smudge_get_name(magic_api * api, int which);
|
char *smudge_get_name(magic_api * api, int which);
|
||||||
|
int smudge_get_group(magic_api * api, int which);
|
||||||
char *smudge_get_description(magic_api * api, int which, int mode);
|
char *smudge_get_description(magic_api * api, int which, int mode);
|
||||||
static void do_smudge(void *ptr, int which, SDL_Surface * canvas, SDL_Surface * last, int x, int y);
|
static void do_smudge(void *ptr, int which, SDL_Surface * canvas, SDL_Surface * last, int x, int y);
|
||||||
void smudge_drag(magic_api * api, int which, SDL_Surface * canvas,
|
void smudge_drag(magic_api * api, int which, SDL_Surface * canvas,
|
||||||
|
|
@ -104,6 +105,15 @@ char *smudge_get_name(magic_api * api ATTRIBUTE_UNUSED, int which)
|
||||||
return (strdup(gettext_noop("Wet Paint")));
|
return (strdup(gettext_noop("Wet Paint")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return our groups
|
||||||
|
int smudge_get_group(magic_api * api ATTRIBUTE_UNUSED, int which)
|
||||||
|
{
|
||||||
|
if (which == 0)
|
||||||
|
return MAGIC_TYPE_DISTORTS; /* Smudge */
|
||||||
|
else
|
||||||
|
return MAGIC_TYPE_PAINTING; /* Wet Paint */
|
||||||
|
}
|
||||||
|
|
||||||
// Return our descriptions, localized:
|
// Return our descriptions, localized:
|
||||||
char *smudge_get_description(magic_api * api ATTRIBUTE_UNUSED, int which, int mode ATTRIBUTE_UNUSED)
|
char *smudge_get_description(magic_api * api ATTRIBUTE_UNUSED, int which, int mode ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Strings -- draws string art.
|
* Strings -- draws string art.
|
||||||
*
|
*
|
||||||
* Last modified: 2019-08-29
|
* Last modified: 2021-09-21
|
||||||
*/
|
*/
|
||||||
#include "tp_magic_api.h"
|
#include "tp_magic_api.h"
|
||||||
#include "SDL_image.h"
|
#include "SDL_image.h"
|
||||||
|
|
@ -59,6 +59,7 @@ void string_set_color(magic_api * api, Uint8 r, Uint8 g, Uint8 b);
|
||||||
int string_get_tool_count(magic_api * api);
|
int string_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *string_get_icon(magic_api * api, int which);
|
SDL_Surface *string_get_icon(magic_api * api, int which);
|
||||||
char *string_get_name(magic_api * api, int which);
|
char *string_get_name(magic_api * api, int which);
|
||||||
|
int string_get_group(magic_api * api, int which);
|
||||||
char *string_get_description(magic_api * api, int which, int mode);
|
char *string_get_description(magic_api * api, int which, int mode);
|
||||||
int string_requires_colors(magic_api * api, int which);
|
int string_requires_colors(magic_api * api, int which);
|
||||||
void string_release(magic_api * api, int which,
|
void string_release(magic_api * api, int which,
|
||||||
|
|
@ -77,7 +78,7 @@ Uint32 string_api_version(void)
|
||||||
return (TP_MAGIC_API_VERSION);
|
return (TP_MAGIC_API_VERSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
int string_modes( __attribute__ ((unused)) magic_api * api, int which)
|
int string_modes(magic_api * api ATTRIBUTE_UNUSED, int which)
|
||||||
{
|
{
|
||||||
if (which == STRING_TOOL_FULL_BY_OFFSET)
|
if (which == STRING_TOOL_FULL_BY_OFFSET)
|
||||||
return (MODE_PAINT);
|
return (MODE_PAINT);
|
||||||
|
|
@ -85,7 +86,7 @@ int string_modes( __attribute__ ((unused)) magic_api * api, int which)
|
||||||
return (MODE_PAINT_WITH_PREVIEW);
|
return (MODE_PAINT_WITH_PREVIEW);
|
||||||
}
|
}
|
||||||
|
|
||||||
void string_set_color( __attribute__ ((unused)) magic_api * api, Uint8 r, Uint8 g, Uint8 b)
|
void string_set_color(magic_api * api ATTRIBUTE_UNUSED, Uint8 r, Uint8 g, Uint8 b)
|
||||||
{
|
{
|
||||||
string_r = r;
|
string_r = r;
|
||||||
string_g = g;
|
string_g = g;
|
||||||
|
|
@ -94,7 +95,7 @@ void string_set_color( __attribute__ ((unused)) magic_api * api, Uint8 r, Uint8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int string_get_tool_count( __attribute__ ((unused)) magic_api * api)
|
int string_get_tool_count(magic_api * api ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
return STRING_NUMTOOLS;
|
return STRING_NUMTOOLS;
|
||||||
}
|
}
|
||||||
|
|
@ -120,8 +121,7 @@ SDL_Surface *string_get_icon(magic_api * api, int which)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char *string_get_name( __attribute__ ((unused)) magic_api * api, __attribute__ ((unused))
|
char *string_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
int which)
|
|
||||||
{
|
{
|
||||||
switch (which)
|
switch (which)
|
||||||
{
|
{
|
||||||
|
|
@ -136,8 +136,12 @@ char *string_get_name( __attribute__ ((unused)) magic_api * api, __attribute__ (
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
char *string_get_description( __attribute__ ((unused)) magic_api * api, int which, __attribute__ ((unused))
|
int string_get_group(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
int mode)
|
{
|
||||||
|
return MAGIC_TYPE_ARTISTIC;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *string_get_description(magic_api * api ATTRIBUTE_UNUSED, int which, int mode ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
switch (which)
|
switch (which)
|
||||||
{
|
{
|
||||||
|
|
@ -154,8 +158,7 @@ char *string_get_description( __attribute__ ((unused)) magic_api * api, int whic
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int string_requires_colors( __attribute__ ((unused)) magic_api * api, __attribute__ ((unused))
|
int string_requires_colors(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
int which)
|
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
@ -180,7 +183,7 @@ void string_release(magic_api * api, int which,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int string_init( __attribute__ ((unused)) magic_api * api)
|
int string_init(magic_api * api ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
char fname[1024];
|
char fname[1024];
|
||||||
|
|
||||||
|
|
@ -196,7 +199,7 @@ int string_init( __attribute__ ((unused)) magic_api * api)
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void string_shutdown( __attribute__ ((unused)) magic_api * api)
|
void string_shutdown(magic_api * api ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
|
|
@ -211,19 +214,14 @@ void string_shutdown( __attribute__ ((unused)) magic_api * api)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void string_switchin( __attribute__ ((unused)) magic_api * api, __attribute__ ((unused))
|
void string_switchin(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED, SDL_Surface * canvas, SDL_Surface * snapshot ATTRIBUTE_UNUSED)
|
||||||
int which, __attribute__ ((unused))
|
|
||||||
int mode, SDL_Surface * canvas, __attribute__ ((unused)) SDL_Surface * snapshot)
|
|
||||||
{
|
{
|
||||||
canvas_backup = SDL_CreateRGBSurface(SDL_ANYFORMAT, canvas->w, canvas->h, canvas->format->BitsPerPixel,
|
canvas_backup = SDL_CreateRGBSurface(SDL_ANYFORMAT, canvas->w, canvas->h, canvas->format->BitsPerPixel,
|
||||||
canvas->format->Rmask, canvas->format->Gmask, canvas->format->Bmask,
|
canvas->format->Rmask, canvas->format->Gmask, canvas->format->Bmask,
|
||||||
canvas->format->Amask);
|
canvas->format->Amask);
|
||||||
}
|
}
|
||||||
|
|
||||||
void string_switchout( __attribute__ ((unused)) magic_api * api, __attribute__ ((unused))
|
void string_switchout(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED, SDL_Surface * canvas ATTRIBUTE_UNUSED, SDL_Surface * snapshot ATTRIBUTE_UNUSED)
|
||||||
int which, __attribute__ ((unused))
|
|
||||||
int mode, __attribute__ ((unused)) SDL_Surface * canvas,
|
|
||||||
__attribute__ ((unused)) SDL_Surface * snapshot)
|
|
||||||
{
|
{
|
||||||
SDL_FreeSurface(canvas_backup);
|
SDL_FreeSurface(canvas_backup);
|
||||||
canvas_backup = NULL;
|
canvas_backup = NULL;
|
||||||
|
|
@ -232,8 +230,7 @@ void string_switchout( __attribute__ ((unused)) magic_api * api, __attribute__ (
|
||||||
// Interactivity functions
|
// Interactivity functions
|
||||||
|
|
||||||
|
|
||||||
void string_callback(void *ptr, __attribute__ ((unused))
|
void string_callback(void *ptr, int which ATTRIBUTE_UNUSED, SDL_Surface * canvas, SDL_Surface * snapshot ATTRIBUTE_UNUSED, int x, int y)
|
||||||
int which, SDL_Surface * canvas, __attribute__ ((unused)) SDL_Surface * snapshot, int x, int y)
|
|
||||||
{
|
{
|
||||||
magic_api *api = (magic_api *) ptr;
|
magic_api *api = (magic_api *) ptr;
|
||||||
|
|
||||||
|
|
@ -241,8 +238,7 @@ void string_callback(void *ptr, __attribute__ ((unused))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void string_click(magic_api * api, int which, __attribute__ ((unused))
|
void string_click(magic_api * api, int which, int mode ATTRIBUTE_UNUSED, SDL_Surface * canvas, SDL_Surface * snapshot, int x, int y, SDL_Rect * update_rect)
|
||||||
int mode, SDL_Surface * canvas, SDL_Surface * snapshot, int x, int y, SDL_Rect * update_rect)
|
|
||||||
{
|
{
|
||||||
SDL_BlitSurface(canvas, NULL, canvas_backup, NULL);
|
SDL_BlitSurface(canvas, NULL, canvas_backup, NULL);
|
||||||
|
|
||||||
|
|
@ -253,8 +249,7 @@ void string_click(magic_api * api, int which, __attribute__ ((unused))
|
||||||
string_drag(api, which, canvas, snapshot, x, y, x, y, update_rect);
|
string_drag(api, which, canvas, snapshot, x, y, x, y, update_rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void string_draw_full_by_offset(void *ptr, __attribute__ ((unused))
|
static void string_draw_full_by_offset(void *ptr, int which ATTRIBUTE_UNUSED, SDL_Surface * canvas, SDL_Surface * snapshot ATTRIBUTE_UNUSED,
|
||||||
int which, SDL_Surface * canvas, __attribute__ ((unused)) SDL_Surface * snapshot,
|
|
||||||
int x, int y, SDL_Rect * update_rect)
|
int x, int y, SDL_Rect * update_rect)
|
||||||
{
|
{
|
||||||
magic_api *api = (magic_api *) ptr;
|
magic_api *api = (magic_api *) ptr;
|
||||||
|
|
@ -377,9 +372,7 @@ void string_draw_triangle_preview(magic_api * api, int which,
|
||||||
}
|
}
|
||||||
|
|
||||||
void string_draw_angle_preview(magic_api * api, int which,
|
void string_draw_angle_preview(magic_api * api, int which,
|
||||||
SDL_Surface * canvas, SDL_Surface * snapshot, __attribute__ ((unused))
|
SDL_Surface * canvas, SDL_Surface * snapshot, int ox ATTRIBUTE_UNUSED, int oy ATTRIBUTE_UNUSED, int x, int y, SDL_Rect * update_rect)
|
||||||
int ox, __attribute__ ((unused))
|
|
||||||
int oy, int x, int y, SDL_Rect * update_rect)
|
|
||||||
{
|
{
|
||||||
int middle_x, middle_y;
|
int middle_x, middle_y;
|
||||||
int dx, dy;
|
int dx, dy;
|
||||||
|
|
@ -411,11 +404,8 @@ void string_draw_angle_preview(magic_api * api, int which,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void string_draw_angle(magic_api * api, __attribute__ ((unused))
|
void string_draw_angle(magic_api * api, int which ATTRIBUTE_UNUSED,
|
||||||
int which,
|
SDL_Surface * canvas, SDL_Surface * snapshot ATTRIBUTE_UNUSED, int ox ATTRIBUTE_UNUSED, int oy ATTRIBUTE_UNUSED, int x, int y, SDL_Rect * update_rect)
|
||||||
SDL_Surface * canvas, __attribute__ ((unused)) SDL_Surface * snapshot, __attribute__ ((unused))
|
|
||||||
int ox, __attribute__ ((unused))
|
|
||||||
int oy, int x, int y, SDL_Rect * update_rect)
|
|
||||||
{
|
{
|
||||||
float first_arm_step_x, first_arm_step_y, second_arm_step_x, second_arm_step_y;
|
float first_arm_step_x, first_arm_step_y, second_arm_step_x, second_arm_step_y;
|
||||||
int i;
|
int i;
|
||||||
|
|
@ -445,8 +435,7 @@ void string_draw_angle(magic_api * api, __attribute__ ((unused))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void string_draw_triangle(magic_api * api, __attribute__ ((unused))
|
void string_draw_triangle(magic_api * api, int which ATTRIBUTE_UNUSED,
|
||||||
int which,
|
|
||||||
SDL_Surface * canvas, SDL_Surface * snapshot, int ox, int oy, int x, int y,
|
SDL_Surface * canvas, SDL_Surface * snapshot, int ox, int oy, int x, int y,
|
||||||
SDL_Rect * update_rect)
|
SDL_Rect * update_rect)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
Credits: Andrew Corcoran <akanewbie@gmail.com>
|
Credits: Andrew Corcoran <akanewbie@gmail.com>
|
||||||
|
|
||||||
Copyright (c) 2002-2009 by Bill Kendrick and others; see AUTHORS.txt
|
Copyright (c) 2002-2021 by Bill Kendrick and others; see AUTHORS.txt
|
||||||
bill@newbreedsoftware.com
|
bill@newbreedsoftware.com
|
||||||
http://www.tuxpaint.org/
|
http://www.tuxpaint.org/
|
||||||
|
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
Last updated: May 6, 2009
|
Last updated: September 21, 2021
|
||||||
$Id$
|
$Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -87,6 +87,7 @@ Uint32 tint_api_version(void);
|
||||||
int tint_get_tool_count(magic_api * api);
|
int tint_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *tint_get_icon(magic_api * api, int which);
|
SDL_Surface *tint_get_icon(magic_api * api, int which);
|
||||||
char *tint_get_name(magic_api * api, int which);
|
char *tint_get_name(magic_api * api, int which);
|
||||||
|
int tint_get_group(magic_api * api, int which);
|
||||||
char *tint_get_description(magic_api * api, int which, int mode);
|
char *tint_get_description(magic_api * api, int which, int mode);
|
||||||
static int tint_grey(Uint8 r1, Uint8 g1, Uint8 b1);
|
static int tint_grey(Uint8 r1, Uint8 g1, Uint8 b1);
|
||||||
static void do_tint_pixel(void *ptr, int which, SDL_Surface * canvas, SDL_Surface * last, int x, int y);
|
static void do_tint_pixel(void *ptr, int which, SDL_Surface * canvas, SDL_Surface * last, int x, int y);
|
||||||
|
|
@ -144,6 +145,12 @@ char *tint_get_name(magic_api * api ATTRIBUTE_UNUSED, int which)
|
||||||
return (strdup(gettext_noop(tint_names[which])));
|
return (strdup(gettext_noop(tint_names[which])));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return our group (both the same):
|
||||||
|
int tint_get_group(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
return MAGIC_TYPE_COLOR_FILTERS;
|
||||||
|
}
|
||||||
|
|
||||||
// Return our descriptions, localized:
|
// Return our descriptions, localized:
|
||||||
char *tint_get_description(magic_api * api ATTRIBUTE_UNUSED, int which, int mode)
|
char *tint_get_description(magic_api * api ATTRIBUTE_UNUSED, int which, int mode)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
Credits: Andrew Corcoran <akanewbie@gmail.com>
|
Credits: Andrew Corcoran <akanewbie@gmail.com>
|
||||||
|
|
||||||
Copyright (c) 2002-2007 by Bill Kendrick and others; see AUTHORS.txt
|
Copyright (c) 2002-2021 by Bill Kendrick and others; see AUTHORS.txt
|
||||||
bill@newbreedsoftware.com
|
bill@newbreedsoftware.com
|
||||||
http://www.tuxpaint.org/
|
http://www.tuxpaint.org/
|
||||||
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
Last updated: June 6, 2008
|
Last updated: September 21, 2021
|
||||||
$Id$
|
$Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -68,6 +68,10 @@ const char *toothpaste_names[toothpaste_NUM_TOOLS] = {
|
||||||
gettext_noop("Toothpaste"),
|
gettext_noop("Toothpaste"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const int toothpaste_groups[toothpaste_NUM_TOOLS] = {
|
||||||
|
MAGIC_TYPE_PAINTING,
|
||||||
|
};
|
||||||
|
|
||||||
const char *toothpaste_descs[toothpaste_NUM_TOOLS] = {
|
const char *toothpaste_descs[toothpaste_NUM_TOOLS] = {
|
||||||
gettext_noop("Click and drag to squirt toothpaste onto your picture."),
|
gettext_noop("Click and drag to squirt toothpaste onto your picture."),
|
||||||
};
|
};
|
||||||
|
|
@ -78,6 +82,7 @@ int toothpaste_init(magic_api * api);
|
||||||
int toothpaste_get_tool_count(magic_api * api);
|
int toothpaste_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *toothpaste_get_icon(magic_api * api, int which);
|
SDL_Surface *toothpaste_get_icon(magic_api * api, int which);
|
||||||
char *toothpaste_get_name(magic_api * api, int which);
|
char *toothpaste_get_name(magic_api * api, int which);
|
||||||
|
int toothpaste_get_group(magic_api * api, int which);
|
||||||
char *toothpaste_get_description(magic_api * api, int which, int mode);
|
char *toothpaste_get_description(magic_api * api, int which, int mode);
|
||||||
static void do_toothpaste(void *ptr, int which, SDL_Surface * canvas, SDL_Surface * last, int x, int y);
|
static void do_toothpaste(void *ptr, int which, SDL_Surface * canvas, SDL_Surface * last, int x, int y);
|
||||||
void toothpaste_drag(magic_api * api, int which, SDL_Surface * canvas,
|
void toothpaste_drag(magic_api * api, int which, SDL_Surface * canvas,
|
||||||
|
|
@ -156,6 +161,12 @@ char *toothpaste_get_name(magic_api * api ATTRIBUTE_UNUSED, int which)
|
||||||
return (strdup(gettext_noop(toothpaste_names[which])));
|
return (strdup(gettext_noop(toothpaste_names[which])));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return our groups:
|
||||||
|
int toothpaste_get_group(magic_api * api ATTRIBUTE_UNUSED, int which)
|
||||||
|
{
|
||||||
|
return toothpaste_groups[which];
|
||||||
|
}
|
||||||
|
|
||||||
// Return our descriptions, localized:
|
// Return our descriptions, localized:
|
||||||
char *toothpaste_get_description(magic_api * api ATTRIBUTE_UNUSED, int which, int mode ATTRIBUTE_UNUSED)
|
char *toothpaste_get_description(magic_api * api ATTRIBUTE_UNUSED, int which, int mode ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
Tornado Magic Tool Plugin
|
Tornado Magic Tool Plugin
|
||||||
Tux Paint - A simple drawing program for children.
|
Tux Paint - A simple drawing program for children.
|
||||||
|
|
||||||
Copyright (c) 2002-2008 by Bill Kendrick and others; see AUTHORS.txt
|
Copyright (c) 2002-2021 by Bill Kendrick and others; see AUTHORS.txt
|
||||||
bill@newbreedsoftware.com
|
bill@newbreedsoftware.com
|
||||||
http://www.tuxpaint.org/
|
http://www.tuxpaint.org/
|
||||||
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
Last updated: May 29, 2009
|
Last updated: September 21, 2021
|
||||||
$Id$
|
$Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -78,6 +78,7 @@ int tornado_init(magic_api * api);
|
||||||
int tornado_get_tool_count(magic_api * api);
|
int tornado_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *tornado_get_icon(magic_api * api, int which);
|
SDL_Surface *tornado_get_icon(magic_api * api, int which);
|
||||||
char *tornado_get_name(magic_api * api, int which);
|
char *tornado_get_name(magic_api * api, int which);
|
||||||
|
int tornado_get_group(magic_api * api, int which);
|
||||||
|
|
||||||
char *tornado_get_description(magic_api * api, int which, int mode);
|
char *tornado_get_description(magic_api * api, int which, int mode);
|
||||||
|
|
||||||
|
|
@ -153,6 +154,12 @@ char *tornado_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNU
|
||||||
return (strdup(gettext_noop("Tornado")));
|
return (strdup(gettext_noop("Tornado")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return our groups:
|
||||||
|
int tornado_get_group(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
return MAGIC_TYPE_ARTISTIC;
|
||||||
|
}
|
||||||
|
|
||||||
// Return our descriptions, localized:
|
// Return our descriptions, localized:
|
||||||
char *tornado_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
|
char *tornado_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,7 @@
|
||||||
|
|
||||||
Tux Paint - A simple drawing program for children.
|
Tux Paint - A simple drawing program for children.
|
||||||
|
|
||||||
Copyright (c) 2002-2008 by Bill Kendrick and others; see AUTHORS.txt
|
Copyright (c) 2013-2021 by Lukasz Dmitrowski
|
||||||
bill@newbreedsoftware.com
|
|
||||||
http://www.tuxpaint.org/
|
|
||||||
|
|
||||||
Copyright (c) 2013 by Lukasz Dmitrowski
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -26,6 +22,8 @@
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
(See COPYING.txt)
|
(See COPYING.txt)
|
||||||
|
|
||||||
|
Last updated: September 21, 2021
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
@ -41,6 +39,7 @@ int xor_init(magic_api * api);
|
||||||
int xor_get_tool_count(magic_api * api);
|
int xor_get_tool_count(magic_api * api);
|
||||||
SDL_Surface *xor_get_icon(magic_api * api, int which);
|
SDL_Surface *xor_get_icon(magic_api * api, int which);
|
||||||
char *xor_get_name(magic_api * api, int which);
|
char *xor_get_name(magic_api * api, int which);
|
||||||
|
int xor_get_group(magic_api * api, int which);
|
||||||
char *xor_get_description(magic_api * api, int which, int mode);
|
char *xor_get_description(magic_api * api, int which, int mode);
|
||||||
|
|
||||||
void xor_drag(magic_api * api, int which, SDL_Surface * canvas,
|
void xor_drag(magic_api * api, int which, SDL_Surface * canvas,
|
||||||
|
|
@ -93,6 +92,11 @@ char *xor_get_name(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
return (strdup(gettext_noop("Xor Colors")));
|
return (strdup(gettext_noop("Xor Colors")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int xor_get_group(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
return MAGIC_TYPE_COLOR_FILTERS;
|
||||||
|
}
|
||||||
|
|
||||||
char *xor_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode)
|
char *xor_get_description(magic_api * api ATTRIBUTE_UNUSED, int which ATTRIBUTE_UNUSED, int mode)
|
||||||
{
|
{
|
||||||
if (mode == MODE_PAINT)
|
if (mode == MODE_PAINT)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue