use crate::tokens::dtcg::DimensionValue;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DatePickerMetrics {
pub stepper_width: DimensionValue,
pub stepper_chevron_pitch: DimensionValue,
pub selection_corner_radius: DimensionValue,
pub corner_radius_regular: DimensionValue,
pub corner_radius_small: DimensionValue,
pub corner_radius_mini: DimensionValue,
pub datetime_regular_width: DimensionValue,
pub datetime_regular_height: DimensionValue,
pub datetime_small_width: DimensionValue,
pub datetime_small_height: DimensionValue,
pub datetime_mini_width: DimensionValue,
pub datetime_mini_height: DimensionValue,
pub date_only_regular_width: DimensionValue,
pub date_only_regular_height: DimensionValue,
pub date_only_small_width: DimensionValue,
pub date_only_small_height: DimensionValue,
pub date_only_mini_width: DimensionValue,
pub date_only_mini_height: DimensionValue,
pub time_only_regular_width: DimensionValue,
pub time_only_regular_height: DimensionValue,
pub time_only_small_width: DimensionValue,
pub time_only_small_height: DimensionValue,
pub time_only_mini_width: DimensionValue,
pub time_only_mini_height: DimensionValue,
pub calendar_width: DimensionValue,
pub calendar_height: DimensionValue,
pub clock_face_width: DimensionValue,
pub clock_face_height: DimensionValue,
pub clock_size: DimensionValue,
pub calendar_header_height: DimensionValue,
pub calendar_weekday_height: DimensionValue,
pub calendar_matrix_height: DimensionValue,
pub calendar_cell_height: DimensionValue,
}
impl Default for DatePickerMetrics {
fn default() -> Self {
Self {
stepper_width: DimensionValue::from_pt(19.0),
stepper_chevron_pitch: DimensionValue::from_pt(9.0),
selection_corner_radius: DimensionValue::from_pt(2.5),
corner_radius_regular: DimensionValue::from_pt(5.0),
corner_radius_small: DimensionValue::from_pt(4.0),
corner_radius_mini: DimensionValue::from_pt(3.0),
datetime_regular_width: DimensionValue::from_pt(161.0),
datetime_regular_height: DimensionValue::from_pt(28.0),
datetime_small_width: DimensionValue::from_pt(157.0),
datetime_small_height: DimensionValue::from_pt(22.0),
datetime_mini_width: DimensionValue::from_pt(155.0),
datetime_mini_height: DimensionValue::from_pt(21.0),
date_only_regular_width: DimensionValue::from_pt(97.0),
date_only_regular_height: DimensionValue::from_pt(28.0),
date_only_small_width: DimensionValue::from_pt(93.0),
date_only_small_height: DimensionValue::from_pt(22.0),
date_only_mini_width: DimensionValue::from_pt(91.0),
date_only_mini_height: DimensionValue::from_pt(21.0),
time_only_regular_width: DimensionValue::from_pt(81.0),
time_only_regular_height: DimensionValue::from_pt(28.0),
time_only_small_width: DimensionValue::from_pt(77.0),
time_only_small_height: DimensionValue::from_pt(22.0),
time_only_mini_width: DimensionValue::from_pt(75.0),
time_only_mini_height: DimensionValue::from_pt(21.0),
calendar_width: DimensionValue::from_pt(139.0),
calendar_height: DimensionValue::from_pt(148.0),
calendar_header_height: DimensionValue::from_pt(24.0),
calendar_weekday_height: DimensionValue::from_pt(16.0),
calendar_matrix_height: DimensionValue::from_pt(108.0),
calendar_cell_height: DimensionValue::from_pt(18.0),
clock_face_width: DimensionValue::from_pt(122.0),
clock_face_height: DimensionValue::from_pt(123.0),
clock_size: DimensionValue::from_pt(119.0),
}
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct CollectionViewMetrics {
pub item_size: DimensionValue,
pub minimum_line_spacing: DimensionValue,
pub minimum_interitem_spacing: DimensionValue,
pub section_inset: DimensionValue,
pub selection_corner_radius: DimensionValue,
pub selection_stroke_width: DimensionValue,
pub marquee_alpha_fill: DimensionValue,
pub marquee_alpha_stroke: DimensionValue,
}
impl Default for CollectionViewMetrics {
fn default() -> Self {
Self {
item_size: DimensionValue::from_pt(50.0),
minimum_line_spacing: DimensionValue::from_pt(10.0),
minimum_interitem_spacing: DimensionValue::from_pt(10.0),
section_inset: DimensionValue::from_pt(0.0),
selection_corner_radius: DimensionValue::from_pt(6.0),
selection_stroke_width: DimensionValue::from_pt(2.0),
marquee_alpha_fill: DimensionValue::from_pt(0.20),
marquee_alpha_stroke: DimensionValue::from_pt(0.80),
}
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PlayerViewMetrics {
pub hud_width: DimensionValue,
pub hud_height: DimensionValue,
pub hud_corner_radius: DimensionValue,
pub hud_bottom_margin: DimensionValue,
pub auto_hide_seconds: DimensionValue,
pub top_row_height: DimensionValue,
pub scrubber_height: DimensionValue,
pub scrubber_track_height: DimensionValue,
pub scrubber_track_corner_radius: DimensionValue,
pub scrubber_knob_size: DimensionValue,
pub inline_height: DimensionValue,
pub inline_corner_radius: DimensionValue,
pub minimal_width: DimensionValue,
pub minimal_height: DimensionValue,
pub skip_button_width: DimensionValue,
pub skip_button_height: DimensionValue,
pub step_button_width: DimensionValue,
pub step_button_height: DimensionValue,
pub mute_button_width: DimensionValue,
pub mute_button_height: DimensionValue,
pub volume_slider_width: DimensionValue,
pub volume_slider_height: DimensionValue,
pub play_button_width: DimensionValue,
pub play_button_height: DimensionValue,
pub aux_button_size: DimensionValue,
pub button_spacing: DimensionValue,
pub speed_button_width: DimensionValue,
pub speed_button_height: DimensionValue,
pub icon_size: DimensionValue,
pub skip_duration_seconds: DimensionValue,
pub frame_step_fps: DimensionValue,
pub default_duration_seconds: DimensionValue,
pub min_repaint_delay_seconds: DimensionValue,
pub buffered_fill_alpha: DimensionValue,
pub inline_play_button_width: DimensionValue,
pub inline_play_button_inset: DimensionValue,
}
impl Default for PlayerViewMetrics {
fn default() -> Self {
Self {
hud_width: DimensionValue::from_pt(481.0),
hud_height: DimensionValue::from_pt(64.0),
hud_corner_radius: DimensionValue::from_pt(16.0),
hud_bottom_margin: DimensionValue::from_pt(16.0),
auto_hide_seconds: DimensionValue::from_pt(3.0),
top_row_height: DimensionValue::from_pt(34.0),
scrubber_height: DimensionValue::from_pt(22.5),
scrubber_track_height: DimensionValue::from_pt(3.5),
scrubber_track_corner_radius: DimensionValue::from_pt(1.8),
scrubber_knob_size: DimensionValue::from_pt(8.0),
inline_height: DimensionValue::from_pt(24.0),
inline_corner_radius: DimensionValue::from_pt(0.0),
minimal_width: DimensionValue::from_pt(29.0),
minimal_height: DimensionValue::from_pt(18.0),
skip_button_width: DimensionValue::from_pt(25.0),
skip_button_height: DimensionValue::from_pt(15.0),
step_button_width: DimensionValue::from_pt(19.0),
step_button_height: DimensionValue::from_pt(21.0),
mute_button_width: DimensionValue::from_pt(24.0),
mute_button_height: DimensionValue::from_pt(17.0),
volume_slider_width: DimensionValue::from_pt(125.0),
volume_slider_height: DimensionValue::from_pt(18.0),
play_button_width: DimensionValue::from_pt(29.0),
play_button_height: DimensionValue::from_pt(34.0),
aux_button_size: DimensionValue::from_pt(20.0),
button_spacing: DimensionValue::from_pt(6.0),
speed_button_width: DimensionValue::from_pt(36.0),
speed_button_height: DimensionValue::from_pt(18.0),
icon_size: DimensionValue::from_pt(8.0),
skip_duration_seconds: DimensionValue::from_pt(15.0),
frame_step_fps: DimensionValue::from_pt(30.0),
default_duration_seconds: DimensionValue::from_pt(100.0),
min_repaint_delay_seconds: DimensionValue::from_pt(0.05),
buffered_fill_alpha: DimensionValue::from_pt(0.28),
inline_play_button_width: DimensionValue::from_pt(20.0),
inline_play_button_inset: DimensionValue::from_pt(8.0),
}
}
}