Dividing by 256 works much better when working on integers. This avoids weird stuff happening to the sliders indicators in the palette screen...

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1406 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Adrien Destugues 2010-03-22 18:30:44 +00:00
parent 65de99f8bc
commit 777d2c318a

View File

@ -694,11 +694,11 @@ void Display_sliders(T_Scroller_button * red_slider,
RGB_to_HSL(j1,j2,j3,&j1,&j2,&j3);
}
Format_componant(j1*Color_max/255,str);
Format_componant(j1*Color_count/256,str);
Set_palette_slider(red_slider,Color_count,Color_max-j1*Color_max/255,str,176);
Format_componant(j2*Color_max/255,str);
Format_componant(j2*Color_count/256,str);
Set_palette_slider(green_slider,Color_count,Color_max-j2*Color_max/255,str,203);
Format_componant(j3*Color_max/255,str);
Format_componant(j3*Color_count/256,str);
Set_palette_slider(blue_slider,Color_count,Color_max-j3*Color_max/255,str,230);
}
}
@ -740,17 +740,18 @@ void Draw_all_palette_sliders(T_Scroller_button * red_slider,
{
RGB_to_HSL(j1,j2,j3,&j1,&j2,&j3);
}
Format_componant(j1*Color_max/255,str);
DEBUG("j1",j1);
Format_componant(j1*Color_count/256,str);
red_slider->Position=Color_max-j1*Color_max/255;
Window_draw_slider(red_slider);
Print_counter(176,172,str,MC_Black,MC_Light);
Format_componant(j2*Color_max/255,str);
Format_componant(j2*Color_count/256,str);
green_slider->Position=Color_max-j2*Color_max/255;
Window_draw_slider(green_slider);
Print_counter(203,172,str,MC_Black,MC_Light);
Format_componant(j3*Color_max/255,str);
Format_componant(j3*Color_count/256,str);
blue_slider->Position=Color_max-j3*Color_max/255;
Window_draw_slider(blue_slider);
Print_counter(230,172,str,MC_Black,MC_Light);
@ -1078,7 +1079,7 @@ void Button_Palette(void)
if(Palette_view_is_RGB)
{
Set_red(Fore_color,(Color_max-red_slider->Position)*255/Color_max,working_palette);
Format_componant(working_palette[Fore_color].R*Color_max/255,str);
Format_componant((working_palette[Fore_color].R)*Color_count/256,str);
}
else
{
@ -1146,7 +1147,7 @@ void Button_Palette(void)
if(Palette_view_is_RGB)
{
Set_green (Fore_color,(Color_max-green_slider->Position)*255/Color_max,working_palette);
Format_componant(working_palette[Fore_color].G*Color_max/255,str);
Format_componant(working_palette[Fore_color].G*Color_count/256,str);
}
else
{
@ -1214,7 +1215,7 @@ void Button_Palette(void)
if(Palette_view_is_RGB)
{
Set_blue (Fore_color,(Color_max-blue_slider->Position)*255/Color_max,working_palette);
Format_componant(working_palette[Fore_color].B*Color_max/255,str);
Format_componant(working_palette[Fore_color].B*Color_count/256,str);
}
else
{
@ -1565,7 +1566,7 @@ void Button_Palette(void)
(red_slider->Position)--;
Window_draw_slider(red_slider);
Set_red(Fore_color,(Color_max-red_slider->Position)*255/Color_max,working_palette);
Format_componant(working_palette[Fore_color].R*Color_max/255,str);
Format_componant(working_palette[Fore_color].R*Color_count/256,str);
Print_counter(176,172,str,MC_Black,MC_Light);
}
if (green_slider->Position)
@ -1573,7 +1574,7 @@ void Button_Palette(void)
(green_slider->Position)--;
Window_draw_slider(green_slider);
Set_green (Fore_color,(Color_max-green_slider->Position)*255/Color_max,working_palette);
Format_componant(working_palette[Fore_color].G*Color_max/255,str);
Format_componant(working_palette[Fore_color].G*Color_count/256,str);
Print_counter(203,172,str,MC_Black,MC_Light);
}
if (blue_slider->Position)
@ -1581,7 +1582,7 @@ void Button_Palette(void)
(blue_slider->Position)--;
Window_draw_slider(blue_slider);
Set_blue (Fore_color,(Color_max-blue_slider->Position)*255/Color_max,working_palette);
Format_componant(working_palette[Fore_color].B*Color_max/255,str);
Format_componant(working_palette[Fore_color].B*Color_count/256,str);
Print_counter(230,172,str,MC_Black,MC_Light);
}
}
@ -1690,7 +1691,7 @@ void Button_Palette(void)
(red_slider->Position)++;
Window_draw_slider(red_slider);
Set_red(Fore_color,(Color_max-red_slider->Position)*255/Color_max,working_palette);
Format_componant(working_palette[Fore_color].R*Color_max/255,str);
Format_componant(working_palette[Fore_color].R*Color_count/256,str);
Print_counter(176,172,str,MC_Black,MC_Light);
}
if (green_slider->Position<Color_max)
@ -1698,7 +1699,7 @@ void Button_Palette(void)
(green_slider->Position)++;
Window_draw_slider(green_slider);
Set_green (Fore_color,(Color_max-green_slider->Position)*255/Color_max,working_palette);
Format_componant(working_palette[Fore_color].G*Color_max/255,str);
Format_componant(working_palette[Fore_color].G*Color_count/256,str);
Print_counter(203,172,str,MC_Black,MC_Light);
}
if (blue_slider->Position<Color_max)
@ -1706,7 +1707,7 @@ void Button_Palette(void)
(blue_slider->Position)++;
Window_draw_slider(blue_slider);
Set_blue (Fore_color,(Color_max-blue_slider->Position)*255/Color_max,working_palette);
Format_componant(working_palette[Fore_color].B*Color_max/255,str);
Format_componant(working_palette[Fore_color].B*Color_count/256,str);
Print_counter(230,172,str,MC_Black,MC_Light);
}
}