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

View File

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

View File

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

View File

@ -189,18 +189,19 @@ word Palette_cell_Y(byte index)
/// Redraw the cell in the menu palette for ::Fore_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. /// 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 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 start_x,start_y,end_x,end_y;
word index; word index;
word cell_height=32/Menu_cells_Y; 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) if (Config.Separate_colors)
{ {
start_x=Palette_cell_X(Fore_color)-1*Menu_factor_X; start_x=Palette_cell_X(id)-1*Menu_factor_X;
start_y=Palette_cell_Y(Fore_color)-1*Menu_factor_Y; 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_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); 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 else
{ {
start_x=Palette_cell_X(id);
start_y=Palette_cell_Y(id);
if (color==MC_Black) 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, 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); Update_rect(start_x,start_y,Menu_palette_cell_width*Menu_factor_X,cell_height*Menu_factor_Y);
} }
else else
{ {
start_x=Palette_cell_X(Fore_color);
start_y=Palette_cell_Y(Fore_color);
end_x=Menu_palette_cell_width-1; end_x=Menu_palette_cell_width-1;
end_y=cell_height-1; end_y=cell_height-1;
@ -234,22 +232,22 @@ void Frame_menu_color(byte color)
for (index=0; index<=end_x; index++) for (index=0; index<=end_x; index++)
Block(start_x+index*Menu_factor_X,start_y, Block(start_x+index*Menu_factor_X,start_y,
Menu_factor_X,Menu_factor_Y, Menu_factor_X,Menu_factor_Y,
((index)&1)?MC_White:MC_Black); ((index)&1)?color:MC_Black);
// Left line // Left line
for (index=1; index<end_y; index++) for (index=1; index<end_y; index++)
Block(start_x,start_y+index*Menu_factor_Y, Block(start_x,start_y+index*Menu_factor_Y,
Menu_factor_X,Menu_factor_Y, Menu_factor_X,Menu_factor_Y,
((index)&1)?MC_White:MC_Black); ((index)&1)?color:MC_Black);
// Right line // Right line
for (index=1; index<end_y; index++) for (index=1; index<end_y; index++)
Block(start_x+end_x*Menu_factor_X,start_y+index*Menu_factor_Y, Block(start_x+end_x*Menu_factor_X,start_y+index*Menu_factor_Y,
Menu_factor_X,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 // Bottom line
for (index=0; index<=end_x; index++) for (index=0; index<=end_x; index++)
Block(start_x+index*Menu_factor_X,start_y+end_y*Menu_factor_Y, Block(start_x+index*Menu_factor_X,start_y+end_y*Menu_factor_Y,
Menu_factor_X,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); 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, cell_height*Menu_factor_Y,
color); 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); 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_toolbar(word x,word y,byte color);
void Pixel_in_window(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_palette(void);
void Display_menu(void); void Display_menu(void);
void Reposition_palette(void); void Reposition_palette(void);