#[derive(Debug, Clone, Default)]
#[must_use = "BreadcrumbResponse contains interaction state — check .clicked_segment, .hovered, or .rect"]
pub struct BreadcrumbResponse {
pub response: Response,
pub clicked_segment: Option<usize>,
}
impl std::ops::Deref for BreadcrumbResponse {
type Target = Response;
fn deref(&self) -> &Response {
&self.response
}
}
#[derive(Debug, Clone, Default)]
#[must_use = "GaugeResponse contains interaction state — check .hovered or .ratio"]
pub struct GaugeResponse {
pub response: Response,
pub ratio: f64,
}
impl std::ops::Deref for GaugeResponse {
type Target = Response;
fn deref(&self) -> &Response {
&self.response
}
}
#[derive(Debug, Clone, Default)]
#[must_use = "SplitPaneResponse contains interaction state — check .ratio, .drag_active, or .hovered"]
pub struct SplitPaneResponse {
pub response: Response,
pub ratio: f64,
pub drag_active: bool,
}
impl std::ops::Deref for SplitPaneResponse {
type Target = Response;
fn deref(&self) -> &Response {
&self.response
}
}
#[derive(Debug, Clone, Default)]
#[must_use = "GutterResponse contains interaction state — check .current_highlight or .hovered"]
pub struct GutterResponse {
pub response: Response,
pub current_highlight: Option<usize>,
pub total_highlights: usize,
}
impl std::ops::Deref for GutterResponse {
type Target = Response;
fn deref(&self) -> &Response {
&self.response
}
}