pub struct EguiOverlay { /* private fields */ }Expand description
Egui-based editor overlay implementation.
Created once during engine initialization and stored in the ServiceRegistry.
The editor application accesses the shared egui::Context to build its UI.
Implementations§
Source§impl EguiOverlay
impl EguiOverlay
Sourcepub fn new(
event_loop: &ActiveEventLoop,
surface_format: TextureFormat,
device: &Device,
shader_source: &str,
) -> Self
pub fn new( event_loop: &ActiveEventLoop, surface_format: TextureFormat, device: &Device, shader_source: &str, ) -> Self
Creates a new EguiOverlay.
§Arguments
event_loop- The winit event loop (needed byegui_winit::State).surface_format- The wgpu surface texture format.device- The wgpu device for pipeline initialization.shader_source- The WGSL shader source for egui rendering.
Sourcepub fn context(&self) -> Context
pub fn context(&self) -> Context
Returns a clone of the egui context (cheap — internally Arc’d).
The editor application stores this to build UI during update().
Sourcepub fn register_viewport_texture(
&mut self,
device: &Device,
view: &TextureView,
) -> TextureId
pub fn register_viewport_texture( &mut self, device: &Device, view: &TextureView, ) -> TextureId
Registers an external wgpu texture view with the egui renderer.
Returns the egui TextureId that can later be mapped to a
[ViewportTextureHandle].
Sourcepub fn update_viewport_texture(
&mut self,
device: &Device,
id: TextureId,
view: &TextureView,
)
pub fn update_viewport_texture( &mut self, device: &Device, id: TextureId, view: &TextureView, )
Updates an existing viewport texture to point to a new wgpu view (e.g. after a resize).
Trait Implementations§
Source§impl EditorOverlay for EguiOverlay
impl EditorOverlay for EguiOverlay
Source§fn handle_window_event(&mut self, window: &dyn Any, event: &dyn Any) -> bool
fn handle_window_event(&mut self, window: &dyn Any, event: &dyn Any) -> bool
Process a raw window event for the overlay. Read more
Source§fn begin_frame(&mut self, window: &dyn Any, screen: OverlayScreenDescriptor)
fn begin_frame(&mut self, window: &dyn Any, screen: OverlayScreenDescriptor)
Starts a new overlay frame. Read more
Source§fn ui_context(&self) -> &dyn Any
fn ui_context(&self) -> &dyn Any
Returns the UI context as a type-erased reference. Read more
Source§fn end_frame_and_render(
&mut self,
render_state: &mut dyn Any,
) -> Result<(), OverlayError>
fn end_frame_and_render( &mut self, render_state: &mut dyn Any, ) -> Result<(), OverlayError>
Ends the current frame and renders the overlay. Read more
Source§fn wants_pointer_input(&self) -> bool
fn wants_pointer_input(&self) -> bool
Returns
true if the overlay wants exclusive pointer input this frame. Read moreSource§fn wants_keyboard_input(&self) -> bool
fn wants_keyboard_input(&self) -> bool
Returns
true if the overlay wants exclusive keyboard input this frame. Read moreSource§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Mutable downcasting support.
impl Send for EguiOverlay
impl Sync for EguiOverlay
Auto Trait Implementations§
impl Freeze for EguiOverlay
impl !RefUnwindSafe for EguiOverlay
impl Unpin for EguiOverlay
impl UnsafeUnpin for EguiOverlay
impl !UnwindSafe for EguiOverlay
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<F, T, S> SimdInto<T, S> for Fwhere
T: SimdFrom<F, S>,
S: Simd,
impl<F, T, S> SimdInto<T, S> for Fwhere
T: SimdFrom<F, S>,
S: Simd,
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.