diff --git a/src/core/mod.rs b/src/core/mod.rs index a7d05c0..d65980a 100644 --- a/src/core/mod.rs +++ b/src/core/mod.rs @@ -3,7 +3,6 @@ mod image; mod offset; mod pad; mod rect; -mod scroll; mod sense; mod sized; mod span; @@ -17,7 +16,6 @@ pub use image::*; pub use offset::*; pub use pad::*; pub use rect::*; -pub use scroll::*; pub use sense::*; pub use sized::*; pub use span::*; diff --git a/src/core/scroll.rs b/src/core/scroll.rs deleted file mode 100644 index d297b9e..0000000 --- a/src/core/scroll.rs +++ /dev/null @@ -1,19 +0,0 @@ -use crate::prelude::*; - -pub struct Scroll { - pub inner: Offset, - pub size: UiVec2, -} - -impl Widget for Scroll { - fn draw(&mut self, painter: &mut Painter) { - self.inner.draw(painter); - } - fn desired_size(&mut self, _: &mut SizeCtx) -> UiVec2 { - self.size - } -} - -pub struct ScrollModule { - -} diff --git a/src/core/trait_fns.rs b/src/core/trait_fns.rs index 02f4e56..ec881ce 100644 --- a/src/core/trait_fns.rs +++ b/src/core/trait_fns.rs @@ -8,6 +8,7 @@ pub trait CoreWidget { fn label(self, label: impl Into) -> impl WidgetIdFn; fn sized(self, size: impl Into) -> impl WidgetFn; fn offset(self, amt: impl Into) -> impl WidgetFn; + fn scroll(self) -> impl WidgetIdFn; } impl, Tag> CoreWidget for W { @@ -50,6 +51,12 @@ impl, Tag> CoreWidget for W { amt: amt.into(), } } + + fn scroll(self) -> impl WidgetIdFn { + self.offset(UiVec2::ZERO).edit_on(Sense::Scroll, |w, data| { + w.amt += UiVec2::abs(data.scroll_delta * 50.0); + }) + } } pub trait CoreWidgetArr, Tag> { diff --git a/src/testing/mod.rs b/src/testing/mod.rs index 3ad9710..634ab24 100644 --- a/src/testing/mod.rs +++ b/src/testing/mod.rs @@ -129,15 +129,7 @@ impl Client { .add_static(&mut ui); let texts = Span::empty(Dir::DOWN).add_static(&mut ui); - let msg_area = ( - Rect::new(Color::SKY), - texts - .offset(UiVec2::ZERO) - .edit_on(Sense::Scroll, |w, data| { - w.amt += UiVec2::abs(data.scroll_delta * 50.0); - }), - ) - .stack(); + let msg_area = (Rect::new(Color::SKY), texts.scroll()).stack(); let add_text = text_edit("add") .text_align(Align::Left) .size(30)