ferroui_base/styling/
style_queries.rs1use super::{AndQuery, HeightQuery, OrQuery, StyleQuery, StyleQueryComparisonOperator, WidthQuery};
2
3pub struct StyleQueries;
5
6impl StyleQueries {
7 pub fn width(previous: Option<StyleQuery>, operator: StyleQueryComparisonOperator, value: f64) -> StyleQuery {
9 StyleQuery::new(WidthQuery::new(previous, operator, value))
10 }
11
12 pub fn height(previous: Option<StyleQuery>, operator: StyleQueryComparisonOperator, value: f64) -> StyleQuery {
14 StyleQuery::new(HeightQuery::new(previous, operator, value))
15 }
16
17 pub fn or(queries: impl IntoIterator<Item = StyleQuery>) -> StyleQuery {
19 StyleQuery::new(OrQuery::new(queries.into_iter().collect()))
20 }
21
22 pub fn and(queries: impl IntoIterator<Item = StyleQuery>) -> StyleQuery {
24 StyleQuery::new(AndQuery::new(queries.into_iter().collect()))
25 }
26}
27
28impl StyleQuery {
29 pub fn width(self, operator: StyleQueryComparisonOperator, value: f64) -> StyleQuery {
32 StyleQueries::width(Some(self), operator, value)
33 }
34
35 pub fn height(self, operator: StyleQueryComparisonOperator, value: f64) -> StyleQuery {
38 StyleQueries::height(Some(self), operator, value)
39 }
40}