Add a quick-preview when hovering the layer buttons.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1884 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
9acd46841d
commit
1b805666e7
39
src/engine.c
39
src/engine.c
@ -1439,7 +1439,44 @@ void Main_handler(void)
|
|||||||
/*if (Gfx->Hover_effect && prev_button_number > -1 && !Buttons_Pool[prev_button_number].Pressed)
|
/*if (Gfx->Hover_effect && prev_button_number > -1 && !Buttons_Pool[prev_button_number].Pressed)
|
||||||
Draw_menu_button(prev_button_number, BUTTON_RELEASED);
|
Draw_menu_button(prev_button_number, BUTTON_RELEASED);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (button_index == BUTTON_LAYER_SELECT)
|
||||||
|
{
|
||||||
|
int x,y;
|
||||||
|
short layer, prev_layer;
|
||||||
|
Open_popup((Buttons_Pool[BUTTON_LAYER_SELECT].X_offset + 2)*Menu_factor_X,
|
||||||
|
Menu_Y,Buttons_Pool[BUTTON_LAYER_SELECT].Width / Main_backups->Pages->Nb_layers,
|
||||||
|
Menu_bars[MENUBAR_COUNT - 1].Height);
|
||||||
|
|
||||||
|
prev_layer = -1;
|
||||||
|
|
||||||
|
// Make the system think the menu is visible (Open_popup hides it)
|
||||||
|
// so Button_under_mouse still works
|
||||||
|
Menu_is_visible=Menu_is_visible_before_window;
|
||||||
|
Menu_Y=Menu_Y_before_window;
|
||||||
|
while(Button_under_mouse() == BUTTON_LAYER_SELECT)
|
||||||
|
{
|
||||||
|
layer = Layer_under_mouse();
|
||||||
|
if (layer != prev_layer)
|
||||||
|
{
|
||||||
|
for (x = 0; x < Window_width; x++)
|
||||||
|
for (y = 0; y < Window_height; y++)
|
||||||
|
{
|
||||||
|
int imgx = x * Main_image_width / Window_width;
|
||||||
|
int imgy = y * Main_image_height / Window_height;
|
||||||
|
Pixel_in_window(x, y, *(Main_backups->Pages->Image[layer].Pixels
|
||||||
|
+ imgx + imgy * Main_image_width));
|
||||||
|
}
|
||||||
|
|
||||||
|
Update_window_area(0,0,Window_width, Window_height);
|
||||||
|
prev_layer = layer;
|
||||||
|
}
|
||||||
|
Get_input(20);
|
||||||
|
};
|
||||||
|
|
||||||
|
Close_popup();
|
||||||
|
}
|
||||||
|
|
||||||
Print_in_menu(Menu_tooltip[button_index],0);
|
Print_in_menu(Menu_tooltip[button_index],0);
|
||||||
|
|
||||||
/*if (Gfx->Hover_effect && !Buttons_Pool[button_index].Pressed)
|
/*if (Gfx->Hover_effect && !Buttons_Pool[button_index].Pressed)
|
||||||
|
|||||||
@ -147,7 +147,7 @@ void Button_Layer_remove(void)
|
|||||||
Display_cursor();
|
Display_cursor();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Button_Layer_select(void)
|
short Layer_under_mouse(void)
|
||||||
{
|
{
|
||||||
short layer;
|
short layer;
|
||||||
// Determine which button is clicked according to mouse position
|
// Determine which button is clicked according to mouse position
|
||||||
@ -160,6 +160,12 @@ void Button_Layer_select(void)
|
|||||||
else if (layer > Main_backups->Pages->Nb_layers-1)
|
else if (layer > Main_backups->Pages->Nb_layers-1)
|
||||||
layer=Main_backups->Pages->Nb_layers-1;
|
layer=Main_backups->Pages->Nb_layers-1;
|
||||||
|
|
||||||
|
return layer;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Button_Layer_select(void)
|
||||||
|
{
|
||||||
|
short layer = Layer_under_mouse;
|
||||||
Layer_activate(layer, LEFT_SIDE);
|
Layer_activate(layer, LEFT_SIDE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -39,3 +39,5 @@ void Button_Anim_last_frame(void);
|
|||||||
void Button_Anim_play(void);
|
void Button_Anim_play(void);
|
||||||
void Button_Anim_continuous_prev(void);
|
void Button_Anim_continuous_prev(void);
|
||||||
void Button_Anim_continuous_next(void);
|
void Button_Anim_continuous_next(void);
|
||||||
|
|
||||||
|
short Layer_under_mouse(void);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user