Fix appearance issues of game maps
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
0280daf6d2
commit
cf1d77f445
@ -20,7 +20,9 @@ use crate::constants::*;
|
|||||||
use crate::ui_screens::confirm_dialog_screen::confirm;
|
use crate::ui_screens::confirm_dialog_screen::confirm;
|
||||||
use crate::ui_screens::popup_screen::{show_screen_too_small_popup, PopupScreen};
|
use crate::ui_screens::popup_screen::{show_screen_too_small_popup, PopupScreen};
|
||||||
use crate::ui_screens::set_boats_layout_screen::SetBoatsLayoutScreen;
|
use crate::ui_screens::set_boats_layout_screen::SetBoatsLayoutScreen;
|
||||||
use crate::ui_screens::utils::{centered_rect_size, centered_text};
|
use crate::ui_screens::utils::{
|
||||||
|
centered_rect_size, centered_rect_size_horizontally, centered_text,
|
||||||
|
};
|
||||||
use crate::ui_screens::ScreenResult;
|
use crate::ui_screens::ScreenResult;
|
||||||
use crate::ui_widgets::button_widget::ButtonWidget;
|
use crate::ui_widgets::button_widget::ButtonWidget;
|
||||||
use crate::ui_widgets::game_map_widget::{ColoredCells, GameMapWidget};
|
use crate::ui_widgets::game_map_widget::{ColoredCells, GameMapWidget};
|
||||||
@ -576,11 +578,11 @@ impl GameScreen {
|
|||||||
|
|
||||||
f.render_widget(
|
f.render_widget(
|
||||||
player_map,
|
player_map,
|
||||||
centered_rect_size(player_map_size.0, player_map_size.1, &maps_chunks[0]),
|
centered_rect_size_horizontally(player_map_size.0, &maps_chunks[0]),
|
||||||
);
|
);
|
||||||
f.render_widget(
|
f.render_widget(
|
||||||
opponent_map,
|
opponent_map,
|
||||||
centered_rect_size(opponent_map_size.0, opponent_map_size.1, &maps_chunks[1]),
|
centered_rect_size_horizontally(opponent_map_size.0, &maps_chunks[1]),
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
// Render a single map
|
// Render a single map
|
||||||
|
@ -46,6 +46,25 @@ pub fn centered_rect_size(width: u16, height: u16, parent: &Rect) -> Rect {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// helper function to create a centered rect using up certain container size, only horizontally
|
||||||
|
pub fn centered_rect_size_horizontally(width: u16, parent: &Rect) -> Rect {
|
||||||
|
if parent.width < width {
|
||||||
|
return Rect {
|
||||||
|
x: parent.x,
|
||||||
|
y: parent.y,
|
||||||
|
width: parent.width,
|
||||||
|
height: parent.height,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
Rect {
|
||||||
|
x: parent.x + (parent.width - width) / 2,
|
||||||
|
y: parent.y,
|
||||||
|
width,
|
||||||
|
height: parent.height,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Get coordinates to render centered text
|
/// Get coordinates to render centered text
|
||||||
pub fn centered_text(text: &str, container: &Rect) -> Rect {
|
pub fn centered_text(text: &str, container: &Rect) -> Rect {
|
||||||
if text.len() > container.width as usize {
|
if text.len() > container.width as usize {
|
||||||
|
Loading…
Reference in New Issue
Block a user