use serde::{Deserialize, Serialize};

/// 目标位置信息
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TargetLocation {
    /// 触发元素右上角的X轴坐标
    pub x: i32,
    /// 触发元素右上角的Y轴坐标
    pub y: i32,
    /// 触发元素宽高
    pub width: u32,
    /// 触发元素宽高
    pub height: u32,
}

/// 弹出框尺寸信息
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PopupSize {
    /// 弹出框的宽度
    pub width: u32,
    /// 弹出框的高度
    pub height: u32,
}

/// 悬浮列表信息
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FloatListInfo {
    /// 弹出框的宽度
    pub width: u32,
    /// 弹出框的高度
    pub height: u32,
    /** 是否显示互动课堂相关按钮 */
    pub is_show_interaction: bool,
    /** 是否显示智评会议相关按钮 */
    pub is_show_tutorship: bool,
}

/// 弹出框位置信息
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PopupLocation {
    /// 弹出bubble的位置
    pub placement: String,
    /// 是浏览器窗口否足够bubble显示, true:足够显示; false:不足够(改用ElDialog方式显示)
    pub enough_show: bool,
    /// bubble弹出框右上角的Y轴坐标
    pub y: i32,
    /// bubble弹出框右上角的X轴坐标
    pub x: i32,
    /// 弹出框的宽度
    pub width: u32,
    /// 弹出框的高度
    pub height: u32,
}
