From 777d2c318a91cc271d5f97116d035d4b3aa7795a Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Mon, 22 Mar 2010 18:30:44 +0000 Subject: [PATCH] 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 --- src/palette.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/palette.c b/src/palette.c index a4fe9c04..227f4788 100644 --- a/src/palette.c +++ b/src/palette.c @@ -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->PositionPosition)++; 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->PositionPosition)++; 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); } }