Fix a mouse cursor that appeared on palette screen when opening palette

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1130 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud 2009-11-01 00:17:48 +00:00
parent 1582d9e6d9
commit 373e39abe8

222
palette.c
View File

@ -801,46 +801,46 @@ void Button_Palette(void)
// Graduation des jauges de couleur // Graduation des jauges de couleur
Block(Window_pos_X + (Menu_factor_X * 179), Block(Window_pos_X + (Menu_factor_X * 179),
Window_pos_Y + (Menu_factor_Y * 109), Menu_factor_X * 17, Menu_factor_Y, Window_pos_Y + (Menu_factor_Y * 109), Menu_factor_X * 17, Menu_factor_Y,
MC_Dark); MC_Dark);
Block(Window_pos_X + (Menu_factor_X * 206), Block(Window_pos_X + (Menu_factor_X * 206),
Window_pos_Y + (Menu_factor_Y * 109), Menu_factor_X * 17, Menu_factor_Y, Window_pos_Y + (Menu_factor_Y * 109), Menu_factor_X * 17, Menu_factor_Y,
MC_Dark); MC_Dark);
Block(Window_pos_X + (Menu_factor_X * 233), Block(Window_pos_X + (Menu_factor_X * 233),
Window_pos_Y + (Menu_factor_Y * 109), Menu_factor_X * 17, Menu_factor_Y, Window_pos_Y + (Menu_factor_Y * 109), Menu_factor_X * 17, Menu_factor_Y,
MC_Dark); MC_Dark);
Block(Window_pos_X + (Menu_factor_X * 179), Block(Window_pos_X + (Menu_factor_X * 179),
Window_pos_Y + (Menu_factor_Y * 125), Menu_factor_X * 17, Menu_factor_Y, Window_pos_Y + (Menu_factor_Y * 125), Menu_factor_X * 17, Menu_factor_Y,
MC_Dark); MC_Dark);
Block(Window_pos_X + (Menu_factor_X * 206), Block(Window_pos_X + (Menu_factor_X * 206),
Window_pos_Y + (Menu_factor_Y * 125), Menu_factor_X * 17, Menu_factor_Y, Window_pos_Y + (Menu_factor_Y * 125), Menu_factor_X * 17, Menu_factor_Y,
MC_Dark); MC_Dark);
Block(Window_pos_X + (Menu_factor_X * 233), Block(Window_pos_X + (Menu_factor_X * 233),
Window_pos_Y + (Menu_factor_Y * 125), Menu_factor_X * 17, Menu_factor_Y, Window_pos_Y + (Menu_factor_Y * 125), Menu_factor_X * 17, Menu_factor_Y,
MC_Dark); MC_Dark);
Block(Window_pos_X + (Menu_factor_X * 179), Block(Window_pos_X + (Menu_factor_X * 179),
Window_pos_Y + (Menu_factor_Y * 141), Menu_factor_X * 17, Menu_factor_Y, Window_pos_Y + (Menu_factor_Y * 141), Menu_factor_X * 17, Menu_factor_Y,
MC_Dark); MC_Dark);
Block(Window_pos_X + (Menu_factor_X * 206), Block(Window_pos_X + (Menu_factor_X * 206),
Window_pos_Y + (Menu_factor_Y * 141), Menu_factor_X * 17, Menu_factor_Y, Window_pos_Y + (Menu_factor_Y * 141), Menu_factor_X * 17, Menu_factor_Y,
MC_Dark); MC_Dark);
Block(Window_pos_X + (Menu_factor_X * 233), Block(Window_pos_X + (Menu_factor_X * 233),
Window_pos_Y + (Menu_factor_Y * 141), Menu_factor_X * 17, Menu_factor_Y, Window_pos_Y + (Menu_factor_Y * 141), Menu_factor_X * 17, Menu_factor_Y,
MC_Dark); MC_Dark);
// Jauges de couleur // Jauges de couleur
red_slider = Window_set_scroller_button(182, 81, 88,Color_count,1,Color_max-working_palette[Fore_color].R*Color_max/255);// 2 red_slider = Window_set_scroller_button(182, 81, 88,Color_count,1,Color_max-working_palette[Fore_color].R*Color_max/255);// 2
green_slider = Window_set_scroller_button(209, 81, 88,Color_count,1,Color_max-working_palette[Fore_color].G*Color_max/255);// 3 green_slider = Window_set_scroller_button(209, 81, 88,Color_count,1,Color_max-working_palette[Fore_color].G*Color_max/255);// 3
blue_slider = Window_set_scroller_button(236, 81, 88,Color_count,1,Color_max-working_palette[Fore_color].B*Color_max/255);// 4 blue_slider = Window_set_scroller_button(236, 81, 88,Color_count,1,Color_max-working_palette[Fore_color].B*Color_max/255);// 4
if(Palette_view_is_RGB==1) { if(Palette_view_is_RGB==1) {
Print_in_window(184,71,"R",MC_Dark,MC_Light); Print_in_window(184,71,"R",MC_Dark,MC_Light);
Print_in_window(211,71,"G",MC_Dark,MC_Light); Print_in_window(211,71,"G",MC_Dark,MC_Light);
Print_in_window(238,71,"B",MC_Dark,MC_Light); Print_in_window(238,71,"B",MC_Dark,MC_Light);
Componant_unit(RGB_scale); Componant_unit(RGB_scale);
} else { } else {
Print_in_window(184,71,"H",MC_Dark,MC_Light); Print_in_window(184,71,"H",MC_Dark,MC_Light);
Print_in_window(211,71,"S",MC_Dark,MC_Light); Print_in_window(211,71,"S",MC_Dark,MC_Light);
Print_in_window(238,71,"L",MC_Dark,MC_Light); Print_in_window(238,71,"L",MC_Dark,MC_Light);
Componant_unit(256); Componant_unit(256);
} }
@ -866,7 +866,7 @@ void Button_Palette(void)
Window_set_normal_button( 6,32,59,14,"Spread" ,4,1,SDLK_e); // 10 Window_set_normal_button( 6,32,59,14,"Spread" ,4,1,SDLK_e); // 10
reduce_dropdown = Window_set_dropdown_button(222, 17, 60, 14, 60, "Reduce", 0, reduce_dropdown = Window_set_dropdown_button(222, 17, 60, 14, 60, "Reduce", 0,
0, 1, 1); // 11 0, 1, 1); // 11
Window_dropdown_add_item(reduce_dropdown, 0, "to 128"); Window_dropdown_add_item(reduce_dropdown, 0, "to 128");
Window_dropdown_add_item(reduce_dropdown, 1, "to 64"); Window_dropdown_add_item(reduce_dropdown, 1, "to 64");
Window_dropdown_add_item(reduce_dropdown, 2, "to 32"); Window_dropdown_add_item(reduce_dropdown, 2, "to 32");
@ -893,27 +893,27 @@ void Button_Palette(void)
Window_set_normal_button(96,32,29,14,"HSL" ,1,1,SDLK_h); // 22 Window_set_normal_button(96,32,29,14,"HSL" ,1,1,SDLK_h); // 22
Window_set_normal_button(96,47,29,14,"Srt" ,1,1,SDLK_s); // 23 Window_set_normal_button(96,47,29,14,"Srt" ,1,1,SDLK_s); // 23
if (Config.Auto_nb_used)
{
Update_color_count(&used_colors,color_usage);
Num2str(color_usage[Fore_color], str, 6);
Print_in_window(222, 33, str, MC_Black, MC_Light);
Print_in_window(222, 42, "pixels", MC_Dark, MC_Light);
}
// Dessin des petits effets spéciaux pour les boutons [+] et [-] // Dessin des petits effets spéciaux pour les boutons [+] et [-]
Draw_thingumajig(263, 74,MC_White,-1); Draw_thingumajig(263, 74,MC_White,-1);
Draw_thingumajig(280, 74,MC_White,+1); Draw_thingumajig(280, 74,MC_White,+1);
Draw_thingumajig(263,165,MC_Dark,-1); Draw_thingumajig(263,165,MC_Dark,-1);
Draw_thingumajig(280,165,MC_Dark,+1); Draw_thingumajig(280,165,MC_Dark,+1);
Update_window_area(0,0,299,188);
Display_cursor(); Display_cursor();
if (Config.Auto_nb_used)
{
Update_color_count(&used_colors,color_usage);
Hide_cursor();
Print_in_window(222, 42, "pixels", MC_Dark, MC_Light);
Num2str(color_usage[Fore_color], str, 6);
Print_in_window(222, 33, str, MC_Black, MC_Light);
Display_cursor();
}
Update_window_area(0,0,299,188);
do do
{ {
old_mouse_x=Mouse_X; old_mouse_x=Mouse_X;
@ -962,8 +962,8 @@ void Button_Palette(void)
Block(Window_pos_X+(Menu_factor_X*237),Window_pos_Y+(Menu_factor_Y*58),Menu_factor_X*56,Menu_factor_Y*7,MC_Light); Block(Window_pos_X+(Menu_factor_X*237),Window_pos_Y+(Menu_factor_Y*58),Menu_factor_X*56,Menu_factor_Y*7,MC_Light);
Num2str(Fore_color,str,3); Num2str(Fore_color,str,3);
Print_in_window(237,58,str,MC_Black,MC_Light); Print_in_window(237,58,str,MC_Black,MC_Light);
Num2str(color_usage[Fore_color], str, 6); Num2str(color_usage[Fore_color], str, 6);
Print_in_window(222, 33, str, MC_Black, MC_Light); Print_in_window(222, 33, str, MC_Black, MC_Light);
Update_rect(Window_pos_X+(Menu_factor_X*237),Window_pos_Y+(Menu_factor_Y*58),Menu_factor_X*56,Menu_factor_Y*7); Update_rect(Window_pos_X+(Menu_factor_X*237),Window_pos_Y+(Menu_factor_Y*58),Menu_factor_X*56,Menu_factor_Y*7);
// Affichage des jauges // Affichage des jauges
@ -994,13 +994,13 @@ void Button_Palette(void)
Num2str(block_end ,str+4,3); Num2str(block_end ,str+4,3);
str[3]=26; // Flèche vers la droite str[3]=26; // Flèche vers la droite
Print_in_window(237,58,str,MC_Black,MC_Light); Print_in_window(237,58,str,MC_Black,MC_Light);
{ {
int pixel_count = 0; int pixel_count = 0;
for (i = block_start; i <= block_end; i++) for (i = block_start; i <= block_end; i++)
pixel_count += color_usage[i]; pixel_count += color_usage[i];
Num2str(pixel_count, str, 6); Num2str(pixel_count, str, 6);
} }
Print_in_window(222, 33, str, MC_Black, MC_Light); Print_in_window(222, 33, str, MC_Black, MC_Light);
// Affichage des jauges // Affichage des jauges
Display_sliders(red_slider,green_slider,blue_slider,1,NULL); Display_sliders(red_slider,green_slider,blue_slider,1,NULL);
@ -1018,13 +1018,13 @@ void Button_Palette(void)
Num2str(block_end ,str+4,3); Num2str(block_end ,str+4,3);
str[3]=26; // Flèche vers la droite str[3]=26; // Flèche vers la droite
Print_in_window(237,58,str,MC_Black,MC_Light); Print_in_window(237,58,str,MC_Black,MC_Light);
{ {
int pixel_count = 0; int pixel_count = 0;
for (i = block_start; i <= block_end; i++) for (i = block_start; i <= block_end; i++)
pixel_count += color_usage[i]; pixel_count += color_usage[i];
Num2str(pixel_count, str, 6); Num2str(pixel_count, str, 6);
} }
Print_in_window(222, 33, str, MC_Black, MC_Light); Print_in_window(222, 33, str, MC_Black, MC_Light);
// Affichage des jauges // Affichage des jauges
Display_sliders(red_slider,green_slider,blue_slider,1,NULL); Display_sliders(red_slider,green_slider,blue_slider,1,NULL);
@ -1041,8 +1041,8 @@ void Button_Palette(void)
Block(Window_pos_X+(Menu_factor_X*261),Window_pos_Y+(Menu_factor_Y*58),Menu_factor_X*32,Menu_factor_Y*7,MC_Light); Block(Window_pos_X+(Menu_factor_X*261),Window_pos_Y+(Menu_factor_Y*58),Menu_factor_X*32,Menu_factor_Y*7,MC_Light);
Num2str(Fore_color,str,3); Num2str(Fore_color,str,3);
Print_in_window(237,58,str,MC_Black,MC_Light); Print_in_window(237,58,str,MC_Black,MC_Light);
Num2str(Fore_color, str, 6); Num2str(Fore_color, str, 6);
Print_in_window(222, 33, str, MC_Black, MC_Light); Print_in_window(222, 33, str, MC_Black, MC_Light);
// Affichage des jauges // Affichage des jauges
Display_sliders(red_slider,green_slider,blue_slider,0,working_palette); Display_sliders(red_slider,green_slider,blue_slider,0,working_palette);
@ -1439,66 +1439,66 @@ void Button_Palette(void)
case 11: // Reduce case 11: // Reduce
memcpy(backup_palette, working_palette, sizeof(T_Palette)); memcpy(backup_palette, working_palette, sizeof(T_Palette));
switch(Window_attribute2) // Get the dropdown value switch(Window_attribute2) // Get the dropdown value
{ {
case 0: // 128 case 0: // 128
reduce_colors_number = 128; reduce_colors_number = 128;
break; break;
case 1: // 64 case 1: // 64
reduce_colors_number = 64; reduce_colors_number = 64;
break; break;
case 2: // 32 case 2: // 32
reduce_colors_number = 32; reduce_colors_number = 32;
break; break;
case 3: // 16 case 3: // 16
reduce_colors_number = 16; reduce_colors_number = 16;
break; break;
case 4: // 8 case 4: // 8
reduce_colors_number = 8; reduce_colors_number = 8;
break; break;
case 5: // 4 case 5: // 4
reduce_colors_number = 4; reduce_colors_number = 4;
break; break;
case 6: // 2 case 6: // 2
reduce_colors_number = 2; reduce_colors_number = 2;
break; break;
case 7: // other case 7: // other
reduce_colors_number reduce_colors_number
= Requester_window("Enter the max. number of colors", = Requester_window("Enter the max. number of colors",
reduce_colors_number); reduce_colors_number);
if (reduce_colors_number < 2 || reduce_colors_number >= 256) if (reduce_colors_number < 2 || reduce_colors_number >= 256)
reduce_colors_number = -1; reduce_colors_number = -1;
break; break;
} }
if (reduce_colors_number > 0) if (reduce_colors_number > 0)
{ {
if (!image_is_backed_up) if (!image_is_backed_up)
{ {
Backup(); Backup();
image_is_backed_up = 1; image_is_backed_up = 1;
} }
Reduce_palette(&used_colors, reduce_colors_number, working_palette, Reduce_palette(&used_colors, reduce_colors_number, working_palette,
color_usage); color_usage);
if ((Config.Safety_colors) && (used_colors<4)) if ((Config.Safety_colors) && (used_colors<4))
{ {
memcpy(temp_palette, Main_palette, sizeof(T_Palette)); memcpy(temp_palette, Main_palette, sizeof(T_Palette));
memcpy(Main_palette, working_palette, sizeof(T_Palette)); memcpy(Main_palette, working_palette, sizeof(T_Palette));
Set_nice_menu_colors(color_usage, 0); Set_nice_menu_colors(color_usage, 0);
memcpy(working_palette, Main_palette, sizeof(T_Palette)); memcpy(working_palette, Main_palette, sizeof(T_Palette));
memcpy(Main_palette, temp_palette, sizeof(T_Palette)); memcpy(Main_palette, temp_palette, sizeof(T_Palette));
} }
Set_palette(working_palette); // On définit la nouvelle palette Set_palette(working_palette); // On définit la nouvelle palette
Draw_all_palette_sliders(red_slider, green_slider, blue_slider, Draw_all_palette_sliders(red_slider, green_slider, blue_slider,
working_palette, block_start, block_end); working_palette, block_start, block_end);
memcpy(temp_palette, working_palette, sizeof(T_Palette)); memcpy(temp_palette, working_palette, sizeof(T_Palette));
End_of_modification(); End_of_modification();
need_to_remap = 1; need_to_remap = 1;
} }
break; break;
case 12: // Undo case 12: // Undo