/// 内容列最大宽度。
pub(crate) const CONTENT_COLUMN_MAX_WIDTH: f64 = 708.0;

/// 内容列水平内边距。
pub(crate) const CONTENT_COLUMN_HORIZONTAL_PADDING: f64 = 48.0;

/// 根据 stage 宽度计算实际内容列宽。
pub(crate) fn content_column_width(stage_rect_width: f64) -> f64 {
    let available = (stage_rect_width - (CONTENT_COLUMN_HORIZONTAL_PADDING * 2.0)).max(0.0);
    available.min(CONTENT_COLUMN_MAX_WIDTH)
}

/// 内容列左侧相对于 stage 的偏移。
pub(crate) fn content_column_left(stage_rect_width: f64) -> f64 {
    let column_width = content_column_width(stage_rect_width);
    ((stage_rect_width - column_width) / 2.0).max(0.0)
}

/// 内容文本区左侧相对于 stage 的偏移。
pub(crate) fn content_text_left(stage_rect_width: f64) -> f64 {
    content_column_left(stage_rect_width) + CONTENT_COLUMN_HORIZONTAL_PADDING
}
