Magic tool pagination now possible
This commit is contained in:
parent
901230c710
commit
e3d1f85ac9
2 changed files with 85 additions and 36 deletions
|
|
@ -8,7 +8,7 @@ http://www.tuxpaint.org/
|
||||||
|
|
||||||
$Id$
|
$Id$
|
||||||
|
|
||||||
2021.September.22 (0.9.27)
|
2021.September.23 (0.9.27)
|
||||||
* New Magic Tools:
|
* New Magic Tools:
|
||||||
----------------
|
----------------
|
||||||
* "Opposite" -- Change parts of the picture to their complementary
|
* "Opposite" -- Change parts of the picture to their complementary
|
||||||
|
|
@ -39,8 +39,15 @@ $Id$
|
||||||
|
|
||||||
* Other Improvements:
|
* Other Improvements:
|
||||||
-------------------
|
-------------------
|
||||||
* WIP - Group Magic tools into sub-sections.
|
* Grouped similar Magic tools into sections.
|
||||||
(Closes https://sourceforge.net/p/tuxpaint/feature-requests/201/)
|
(e.g., all of the distortions, versus painting tools, versus
|
||||||
|
full-image effects, etc.)
|
||||||
|
|
||||||
|
Use the left/right pagination buttons that now appear at the
|
||||||
|
bottom of the selector (similar to those used with Stamps tool)
|
||||||
|
to switch between groups.
|
||||||
|
|
||||||
|
Closes https://sourceforge.net/p/tuxpaint/feature-requests/201/
|
||||||
Note: Bumps `TP_MAGIC_API_VERSION` to 0x00000005.
|
Note: Bumps `TP_MAGIC_API_VERSION` to 0x00000005.
|
||||||
|
|
||||||
* Rotational brushes now supported. Unlike "directional"
|
* Rotational brushes now supported. Unlike "directional"
|
||||||
|
|
|
||||||
106
src/tuxpaint.c
106
src/tuxpaint.c
|
|
@ -22,7 +22,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)
|
||||||
|
|
||||||
June 14, 2002 - September 20, 2021
|
June 14, 2002 - September 23, 2021
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
@ -3818,44 +3818,86 @@ static void mainloop(void)
|
||||||
grp = magic_group;
|
grp = magic_group;
|
||||||
cur = cur_magic[grp];
|
cur = cur_magic[grp];
|
||||||
|
|
||||||
/* Magic pagination */
|
|
||||||
if (which == 0 || which == 1)
|
if (which == 0 || which == 1)
|
||||||
printf("FIXME: Paginate!\n");
|
{
|
||||||
|
int tries = 0;
|
||||||
|
|
||||||
|
/* Magic pagination */
|
||||||
|
do
|
||||||
|
{
|
||||||
|
tries++;
|
||||||
|
|
||||||
|
if (which == 0)
|
||||||
|
{
|
||||||
|
magic_group--;
|
||||||
|
if (magic_group < 0)
|
||||||
|
magic_group = MAX_MAGIC_GROUPS - 1;
|
||||||
|
}
|
||||||
|
else if (which == 1)
|
||||||
|
{
|
||||||
|
magic_group++;
|
||||||
|
if (magic_group >= MAX_MAGIC_GROUPS)
|
||||||
|
magic_group = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (num_magics[magic_group] == 0 && tries < MAX_MAGIC_GROUPS);
|
||||||
|
|
||||||
|
keybd_flag = 0;
|
||||||
|
cur_thing = cur_magic[magic_group];
|
||||||
|
num_things = num_magics[magic_group];
|
||||||
|
thing_scroll = &(magic_scroll[magic_group]);
|
||||||
|
magic_current_snd_ptr = NULL;
|
||||||
|
|
||||||
/* Magic controls! */
|
|
||||||
if (which == 3 && magics[grp][cur].avail_modes & MODE_FULLSCREEN)
|
|
||||||
{
|
|
||||||
magic_switchout(canvas);
|
|
||||||
magics[grp][cur].mode = MODE_FULLSCREEN;
|
|
||||||
magic_switchin(canvas);
|
|
||||||
draw_magic();
|
draw_magic();
|
||||||
update_screen_rect(&r_toolopt);
|
update_screen_rect(&r_toolopt);
|
||||||
|
|
||||||
|
draw_colors(magics[magic_group][cur_thing].colors);
|
||||||
|
|
||||||
|
if (magics[magic_group][cur_thing].colors)
|
||||||
|
magic_funcs[magics[magic_group][cur_thing].handle_idx].set_color(magic_api_struct,
|
||||||
|
color_hexes[cur_color][0],
|
||||||
|
color_hexes[cur_color][1],
|
||||||
|
color_hexes[cur_color][2]);
|
||||||
|
|
||||||
|
playsound(screen, 0, SND_CLICK, 0, SNDPOS_CENTER, SNDDIST_NEAR);
|
||||||
}
|
}
|
||||||
else if (which == 2 && magics[grp][cur].avail_modes & MODE_PAINT)
|
else
|
||||||
{
|
{
|
||||||
magic_switchout(canvas);
|
/* Magic controls! */
|
||||||
magics[grp][cur].mode = MODE_PAINT;
|
if (which == 3 && magics[grp][cur].avail_modes & MODE_FULLSCREEN)
|
||||||
magic_switchin(canvas);
|
{
|
||||||
draw_magic();
|
magic_switchout(canvas);
|
||||||
update_screen_rect(&r_toolopt);
|
magics[grp][cur].mode = MODE_FULLSCREEN;
|
||||||
|
magic_switchin(canvas);
|
||||||
|
draw_magic();
|
||||||
|
update_screen_rect(&r_toolopt);
|
||||||
|
}
|
||||||
|
else if (which == 2 && magics[grp][cur].avail_modes & MODE_PAINT)
|
||||||
|
{
|
||||||
|
magic_switchout(canvas);
|
||||||
|
magics[grp][cur].mode = MODE_PAINT;
|
||||||
|
magic_switchin(canvas);
|
||||||
|
draw_magic();
|
||||||
|
update_screen_rect(&r_toolopt);
|
||||||
|
}
|
||||||
|
else if (which == 2 && magics[grp][cur].avail_modes & MODE_PAINT_WITH_PREVIEW)
|
||||||
|
{
|
||||||
|
magic_switchout(canvas);
|
||||||
|
magics[grp][cur].mode = MODE_PAINT_WITH_PREVIEW;
|
||||||
|
magic_switchin(canvas);
|
||||||
|
draw_magic();
|
||||||
|
update_screen_rect(&r_toolopt);
|
||||||
|
}
|
||||||
|
else if (which == 2 && magics[grp][cur].avail_modes & MODE_ONECLICK)
|
||||||
|
{
|
||||||
|
magic_switchout(canvas);
|
||||||
|
magics[grp][cur].mode = MODE_ONECLICK;
|
||||||
|
magic_switchin(canvas);
|
||||||
|
draw_magic();
|
||||||
|
update_screen_rect(&r_toolopt);
|
||||||
|
}
|
||||||
|
/* FIXME: Sfx */
|
||||||
}
|
}
|
||||||
else if (which == 2 && magics[grp][cur].avail_modes & MODE_PAINT_WITH_PREVIEW)
|
|
||||||
{
|
|
||||||
magic_switchout(canvas);
|
|
||||||
magics[grp][cur].mode = MODE_PAINT_WITH_PREVIEW;
|
|
||||||
magic_switchin(canvas);
|
|
||||||
draw_magic();
|
|
||||||
update_screen_rect(&r_toolopt);
|
|
||||||
}
|
|
||||||
else if (which == 2 && magics[grp][cur].avail_modes & MODE_ONECLICK)
|
|
||||||
{
|
|
||||||
magic_switchout(canvas);
|
|
||||||
magics[grp][cur].mode = MODE_ONECLICK;
|
|
||||||
magic_switchin(canvas);
|
|
||||||
draw_magic();
|
|
||||||
update_screen_rect(&r_toolopt);
|
|
||||||
}
|
|
||||||
/* FIXME: Sfx */
|
|
||||||
}
|
}
|
||||||
else if (cur_tool == TOOL_SHAPES)
|
else if (cur_tool == TOOL_SHAPES)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue