Support for textured toolbars of variable length. Grafx2 repeats the last two columns, so the dither pattern of Modern skin works.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1191 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud
2009-11-15 16:43:59 +00:00
parent 22b5dc56e5
commit f7a5b23541
10 changed files with 123 additions and 85 deletions

View File

@@ -74,7 +74,7 @@ char * Menu_tooltip[NB_BUTTONS]=
"Drop layer ",
"Raise layer ",
"Lower layer ",
"Layer select / toggle ",
"Paintbrush choice ",
"Adjust / Transform menu ",
"Freehand draw. / Toggle ",
@@ -160,11 +160,11 @@ int Button_under_mouse(void)
x_pos = Mouse_X / Menu_factor_X;
// Find in which menubar we are
for (current_menu = 0; current_menu < MENUBARS_COUNT; current_menu ++)
for (current_menu = 0; current_menu < MENUBAR_COUNT; current_menu ++)
{
if (Menu_bars[current_menu].visible)
if (Menu_bars[current_menu].Visible)
{
current_offset -= Menu_bars[current_menu].height * Menu_factor_Y;
current_offset -= Menu_bars[current_menu].Height * Menu_factor_Y;
if (Mouse_Y >= current_offset)
break;
}
@@ -172,9 +172,9 @@ int Button_under_mouse(void)
y_pos=(Mouse_Y - current_offset)/Menu_factor_Y;
if (current_menu == 0) first_button = 0;
else first_button = Menu_bars[current_menu - 1].last_button_index + 1;
else first_button = Menu_bars[current_menu - 1].Last_button_index + 1;
for (btn_number=first_button;btn_number<=Menu_bars[current_menu].last_button_index;btn_number++)
for (btn_number=first_button;btn_number<=Menu_bars[current_menu].Last_button_index;btn_number++)
{
switch(Buttons_Pool[btn_number].Shape)
{
@@ -206,7 +206,7 @@ int Button_under_mouse(void)
return -1;
}
#define Pixel_in_skinmenu(x,y,color) Menu_bars[current_menu].skin[(y - y_off)*Menu_bars[current_menu].width + x] = color
#define Pixel_in_skinmenu(x,y,color) Menu_bars[current_menu].Skin[(y - y_off)*Menu_bars[current_menu].Skin_width + x] = color
#define Pixel_in_menu_and_skin(x,y,color) Pixel_in_skinmenu(x,y,color); Pixel_in_menu(x,y,color)
///Draw the frame for a menu button
@@ -225,12 +225,12 @@ void Draw_menu_button_frame(byte btn_number,byte pressed)
word y_off = 0;
// Find in which menu the button is
for (current_menu = 0; current_menu < MENUBARS_COUNT; current_menu++)
for (current_menu = 0; current_menu < MENUBAR_COUNT; current_menu++)
{
if(Menu_bars[current_menu].visible)
if(Menu_bars[current_menu].Visible)
{
y_off += Menu_bars[current_menu].height;
if (Menu_bars[current_menu].last_button_index >= btn_number)
y_off += Menu_bars[current_menu].Height;
if (Menu_bars[current_menu].Last_button_index >= btn_number)
break;
}
}