use crate::border::hidden_border;
use crate::position::{LEFT, TOP};
use crate::style::{properties::*, Style};
impl Style {
pub fn unset_bold(mut self) -> Self {
self.unset_prop(BOLD_KEY);
self.set_attr(ATTR_BOLD, false);
self
}
pub fn unset_italic(mut self) -> Self {
self.unset_prop(ITALIC_KEY);
self.set_attr(ATTR_ITALIC, false);
self
}
pub fn unset_underline(mut self) -> Self {
self.unset_prop(UNDERLINE_KEY);
self.set_attr(ATTR_UNDERLINE, false);
self
}
pub fn unset_strikethrough(mut self) -> Self {
self.unset_prop(STRIKETHROUGH_KEY);
self.set_attr(ATTR_STRIKETHROUGH, false);
self
}
pub fn unset_reverse(mut self) -> Self {
self.unset_prop(REVERSE_KEY);
self.set_attr(ATTR_REVERSE, false);
self
}
pub fn unset_blink(mut self) -> Self {
self.unset_prop(BLINK_KEY);
self.set_attr(ATTR_BLINK, false);
self
}
pub fn unset_faint(mut self) -> Self {
self.unset_prop(FAINT_KEY);
self.set_attr(ATTR_FAINT, false);
self
}
pub fn unset_underline_spaces(mut self) -> Self {
self.unset_prop(UNDERLINE_SPACES_KEY);
self.set_attr(ATTR_UNDERLINE_SPACES, false);
self
}
pub fn unset_strikethrough_spaces(mut self) -> Self {
self.unset_prop(STRIKETHROUGH_SPACES_KEY);
self.set_attr(ATTR_STRIKETHROUGH_SPACES, false);
self
}
pub fn unset_color_whitespace(mut self) -> Self {
self.unset_prop(COLOR_WHITESPACE_KEY);
self.set_attr(ATTR_COLOR_WHITESPACE, false);
self
}
pub fn unset_inline(mut self) -> Self {
self.unset_prop(INLINE_KEY);
self.set_attr(ATTR_INLINE, false);
self
}
pub fn unset_foreground(mut self) -> Self {
self.unset_prop(FOREGROUND_KEY);
self.fg_color = None;
self
}
pub fn unset_background(mut self) -> Self {
self.unset_prop(BACKGROUND_KEY);
self.bg_color = None;
self
}
pub fn unset_width(mut self) -> Self {
self.unset_prop(WIDTH_KEY);
self.width = 0;
self
}
pub fn unset_height(mut self) -> Self {
self.unset_prop(HEIGHT_KEY);
self.height = 0;
self
}
pub fn unset_max_width(mut self) -> Self {
self.unset_prop(MAX_WIDTH_KEY);
self.max_width = 0;
self
}
pub fn unset_max_height(mut self) -> Self {
self.unset_prop(MAX_HEIGHT_KEY);
self.max_height = 0;
self
}
pub fn unset_align(mut self) -> Self {
self.unset_prop(ALIGN_HORIZONTAL_KEY);
self.unset_prop(ALIGN_VERTICAL_KEY);
self.align_horizontal = LEFT;
self.align_vertical = TOP;
self
}
pub fn unset_align_horizontal(mut self) -> Self {
self.unset_prop(ALIGN_HORIZONTAL_KEY);
self.align_horizontal = LEFT;
self
}
pub fn unset_align_vertical(mut self) -> Self {
self.unset_prop(ALIGN_VERTICAL_KEY);
self.align_vertical = TOP;
self
}
pub fn unset_padding(mut self) -> Self {
self.unset_prop(PADDING_TOP_KEY);
self.unset_prop(PADDING_RIGHT_KEY);
self.unset_prop(PADDING_BOTTOM_KEY);
self.unset_prop(PADDING_LEFT_KEY);
self.padding_top = 0;
self.padding_right = 0;
self.padding_bottom = 0;
self.padding_left = 0;
self
}
pub fn unset_padding_top(mut self) -> Self {
self.unset_prop(PADDING_TOP_KEY);
self.padding_top = 0;
self
}
pub fn unset_padding_right(mut self) -> Self {
self.unset_prop(PADDING_RIGHT_KEY);
self.padding_right = 0;
self
}
pub fn unset_padding_bottom(mut self) -> Self {
self.unset_prop(PADDING_BOTTOM_KEY);
self.padding_bottom = 0;
self
}
pub fn unset_padding_left(mut self) -> Self {
self.unset_prop(PADDING_LEFT_KEY);
self.padding_left = 0;
self
}
pub fn unset_margins(mut self) -> Self {
self.unset_prop(MARGIN_TOP_KEY);
self.unset_prop(MARGIN_RIGHT_KEY);
self.unset_prop(MARGIN_BOTTOM_KEY);
self.unset_prop(MARGIN_LEFT_KEY);
self.unset_prop(MARGIN_BACKGROUND_KEY);
self.margin_top = 0;
self.margin_right = 0;
self.margin_bottom = 0;
self.margin_left = 0;
self.margin_bg_color = None;
self
}
pub fn unset_margin_top(mut self) -> Self {
self.unset_prop(MARGIN_TOP_KEY);
self.margin_top = 0;
self
}
pub fn unset_margin_right(mut self) -> Self {
self.unset_prop(MARGIN_RIGHT_KEY);
self.margin_right = 0;
self
}
pub fn unset_margin_bottom(mut self) -> Self {
self.unset_prop(MARGIN_BOTTOM_KEY);
self.margin_bottom = 0;
self
}
pub fn unset_margin_left(mut self) -> Self {
self.unset_prop(MARGIN_LEFT_KEY);
self.margin_left = 0;
self
}
pub fn unset_margin_background(mut self) -> Self {
self.unset_prop(MARGIN_BACKGROUND_KEY);
self.margin_bg_color = None;
self
}
pub fn unset_border_style(mut self) -> Self {
self.unset_prop(BORDER_STYLE_KEY);
self.unset_prop(BORDER_TOP_KEY);
self.unset_prop(BORDER_RIGHT_KEY);
self.unset_prop(BORDER_BOTTOM_KEY);
self.unset_prop(BORDER_LEFT_KEY);
self.border_style = hidden_border();
self.set_attr(ATTR_BORDER_TOP, false);
self.set_attr(ATTR_BORDER_RIGHT, false);
self.set_attr(ATTR_BORDER_BOTTOM, false);
self.set_attr(ATTR_BORDER_LEFT, false);
self
}
pub fn unset_border_top(mut self) -> Self {
self.unset_prop(BORDER_TOP_KEY);
self.set_attr(ATTR_BORDER_TOP, false);
self
}
pub fn unset_border_right(mut self) -> Self {
self.unset_prop(BORDER_RIGHT_KEY);
self.set_attr(ATTR_BORDER_RIGHT, false);
self
}
pub fn unset_border_bottom(mut self) -> Self {
self.unset_prop(BORDER_BOTTOM_KEY);
self.set_attr(ATTR_BORDER_BOTTOM, false);
self
}
pub fn unset_border_left(mut self) -> Self {
self.unset_prop(BORDER_LEFT_KEY);
self.set_attr(ATTR_BORDER_LEFT, false);
self
}
pub fn unset_border_foreground(mut self) -> Self {
self.unset_prop(BORDER_TOP_FOREGROUND_KEY);
self.unset_prop(BORDER_RIGHT_FOREGROUND_KEY);
self.unset_prop(BORDER_BOTTOM_FOREGROUND_KEY);
self.unset_prop(BORDER_LEFT_FOREGROUND_KEY);
self.border_top_fg_color = None;
self.border_right_fg_color = None;
self.border_bottom_fg_color = None;
self.border_left_fg_color = None;
self
}
pub fn unset_border_background(mut self) -> Self {
self.unset_prop(BORDER_TOP_BACKGROUND_KEY);
self.unset_prop(BORDER_RIGHT_BACKGROUND_KEY);
self.unset_prop(BORDER_BOTTOM_BACKGROUND_KEY);
self.unset_prop(BORDER_LEFT_BACKGROUND_KEY);
self.border_top_bg_color = None;
self.border_right_bg_color = None;
self.border_bottom_bg_color = None;
self.border_left_bg_color = None;
self
}
pub fn unset_border_top_foreground(mut self) -> Self {
self.unset_prop(BORDER_TOP_FOREGROUND_KEY);
self.border_top_fg_color = None;
self
}
pub fn unset_border_right_foreground(mut self) -> Self {
self.unset_prop(BORDER_RIGHT_FOREGROUND_KEY);
self.border_right_fg_color = None;
self
}
pub fn unset_border_bottom_foreground(mut self) -> Self {
self.unset_prop(BORDER_BOTTOM_FOREGROUND_KEY);
self.border_bottom_fg_color = None;
self
}
pub fn unset_border_left_foreground(mut self) -> Self {
self.unset_prop(BORDER_LEFT_FOREGROUND_KEY);
self.border_left_fg_color = None;
self
}
pub fn unset_border_top_background(mut self) -> Self {
self.unset_prop(BORDER_TOP_BACKGROUND_KEY);
self.border_top_bg_color = None;
self
}
pub fn unset_border_right_background(mut self) -> Self {
self.unset_prop(BORDER_RIGHT_BACKGROUND_KEY);
self.border_right_bg_color = None;
self
}
pub fn unset_border_bottom_background(mut self) -> Self {
self.unset_prop(BORDER_BOTTOM_BACKGROUND_KEY);
self.border_bottom_bg_color = None;
self
}
pub fn unset_border_left_background(mut self) -> Self {
self.unset_prop(BORDER_LEFT_BACKGROUND_KEY);
self.border_left_bg_color = None;
self
}
pub fn unset_tab_width(mut self) -> Self {
self.unset_prop(TAB_WIDTH_KEY);
self.tab_width = TAB_WIDTH_DEFAULT;
self
}
pub fn unset_transform(mut self) -> Self {
self.unset_prop(TRANSFORM_KEY);
self.transform = None;
self
}
pub fn unset_string(mut self) -> Self {
self.value = String::new();
self
}
}