1
0
mirror of https://github.com/emilk/egui.git synced 2026-08-29 21:00:03 -04:00

Now App::update will be responsabile for what viewport will be drawned and its content

A big refactoring was needed
This commit is contained in:
Konkitoman
2023-07-25 10:54:31 +03:00
parent 19f807b4e9
commit 93a7c018d7
22 changed files with 290 additions and 45 deletions

View File

@@ -1,5 +1,5 @@
use eframe::{
egui::{Button, CentralPanel, Context, UserAttentionType},
egui::{Button, CentralPanel, Context, UserAttentionType, ViewportRender},
CreationContext, NativeOptions,
};
@@ -54,7 +54,16 @@ impl Application {
}
impl eframe::App for Application {
fn update(&mut self, ctx: &Context, frame: &mut eframe::Frame) {
fn update(
&mut self,
ctx: &Context,
frame: &mut eframe::Frame,
render: Option<&ViewportRender>,
) {
if let Some(render) = render {
render(ctx, frame.viewport_id(), frame.parent_viewport_id());
return;
}
if let Some(request_at) = self.request_at {
if request_at < SystemTime::now() {
self.request_at = None;