Frame the backcolor with a dark dotted line.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@795 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Adrien Destugues 2009-05-10 14:17:13 +00:00
parent 23a72b39ee
commit fc1786a077
5 changed files with 51 additions and 35 deletions

View File

@ -284,9 +284,9 @@ void Button_Select_forecolor(void)
else if (color!=-1)
{
Hide_cursor();
Frame_menu_color(MC_Black);
Frame_menu_color(Fore_color, MC_Black);
Fore_color=color;
Frame_menu_color(MC_White);
Frame_menu_color(Fore_color, MC_White);
Display_foreback();
Display_cursor();
}
@ -300,7 +300,9 @@ 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();
Display_cursor();
}
@ -2918,7 +2920,8 @@ void Button_Invert_foreback(void)
Hide_cursor();
Frame_menu_color(MC_Black);
Frame_menu_color(Fore_color, MC_Dark);
Frame_menu_color(Back_color, MC_White);
temp_color=Fore_color;
Fore_color =Back_color;
@ -2926,7 +2929,7 @@ void Button_Invert_foreback(void)
Reposition_palette();
Frame_menu_color(MC_White);
//Frame_menu_color(MC_Black);
Display_foreback();
Unselect_button(BUTTON_COLORPICKER);

View File

@ -1412,16 +1412,18 @@ void Colorpicker_12_0(void)
if (Mouse_K==LEFT_SIDE)
{
Frame_menu_color(MC_Black);
Frame_menu_color(Fore_color, MC_Black);
Fore_color=Colorpicker_color;
Reposition_palette();
Display_foreback();
Frame_menu_color(MC_White);
Frame_menu_color(Fore_color, MC_White);
}
else
{
Frame_menu_color(Back_color, MC_Black);
Back_color=Colorpicker_color;
Display_foreback();
Frame_menu_color(Back_color, MC_Dark);
}
Operation_push(Mouse_K);
}
@ -1454,11 +1456,11 @@ void Colorpicker_1_1(void)
if (Colorpicker_color!=Fore_color)
{
Frame_menu_color(MC_Black);
Frame_menu_color(Fore_color, MC_Black);
Fore_color=Colorpicker_color;
Reposition_palette();
Display_foreback();
Frame_menu_color(MC_White);
Frame_menu_color(Fore_color, MC_White);
}
if (Menu_is_visible)
@ -1500,8 +1502,10 @@ 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);
}
if (Menu_is_visible)
@ -1531,16 +1535,18 @@ void Colorpicker_0_1(void)
Operation_pop(&click);
if (click==LEFT_SIDE)
{
Frame_menu_color(MC_Black);
Frame_menu_color(Fore_color, MC_Black);
Fore_color=Colorpicker_color;
Reposition_palette();
Display_foreback();
Frame_menu_color(MC_White);
Frame_menu_color(Fore_color, MC_White);
}
else
{
Frame_menu_color(Back_color, MC_Black);
Back_color=Colorpicker_color;
Display_foreback();
Frame_menu_color(Back_color, MC_Dark);
}
Unselect_button(BUTTON_COLORPICKER);
}

View File

@ -216,14 +216,14 @@ void Bigger_paintbrush(void)
void Special_next_forecolor(void)
{
Hide_cursor();
Frame_menu_color(MC_Black);
Frame_menu_color(Fore_color, MC_Black);
Fore_color++;
Reposition_palette();
Display_foreback();
Frame_menu_color(MC_White);
Frame_menu_color(Fore_color, MC_White);
Display_cursor();
}
@ -231,14 +231,14 @@ void Special_next_forecolor(void)
void Special_previous_forecolor(void)
{
Hide_cursor();
Frame_menu_color(MC_Black);
Frame_menu_color(Fore_color, MC_Black);
Fore_color--;
Reposition_palette();
Display_foreback();
Frame_menu_color(MC_White);
Frame_menu_color(Fore_color, MC_White);
Display_cursor();
}
@ -246,7 +246,9 @@ 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();
Display_cursor();
}
@ -255,7 +257,9 @@ 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();
Display_cursor();
}
@ -264,14 +268,14 @@ void Special_previous_backcolor(void)
void Special_next_user_forecolor(void)
{
Hide_cursor();
Frame_menu_color(MC_Black);
Frame_menu_color(Fore_color, MC_Black);
Fore_color=Shade_table_left[Fore_color];
Reposition_palette();
Display_foreback();
Frame_menu_color(MC_White);
Frame_menu_color(Fore_color, MC_White);
Display_cursor();
}
@ -279,14 +283,14 @@ void Special_next_user_forecolor(void)
void Special_previous_user_forecolor(void)
{
Hide_cursor();
Frame_menu_color(MC_Black);
Frame_menu_color(Fore_color, MC_Black);
Fore_color=Shade_table_right[Fore_color];
Reposition_palette();
Display_foreback();
Frame_menu_color(MC_White);
Frame_menu_color(Fore_color, MC_White);
Display_cursor();
}
@ -294,8 +298,10 @@ 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);
Display_cursor();
}
@ -303,8 +309,10 @@ 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);
Display_cursor();
}

View File

@ -189,18 +189,19 @@ word Palette_cell_Y(byte index)
/// 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.
void Frame_menu_color(byte color)
/// @param id:Color number to frame
void Frame_menu_color(byte id, byte color)
{
word start_x,start_y,end_x,end_y;
word index;
word cell_height=32/Menu_cells_Y;
if ((Fore_color>=First_color_in_palette) && (Fore_color<First_color_in_palette+Menu_cells_X*Menu_cells_Y) && (Menu_is_visible))
if ((id>=First_color_in_palette) && (id<First_color_in_palette+Menu_cells_X*Menu_cells_Y) && (Menu_is_visible))
{
if (Config.Separate_colors)
{
start_x=Palette_cell_X(Fore_color)-1*Menu_factor_X;
start_y=Palette_cell_Y(Fore_color)-1*Menu_factor_Y;
start_x=Palette_cell_X(id)-1*Menu_factor_X;
start_y=Palette_cell_Y(id)-1*Menu_factor_Y;
Block(start_x,start_y,(Menu_palette_cell_width+1)*Menu_factor_X,Menu_factor_Y,color);
Block(start_x,start_y+(Menu_factor_Y*cell_height),(Menu_palette_cell_width+1)*Menu_factor_X,Menu_factor_Y,color);
@ -212,21 +213,18 @@ void Frame_menu_color(byte color)
}
else
{
start_x=Palette_cell_X(id);
start_y=Palette_cell_Y(id);
if (color==MC_Black)
{
start_x=Palette_cell_X(Fore_color);
start_y=Palette_cell_Y(Fore_color);
Block(start_x,start_y,Menu_palette_cell_width*Menu_factor_X,
cell_height*Menu_factor_Y,Fore_color);
cell_height*Menu_factor_Y,id);
Update_rect(start_x,start_y,Menu_palette_cell_width*Menu_factor_X,cell_height*Menu_factor_Y);
}
else
{
start_x=Palette_cell_X(Fore_color);
start_y=Palette_cell_Y(Fore_color);
end_x=Menu_palette_cell_width-1;
end_y=cell_height-1;
@ -234,22 +232,22 @@ void Frame_menu_color(byte color)
for (index=0; index<=end_x; index++)
Block(start_x+index*Menu_factor_X,start_y,
Menu_factor_X,Menu_factor_Y,
((index)&1)?MC_White:MC_Black);
((index)&1)?color:MC_Black);
// Left line
for (index=1; index<end_y; index++)
Block(start_x,start_y+index*Menu_factor_Y,
Menu_factor_X,Menu_factor_Y,
((index)&1)?MC_White:MC_Black);
((index)&1)?color:MC_Black);
// Right line
for (index=1; index<end_y; index++)
Block(start_x+end_x*Menu_factor_X,start_y+index*Menu_factor_Y,
Menu_factor_X,Menu_factor_Y,
((index+end_x)&1)?MC_White:MC_Black);
((index+end_x)&1)?color:MC_Black);
// Bottom line
for (index=0; index<=end_x; index++)
Block(start_x+index*Menu_factor_X,start_y+end_y*Menu_factor_Y,
Menu_factor_X,Menu_factor_Y,
((index+end_y)&1)?MC_White:MC_Black);
((index+end_y)&1)?color:MC_Black);
Update_rect(start_x*Menu_factor_X,start_y*Menu_factor_Y,Menu_palette_cell_width*Menu_factor_X,Menu_Y+Menu_factor_Y*cell_height);
}
@ -284,7 +282,8 @@ void Display_menu_palette(void)
cell_height*Menu_factor_Y,
color);
Frame_menu_color(MC_White);
Frame_menu_color(Fore_color, MC_White);
Frame_menu_color(Back_color, MC_Dark);
Update_rect(MENU_WIDTH*Menu_factor_X,Menu_Y,Screen_width-(MENU_WIDTH*Menu_factor_X),(MENU_HEIGHT-9)*Menu_factor_Y);
}
}

View File

@ -48,7 +48,7 @@ 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 color);
void Frame_menu_color(byte id, byte color);
void Display_menu_palette(void);
void Display_menu(void);
void Reposition_palette(void);