use egui::{Color32, WidgetText};
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
pub enum NodeLayout {
Single,
#[default]
Double,
}
pub enum Header {
None,
Title(TitleHeader),
}
impl From<TitleHeader> for Header {
#[inline]
fn from(value: TitleHeader) -> Self {
Header::Title(value)
}
}
pub struct TitleHeader {
pub text: WidgetText,
pub background_color: Color32,
}
impl TitleHeader {
#[inline]
pub fn new(text: impl Into<WidgetText>) -> Self {
Self {
text: text.into(),
background_color: Color32::PLACEHOLDER,
}
}
#[must_use]
#[inline]
pub fn background_color(mut self, color: impl Into<Color32>) -> Self {
self.background_color = color.into();
self
}
}