Gradient menu: palette now resets when you release speed slider, this fixes bad menu colors when they are in the shift. Lua: messagebox() and inputbox() now recompute menu colors before opening, this fixes bad menu colors if the script had altered the palette earlier.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1602 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
9f47e427c7
commit
a61bb9893c
@ -2607,7 +2607,11 @@ void Button_Gradients(void)
|
|||||||
|
|
||||||
clicked_button=Window_clicked_button();
|
clicked_button=Window_clicked_button();
|
||||||
if (Input_sticky_control!=8 || !Mouse_K)
|
if (Input_sticky_control!=8 || !Mouse_K)
|
||||||
|
{
|
||||||
Allow_colorcycling=0;
|
Allow_colorcycling=0;
|
||||||
|
// Restore palette
|
||||||
|
Set_palette(Main_palette);
|
||||||
|
}
|
||||||
|
|
||||||
switch(clicked_button)
|
switch(clicked_button)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -121,7 +121,17 @@ do { \
|
|||||||
return luaL_error(L, "%s: Expected %d arguments, but found %d.", func_name, (num), nb_args); \
|
return luaL_error(L, "%s: Expected %d arguments, but found %d.", func_name, (num), nb_args); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
|
// Updates the screen colors after a running screen has modified the palette.
|
||||||
|
void Update_colors_during_script(void)
|
||||||
|
{
|
||||||
|
if (Palette_has_changed)
|
||||||
|
{
|
||||||
|
Set_palette(Main_palette);
|
||||||
|
Compute_optimal_menu_colors(Main_palette);
|
||||||
|
Display_menu();
|
||||||
|
Palette_has_changed=0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Wrapper functions to call C from Lua
|
// Wrapper functions to call C from Lua
|
||||||
@ -598,6 +608,7 @@ int L_InputBox(lua_State* L)
|
|||||||
if (max_label_length>25)
|
if (max_label_length>25)
|
||||||
max_label_length=25;
|
max_label_length=25;
|
||||||
|
|
||||||
|
Update_colors_during_script();
|
||||||
Open_window(115+max_label_length*8,44+nb_settings*17,window_caption);
|
Open_window(115+max_label_length*8,44+nb_settings*17,window_caption);
|
||||||
|
|
||||||
// Normally this index is unused, but this initialization avoids
|
// Normally this index is unused, but this initialization avoids
|
||||||
@ -795,6 +806,7 @@ int L_MessageBox(lua_State* L)
|
|||||||
return luaL_error(L, "messagebox: Needs one or two arguments.");
|
return luaL_error(L, "messagebox: Needs one or two arguments.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Update_colors_during_script();
|
||||||
Verbose_message(caption, message);
|
Verbose_message(caption, message);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1042,6 +1054,9 @@ void Run_script(char *scriptdir)
|
|||||||
{
|
{
|
||||||
int stack_size;
|
int stack_size;
|
||||||
stack_size= lua_gettop(L);
|
stack_size= lua_gettop(L);
|
||||||
|
|
||||||
|
Update_colors_during_script();
|
||||||
|
|
||||||
if (stack_size>0 && (message = lua_tostring(L, stack_size))!=NULL)
|
if (stack_size>0 && (message = lua_tostring(L, stack_size))!=NULL)
|
||||||
Verbose_message("Error running script", message);
|
Verbose_message("Error running script", message);
|
||||||
else
|
else
|
||||||
@ -1051,12 +1066,7 @@ void Run_script(char *scriptdir)
|
|||||||
// Cleanup
|
// Cleanup
|
||||||
free(Brush_backup);
|
free(Brush_backup);
|
||||||
Brush_backup=NULL;
|
Brush_backup=NULL;
|
||||||
if (Palette_has_changed)
|
Update_colors_during_script();
|
||||||
{
|
|
||||||
Set_palette(Main_palette);
|
|
||||||
Compute_optimal_menu_colors(Main_palette);
|
|
||||||
Display_menu();
|
|
||||||
}
|
|
||||||
End_of_modification();
|
End_of_modification();
|
||||||
|
|
||||||
lua_close(L);
|
lua_close(L);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user