From 145c9545e7d54d5934ce036e4392b297b3796a78 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Sun, 11 Mar 2012 16:50:28 +0000 Subject: [PATCH] Fix the 'FX' button that didn't refresh its state when swapping pages between an image with Tilemap ON (button should be highlighted) and an image with Tilemap OFF (button not highlighted) git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1928 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- src/buttons.c | 11 +++++++++-- src/buttons.h | 2 ++ src/engine.c | 3 +-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/buttons.c b/src/buttons.c index 49d51c04..7fc52776 100644 --- a/src/buttons.c +++ b/src/buttons.c @@ -1498,7 +1498,7 @@ void Button_Skins(void) state|=Main_magnifier_mode; break; case BUTTON_EFFECTS: - state|=(Shade_mode||Quick_shade_mode||Colorize_mode||Smooth_mode||Tiling_mode||Smear_mode||Stencil_mode||Mask_mode||Sieve_mode||Snap_mode); + state|=Any_effect_active(); break; } Draw_menu_button(button,state); @@ -1592,6 +1592,8 @@ void Button_Page(void) Display_all_screen(); Unselect_button(BUTTON_PAGE); Draw_menu_button(BUTTON_MAGNIFIER,Main_magnifier_mode); + // Tilemap mode might be different + Draw_menu_button(BUTTON_EFFECTS,Any_effect_active()); Display_menu(); Display_cursor(); @@ -4815,7 +4817,7 @@ void Button_Effects(void) else Hide_cursor(); - if (!(Shade_mode||Quick_shade_mode||Colorize_mode||Smooth_mode||Tiling_mode||Smear_mode||Stencil_mode||Mask_mode||Sieve_mode||Snap_mode||Main_tilemap_mode)) + if (!Any_effect_active()) Unselect_button(BUTTON_EFFECTS); Display_cursor(); @@ -5527,3 +5529,8 @@ void Button_Brush_container(void) //Unselect_button(BUTTON_PAINTBRUSHES); Display_cursor(); } + +byte Any_effect_active(void) +{ + return Shade_mode||Quick_shade_mode||Colorize_mode||Smooth_mode||Tiling_mode||Smear_mode||Stencil_mode||Mask_mode||Sieve_mode||Snap_mode||Main_tilemap_mode; +} \ No newline at end of file diff --git a/src/buttons.h b/src/buttons.h index 6562b909..ac1b7c3b 100644 --- a/src/buttons.h +++ b/src/buttons.h @@ -680,5 +680,7 @@ byte Store_paintbrush(int index); void Select_paintbrush(int index); +byte Any_effect_active(void); + #endif diff --git a/src/engine.c b/src/engine.c index 2488a72d..8c8cbfe0 100644 --- a/src/engine.c +++ b/src/engine.c @@ -1327,8 +1327,7 @@ void Main_handler(void) if (effect_modified) { Hide_cursor(); - Draw_menu_button(BUTTON_EFFECTS, - (Shade_mode||Quick_shade_mode||Colorize_mode||Smooth_mode||Tiling_mode||Smear_mode||Stencil_mode||Mask_mode||Sieve_mode||Snap_mode)); + Draw_menu_button(BUTTON_EFFECTS, Any_effect_active()); Display_cursor(); } }