Skip to main content

ferroui_base/media/
text_collapsing_create_info.rs

1use std::rc::Rc;
2
3use crate::media::text_formatting::TextRunProperties;
4use crate::media::FlowDirection;
5
6/// The values a [`TextTrimming`](crate::media::TextTrimming) creates
7/// collapsing properties from.
8#[derive(Clone)]
9pub struct TextCollapsingCreateInfo {
10    pub width: f64,
11    pub text_run_properties: Rc<dyn TextRunProperties>,
12    pub flow_direction: FlowDirection,
13}
14
15impl TextCollapsingCreateInfo {
16    pub fn new(width: f64, text_run_properties: Rc<dyn TextRunProperties>, flow_direction: FlowDirection) -> Self {
17        Self { width, text_run_properties, flow_direction }
18    }
19}
20
21impl PartialEq for TextCollapsingCreateInfo {
22    fn eq(&self, other: &Self) -> bool {
23        self.width == other.width
24            && (Rc::ptr_eq(&self.text_run_properties, &other.text_run_properties)
25                || *self.text_run_properties == *other.text_run_properties)
26            && self.flow_direction == other.flow_direction
27    }
28}