use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct PaneCursor {
#[serde(default)]
pub row: u16,
#[serde(default)]
pub col: u16,
#[serde(default = "default_cursor_visible")]
pub visible: bool,
#[serde(default)]
pub style: u32,
}
impl PaneCursor {
#[must_use]
pub const fn new(row: u16, col: u16, visible: bool, style: u32) -> Self {
Self {
row,
col,
visible,
style,
}
}
}
impl Default for PaneCursor {
fn default() -> Self {
Self {
row: 0,
col: 0,
visible: true,
style: 0,
}
}
}
const fn default_cursor_visible() -> bool {
true
}