rounding from settings, and apply_on_side

This commit is contained in:
Csaba
2024-11-08 17:11:43 +01:00
parent d188222be7
commit 1008ec2031
2 changed files with 56 additions and 29 deletions
+38 -9
View File
@@ -1,3 +1,4 @@
//use eframe::egui::Color32;
use eframe::egui::Frame;
use eframe::egui::InnerResponse;
use eframe::egui::Margin;
@@ -28,21 +29,49 @@ impl Grouping {
inner: add_contents(ui),
response: ui.response().clone(),
},
Self::Widget(_config) => {
Frame::none()
//.fill(Color32::from_black_alpha(255u8))
.outer_margin(Margin::symmetric(0.0, 0.0))
.inner_margin(Margin::symmetric(7.0, 2.0))
.rounding(Rounding::same(15.0))
.stroke(ui.style().visuals.widgets.noninteractive.bg_stroke)
.show(ui, add_contents)
}
Self::Widget(config) => Frame::none()
//.fill(Color32::from_black_alpha(255u8))
.outer_margin(Margin::symmetric(0.0, 0.0))
.inner_margin(Margin::symmetric(7.0, 2.0))
.rounding(match config.rounding {
None => Rounding::same(15.0),
Some(rounding) => rounding.into(),
})
.stroke(ui.style().visuals.widgets.noninteractive.bg_stroke)
.show(ui, add_contents),
Self::Side(_config) => InnerResponse {
inner: add_contents(ui),
response: ui.response().clone(),
},
}
}
pub fn apply_on_side<R>(
&mut self,
ui: &mut Ui,
add_contents: impl FnOnce(&mut Ui) -> R,
) -> InnerResponse<R> {
match self {
Self::None => InnerResponse {
inner: add_contents(ui),
response: ui.response().clone(),
},
Self::Widget(_config) => InnerResponse {
inner: add_contents(ui),
response: ui.response().clone(),
},
Self::Side(config) => Frame::none()
//.fill(Color32::from_black_alpha(255u8))
.outer_margin(Margin::symmetric(0.0, 0.0))
.inner_margin(Margin::symmetric(7.0, 2.0))
.rounding(match config.rounding {
None => Rounding::same(15.0),
Some(rounding) => rounding.into(),
})
.stroke(ui.style().visuals.widgets.noninteractive.bg_stroke)
.show(ui, add_contents),
}
}
}
#[derive(Copy, Clone, Debug, Serialize, Deserialize, JsonSchema)]