Implemented the ElementRenderer for widgets

This commit is contained in:
2025-08-04 12:35:56 -05:00
parent b363c81a24
commit e0059585ce
4 changed files with 76 additions and 122 deletions
+4 -2
View File
@@ -21,7 +21,7 @@ use crate::{
pub trait ElementRenderer {
/// Called right after the `after_render` function is called
#[allow(unused)]
fn on_after_render(&mut self, scope: &mut RenderScope, widget: &Arc<Widget>) {}
fn before_draw(&mut self, scope: &mut RenderScope, widget: &Arc<Widget>) {}
}
/// Represents a single render instruction.
@@ -330,11 +330,13 @@ impl RenderScope {
if let Some(t) = widget.get() {
self.set_transform(&t);
}
renderer.before_draw(self, widget);
self.draw();
widget.get_elem().after_render(self, ctx);
ctx.after_render(widget, self);
renderer.on_after_render(self, widget);
}
widget.auto_refresh();