Layer preview now only appears if there's at least 2 layers. Fixed the preview not reappearing after using a keyboard shortcut (ex: scrolling with arrow keys)
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1942 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
4fe4ccd7b0
commit
020e57846b
38
src/engine.c
38
src/engine.c
@ -586,7 +586,7 @@ void Layer_preview_on(int * preview_is_visible)
|
||||
short layercount = Main_backups->Pages->Nb_layers;
|
||||
static int previewW=0, previewH=0;
|
||||
|
||||
if (! *preview_is_visible)
|
||||
if (! *preview_is_visible && layercount>1)
|
||||
{
|
||||
previewW = Min(Main_image_width/Menu_factor_X,Layer_button_width);
|
||||
previewH = previewW * Main_image_height / Main_image_width * Menu_factor_X / Menu_factor_Y;
|
||||
@ -604,12 +604,7 @@ void Layer_preview_on(int * preview_is_visible)
|
||||
// so Button_under_mouse still works
|
||||
Menu_is_visible=Menu_is_visible_before_window;
|
||||
Menu_Y=Menu_Y_before_window;
|
||||
}
|
||||
|
||||
// NOT an else of the previous if - variable may have changed
|
||||
if (*preview_is_visible)
|
||||
{
|
||||
//layer = Layer_under_mouse();
|
||||
for(layer = 0; layer < layercount; ++layer)
|
||||
{
|
||||
int offset;
|
||||
@ -1421,8 +1416,12 @@ void Main_handler(void)
|
||||
// On cherche sur quel bouton du menu se trouve la souris:
|
||||
button_index=Button_under_mouse();
|
||||
|
||||
// Si le curseur vient de changer de zone
|
||||
if (button_index == BUTTON_LAYER_SELECT)
|
||||
Layer_preview_on(&preview_is_visible);
|
||||
else
|
||||
Layer_preview_off(&preview_is_visible);
|
||||
|
||||
// Si le curseur vient de changer de zone
|
||||
if ( (button_index!=prev_button_number)
|
||||
|| (!Cursor_in_menu_previous)
|
||||
|| (prev_button_number==BUTTON_CHOOSE_COL) )
|
||||
@ -1438,14 +1437,9 @@ void Main_handler(void)
|
||||
/*if (Gfx->Hover_effect && prev_button_number > -1 && !Buttons_Pool[prev_button_number].Pressed)
|
||||
Draw_menu_button(prev_button_number, BUTTON_RELEASED);
|
||||
*/
|
||||
|
||||
Block(18*Menu_factor_X,Menu_status_Y,192*Menu_factor_X,Menu_factor_Y<<3,MC_Light);
|
||||
Update_rect(18*Menu_factor_X,Menu_status_Y,192*Menu_factor_X,Menu_factor_Y<<3);
|
||||
Display_cursor();
|
||||
|
||||
// If we get here, we mayjust have left the layerbar (towards the
|
||||
// main menu or statusbar). If so, close the popup.
|
||||
Layer_preview_off(&preview_is_visible);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1463,15 +1457,6 @@ void Main_handler(void)
|
||||
Draw_menu_button(prev_button_number, BUTTON_RELEASED);
|
||||
*/
|
||||
|
||||
if (button_index == BUTTON_LAYER_SELECT)
|
||||
{
|
||||
Layer_preview_on(&preview_is_visible);
|
||||
}
|
||||
else
|
||||
{
|
||||
Layer_preview_off(&preview_is_visible);
|
||||
}
|
||||
|
||||
Print_in_menu(Buttons_Pool[button_index].Tooltip,0);
|
||||
|
||||
/*if (Gfx->Hover_effect && !Buttons_Pool[button_index].Pressed)
|
||||
@ -1499,10 +1484,6 @@ void Main_handler(void)
|
||||
Display_cursor();
|
||||
}
|
||||
}
|
||||
|
||||
// If we get here, we mayjust have left the layerbar (towards the
|
||||
// main menu or statusbar). If so, close the popup.
|
||||
Layer_preview_off(&preview_is_visible);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1526,6 +1507,10 @@ void Main_handler(void)
|
||||
}
|
||||
|
||||
}
|
||||
else // if (!Cursor_in_menu)
|
||||
{
|
||||
Layer_preview_off(&preview_is_visible);
|
||||
}
|
||||
|
||||
// we need to refresh that one as we may come from a sub window
|
||||
Cursor_in_menu=(Mouse_Y>=Menu_Y) ||
|
||||
@ -1539,12 +1524,9 @@ void Main_handler(void)
|
||||
if(Cursor_in_menu_previous)
|
||||
{
|
||||
Hide_cursor();
|
||||
Layer_preview_off(&preview_is_visible);
|
||||
|
||||
/*if (Gfx->Hover_effect && prev_button_number > -1 && !Buttons_Pool[prev_button_number].Pressed)
|
||||
Draw_menu_button(prev_button_number, BUTTON_RELEASED);
|
||||
*/
|
||||
|
||||
if ( (Current_operation!=OPERATION_COLORPICK) && (Current_operation!=OPERATION_REPLACE) )
|
||||
{
|
||||
Print_in_menu("X: Y: ",0);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user