chore: Replace as_any functions with trait upcasting (#28221)

Closes #ISSUE

Release Notes:

- N/A
This commit is contained in:
Piotr Osiewicz 2025-04-08 22:16:27 +02:00 committed by GitHub
parent 38ec45008c
commit 0b75c13034
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 23 additions and 87 deletions

View file

@ -33,10 +33,6 @@ impl ScrollableHandle for UniformListScrollHandle {
fn viewport(&self) -> Bounds<Pixels> {
self.0.borrow().base_handle.bounds()
}
fn as_any(&self) -> &dyn Any {
self
}
}
impl ScrollableHandle for ListState {
@ -66,10 +62,6 @@ impl ScrollableHandle for ListState {
fn viewport(&self) -> Bounds<Pixels> {
self.viewport_bounds()
}
fn as_any(&self) -> &dyn Any {
self
}
}
impl ScrollableHandle for ScrollHandle {
@ -107,10 +99,6 @@ impl ScrollableHandle for ScrollHandle {
fn viewport(&self) -> Bounds<Pixels> {
self.bounds()
}
fn as_any(&self) -> &dyn Any {
self
}
}
#[derive(Debug)]
@ -119,12 +107,11 @@ pub struct ContentSize {
pub scroll_adjustment: Option<Point<Pixels>>,
}
pub trait ScrollableHandle: Debug + 'static {
pub trait ScrollableHandle: Any + Debug {
fn content_size(&self) -> Option<ContentSize>;
fn set_offset(&self, point: Point<Pixels>);
fn offset(&self) -> Point<Pixels>;
fn viewport(&self) -> Bounds<Pixels>;
fn as_any(&self) -> &dyn Any;
fn drag_started(&self) {}
fn drag_ended(&self) {}
}