Frame around BGcolor in menu palette: Now handles the case where the same color is FG and BG color
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@797 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
402df48b7f
commit
8f9dd6a68e
24
buttons.c
24
buttons.c
@ -284,10 +284,7 @@ void Button_Select_forecolor(void)
|
||||
else if (color!=-1)
|
||||
{
|
||||
Hide_cursor();
|
||||
Frame_menu_color(Fore_color, MC_Black);
|
||||
Fore_color=color;
|
||||
Frame_menu_color(Fore_color, MC_White);
|
||||
Display_foreback();
|
||||
Set_fore_color(color);
|
||||
Display_cursor();
|
||||
}
|
||||
}
|
||||
@ -300,10 +297,7 @@ void Button_Select_backcolor(void)
|
||||
if (color!=-1)
|
||||
{
|
||||
Hide_cursor();
|
||||
Frame_menu_color(Back_color, MC_Black);
|
||||
Back_color=color;
|
||||
Frame_menu_color(Back_color, MC_Dark);
|
||||
Display_foreback();
|
||||
Set_back_color(color);
|
||||
Display_cursor();
|
||||
}
|
||||
}
|
||||
@ -2918,23 +2912,17 @@ void Button_Invert_foreback(void)
|
||||
{
|
||||
byte temp_color;
|
||||
|
||||
Hide_cursor();
|
||||
|
||||
Frame_menu_color(Fore_color, MC_Dark);
|
||||
Frame_menu_color(Back_color, MC_White);
|
||||
|
||||
temp_color=Fore_color;
|
||||
Fore_color =Back_color;
|
||||
Back_color =temp_color;
|
||||
|
||||
Hide_cursor();
|
||||
Frame_menu_color(Back_color);
|
||||
Frame_menu_color(Fore_color);
|
||||
Reposition_palette();
|
||||
|
||||
//Frame_menu_color(MC_Black);
|
||||
|
||||
Display_foreback();
|
||||
Unselect_button(BUTTON_COLORPICKER);
|
||||
|
||||
Display_cursor();
|
||||
Display_cursor();
|
||||
}
|
||||
|
||||
|
||||
|
||||
33
operatio.c
33
operatio.c
@ -1412,18 +1412,11 @@ void Colorpicker_12_0(void)
|
||||
|
||||
if (Mouse_K==LEFT_SIDE)
|
||||
{
|
||||
Frame_menu_color(Fore_color, MC_Black);
|
||||
Fore_color=Colorpicker_color;
|
||||
Reposition_palette();
|
||||
Display_foreback();
|
||||
Frame_menu_color(Fore_color, MC_White);
|
||||
Set_fore_color(Colorpicker_color);
|
||||
}
|
||||
else
|
||||
{
|
||||
Frame_menu_color(Back_color, MC_Black);
|
||||
Back_color=Colorpicker_color;
|
||||
Display_foreback();
|
||||
Frame_menu_color(Back_color, MC_Dark);
|
||||
Set_back_color(Colorpicker_color);
|
||||
}
|
||||
Operation_push(Mouse_K);
|
||||
}
|
||||
@ -1456,11 +1449,7 @@ void Colorpicker_1_1(void)
|
||||
|
||||
if (Colorpicker_color!=Fore_color)
|
||||
{
|
||||
Frame_menu_color(Fore_color, MC_Black);
|
||||
Fore_color=Colorpicker_color;
|
||||
Reposition_palette();
|
||||
Display_foreback();
|
||||
Frame_menu_color(Fore_color, MC_White);
|
||||
Set_fore_color(Colorpicker_color);
|
||||
}
|
||||
|
||||
if (Menu_is_visible)
|
||||
@ -1502,10 +1491,7 @@ void Colorpicker_2_1(void)
|
||||
|
||||
if (Colorpicker_color!=Back_color)
|
||||
{
|
||||
Frame_menu_color(Back_color, MC_Black);
|
||||
Back_color=Colorpicker_color;
|
||||
Display_foreback();
|
||||
Frame_menu_color(Back_color, MC_Dark);
|
||||
Set_back_color(Colorpicker_color);
|
||||
}
|
||||
|
||||
if (Menu_is_visible)
|
||||
@ -1535,18 +1521,11 @@ void Colorpicker_0_1(void)
|
||||
Operation_pop(&click);
|
||||
if (click==LEFT_SIDE)
|
||||
{
|
||||
Frame_menu_color(Fore_color, MC_Black);
|
||||
Fore_color=Colorpicker_color;
|
||||
Reposition_palette();
|
||||
Display_foreback();
|
||||
Frame_menu_color(Fore_color, MC_White);
|
||||
Set_fore_color(Colorpicker_color);
|
||||
}
|
||||
else
|
||||
{
|
||||
Frame_menu_color(Back_color, MC_Black);
|
||||
Back_color=Colorpicker_color;
|
||||
Display_foreback();
|
||||
Frame_menu_color(Back_color, MC_Dark);
|
||||
Set_back_color(Colorpicker_color);
|
||||
}
|
||||
Unselect_button(BUTTON_COLORPICKER);
|
||||
}
|
||||
|
||||
56
special.c
56
special.c
@ -216,14 +216,7 @@ void Bigger_paintbrush(void)
|
||||
void Special_next_forecolor(void)
|
||||
{
|
||||
Hide_cursor();
|
||||
Frame_menu_color(Fore_color, MC_Black);
|
||||
|
||||
Fore_color++;
|
||||
|
||||
Reposition_palette();
|
||||
Display_foreback();
|
||||
|
||||
Frame_menu_color(Fore_color, MC_White);
|
||||
Set_fore_color(Fore_color+1);
|
||||
Display_cursor();
|
||||
}
|
||||
|
||||
@ -231,14 +224,7 @@ void Special_next_forecolor(void)
|
||||
void Special_previous_forecolor(void)
|
||||
{
|
||||
Hide_cursor();
|
||||
Frame_menu_color(Fore_color, MC_Black);
|
||||
|
||||
Fore_color--;
|
||||
|
||||
Reposition_palette();
|
||||
Display_foreback();
|
||||
|
||||
Frame_menu_color(Fore_color, MC_White);
|
||||
Set_fore_color(Fore_color-1);
|
||||
Display_cursor();
|
||||
}
|
||||
|
||||
@ -246,10 +232,7 @@ void Special_previous_forecolor(void)
|
||||
void Special_next_backcolor(void)
|
||||
{
|
||||
Hide_cursor();
|
||||
Frame_menu_color(Back_color, MC_Black);
|
||||
Back_color++;
|
||||
Frame_menu_color(Back_color, MC_Dark);
|
||||
Display_foreback();
|
||||
Set_back_color(Back_color+1);
|
||||
Display_cursor();
|
||||
}
|
||||
|
||||
@ -257,10 +240,7 @@ void Special_next_backcolor(void)
|
||||
void Special_previous_backcolor(void)
|
||||
{
|
||||
Hide_cursor();
|
||||
Frame_menu_color(Back_color, MC_Black);
|
||||
Back_color--;
|
||||
Frame_menu_color(Back_color, MC_Dark);
|
||||
Display_foreback();
|
||||
Set_back_color(Back_color-1);
|
||||
Display_cursor();
|
||||
}
|
||||
|
||||
@ -268,14 +248,7 @@ void Special_previous_backcolor(void)
|
||||
void Special_next_user_forecolor(void)
|
||||
{
|
||||
Hide_cursor();
|
||||
Frame_menu_color(Fore_color, MC_Black);
|
||||
|
||||
Fore_color=Shade_table_left[Fore_color];
|
||||
|
||||
Reposition_palette();
|
||||
Display_foreback();
|
||||
|
||||
Frame_menu_color(Fore_color, MC_White);
|
||||
Set_fore_color(Shade_table_left[Fore_color]);
|
||||
Display_cursor();
|
||||
}
|
||||
|
||||
@ -283,14 +256,7 @@ void Special_next_user_forecolor(void)
|
||||
void Special_previous_user_forecolor(void)
|
||||
{
|
||||
Hide_cursor();
|
||||
Frame_menu_color(Fore_color, MC_Black);
|
||||
|
||||
Fore_color=Shade_table_right[Fore_color];
|
||||
|
||||
Reposition_palette();
|
||||
Display_foreback();
|
||||
|
||||
Frame_menu_color(Fore_color, MC_White);
|
||||
Set_fore_color(Shade_table_right[Fore_color]);
|
||||
Display_cursor();
|
||||
}
|
||||
|
||||
@ -298,10 +264,7 @@ void Special_previous_user_forecolor(void)
|
||||
void Special_next_user_backcolor(void)
|
||||
{
|
||||
Hide_cursor();
|
||||
Frame_menu_color(Back_color, MC_Black);
|
||||
Back_color=Shade_table_left[Back_color];
|
||||
Display_foreback();
|
||||
Frame_menu_color(Back_color, MC_Dark);
|
||||
Set_back_color(Shade_table_left[Back_color]);
|
||||
Display_cursor();
|
||||
}
|
||||
|
||||
@ -309,10 +272,7 @@ void Special_next_user_backcolor(void)
|
||||
void Special_previous_user_backcolor(void)
|
||||
{
|
||||
Hide_cursor();
|
||||
Frame_menu_color(Back_color, MC_Black);
|
||||
Back_color=Shade_table_right[Back_color];
|
||||
Display_foreback();
|
||||
Frame_menu_color(Back_color, MC_Dark);
|
||||
Set_back_color(Shade_table_right[Back_color]);
|
||||
Display_cursor();
|
||||
}
|
||||
|
||||
|
||||
36
windows.c
36
windows.c
@ -185,16 +185,44 @@ word Palette_cell_Y(byte index)
|
||||
}
|
||||
}
|
||||
|
||||
void Set_fore_color(byte color)
|
||||
{
|
||||
byte old_fore_color = Fore_color;
|
||||
|
||||
Fore_color=color;
|
||||
Reposition_palette();
|
||||
Display_foreback();
|
||||
Frame_menu_color(old_fore_color);
|
||||
Frame_menu_color(Fore_color);
|
||||
}
|
||||
|
||||
void Set_back_color(byte color)
|
||||
{
|
||||
byte old_back_color = Back_color;
|
||||
|
||||
Back_color=color;
|
||||
Display_foreback();
|
||||
Frame_menu_color(old_back_color);
|
||||
Frame_menu_color(Back_color);
|
||||
}
|
||||
|
||||
///
|
||||
/// Redraw the cell in the menu palette for ::Fore_color.
|
||||
/// This function checks bounds, it won't draw anything if Fore_color is not visible.
|
||||
/// @param color: Pass MC_White to mark the color with a frame, MC_Black to unmark it.
|
||||
/// @param id:Color number to frame
|
||||
void Frame_menu_color(byte id, byte color)
|
||||
void Frame_menu_color(byte id)
|
||||
{
|
||||
word start_x,start_y,end_x,end_y;
|
||||
word index;
|
||||
word cell_height=32/Menu_cells_Y;
|
||||
byte color;
|
||||
|
||||
if (id==Fore_color)
|
||||
color = MC_White;
|
||||
else if (id==Back_color)
|
||||
color = MC_Dark;
|
||||
else
|
||||
color = MC_Black;
|
||||
|
||||
if ((id>=First_color_in_palette) && (id<First_color_in_palette+Menu_cells_X*Menu_cells_Y) && (Menu_is_visible))
|
||||
{
|
||||
@ -282,8 +310,8 @@ void Display_menu_palette(void)
|
||||
cell_height*Menu_factor_Y,
|
||||
color);
|
||||
|
||||
Frame_menu_color(Fore_color, MC_White);
|
||||
Frame_menu_color(Back_color, MC_Dark);
|
||||
Frame_menu_color(Back_color);
|
||||
Frame_menu_color(Fore_color);
|
||||
Update_rect(MENU_WIDTH*Menu_factor_X,Menu_Y,Screen_width-(MENU_WIDTH*Menu_factor_X),(MENU_HEIGHT-9)*Menu_factor_Y);
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,7 +48,9 @@ void Compute_paintbrush_coordinates(void);
|
||||
|
||||
void Pixel_in_toolbar(word x,word y,byte color);
|
||||
void Pixel_in_window(word x,word y,byte color);
|
||||
void Frame_menu_color(byte id, byte color);
|
||||
void Set_fore_color(byte color);
|
||||
void Set_back_color(byte color);
|
||||
void Frame_menu_color(byte id);
|
||||
void Display_menu_palette(void);
|
||||
void Display_menu(void);
|
||||
void Reposition_palette(void);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user