#![deny(warnings)]
#![forbid(unsafe_code)]
#![warn(clippy::missing_docs_in_private_items)]
use egui_wings::egui::*;
pub use egui_wings::Egui;
use egui_wings::*;
use geese::*;
pub struct EguiHost {
ctx: Context,
}
impl EguiHost {
pub fn context(&self) -> &Context {
&self.ctx
}
pub fn set_context(&mut self, ctx: Context) {
self.ctx = ctx;
}
}
impl AsMut<dyn Egui> for EguiHost {
fn as_mut(&mut self) -> &mut dyn Egui {
self
}
}
impl Egui for EguiHost {
fn begin_context_edit(&self, deltas: ContextSnapshotDeltas) -> CreateContextSnapshot {
CreateContextSnapshot::FromContext(self.ctx.clone(), deltas)
}
fn end_context_edit(&self, state: CreateContextSnapshot) {
state.apply(&self.ctx);
}
}
impl GeeseSystem for EguiHost {
fn new(_: GeeseContextHandle<Self>) -> Self {
Self {
ctx: Context::default(),
}
}
}