remove need to pass a system struct to prepare a new imgui frame

just needed the destination bitmap dimensions and we don't need the
whole system struct for that
This commit is contained in:
Gered 2023-04-08 21:04:45 -04:00
parent 0f4ed2965c
commit d85293d9bf
2 changed files with 5 additions and 9 deletions

View file

@ -2,8 +2,6 @@ use crate::platform::Platform;
use crate::renderer::Renderer;
use ggdt::graphics::bitmap::rgb::RgbaBitmap;
use ggdt::system::event::{SystemEvent, SystemEventHandler};
use ggdt::system::res::standard::Standard;
use ggdt::system::System;
pub mod platform;
pub mod renderer;
@ -24,8 +22,8 @@ impl ImGui {
ImGui { context, platform, renderer }
}
pub fn new_frame(&mut self, system: &mut System<Standard>) -> &mut imgui::Ui {
self.platform.prepare_frame(&mut self.context, system);
pub fn new_frame(&mut self, dest: &RgbaBitmap) -> &mut imgui::Ui {
self.platform.prepare_frame(&mut self.context, dest);
self.context.new_frame()
}

View file

@ -1,9 +1,7 @@
use ggdt::graphics::bitmap::rgb::RgbaBitmap;
use ggdt::system::event::{KeyModifiers, KeyboardEvent, MouseEvent, SystemEvent};
use ggdt::system::input_devices::keyboard::scancodes::Scancode;
use ggdt::system::input_devices::mouse::buttons::MouseButton;
use ggdt::system::res::standard::Standard;
use ggdt::system::res::SystemResources;
use ggdt::system::System;
use std::time::Instant;
fn handle_key(io: &mut imgui::Io, key: Scancode, down: bool) {
@ -201,14 +199,14 @@ impl Platform {
}
}
pub fn prepare_frame(&mut self, context: &mut imgui::Context, system: &System<Standard>) {
pub fn prepare_frame(&mut self, context: &mut imgui::Context, dest: &RgbaBitmap) {
let io = context.io_mut();
let now = Instant::now();
io.update_delta_time(now.duration_since(self.last_frame));
self.last_frame = now;
io.display_size = [system.res.width() as f32, system.res.height() as f32];
io.display_size = [dest.width() as f32, dest.height() as f32];
io.display_framebuffer_scale = [1.0, 1.0];
}
}