Handle screens too small for setting boats layout
This commit is contained in:
		@@ -14,6 +14,7 @@ use sea_battle_backend::data::*;
 | 
			
		||||
 | 
			
		||||
use crate::constants::*;
 | 
			
		||||
use crate::ui_screens::confirm_dialog_screen::confirm;
 | 
			
		||||
use crate::ui_screens::popup_screen::PopupScreen;
 | 
			
		||||
use crate::ui_screens::utils::{centered_rect_size, centered_text};
 | 
			
		||||
use crate::ui_screens::ScreenResult;
 | 
			
		||||
use crate::ui_widgets::game_map_widget::{ColoredCells, GameMapWidget};
 | 
			
		||||
@@ -227,6 +228,13 @@ impl<'a> SetBoatsLayoutScreen<'a> {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let (w, h) = game_map_widget.estimated_size();
 | 
			
		||||
 | 
			
		||||
        if f.size().width < w || f.size().height + 3 < h {
 | 
			
		||||
            PopupScreen::new("Screen too small!").show_in_frame(f);
 | 
			
		||||
            drop(game_map_widget);
 | 
			
		||||
            return coordinates_mapper;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let area = centered_rect_size(w, h, &f.size());
 | 
			
		||||
        f.render_widget(game_map_widget, area);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user