pub struct Frame { /* private fields */ }Expand description
Represents the surroundings of your app.
It provides methods to inspect the surroundings (are we on the web?), access to persistent storage, and access to the rendering backend.
Implementations§
Source§impl Frame
impl Frame
Sourcepub fn is_web(&self) -> bool
pub fn is_web(&self) -> bool
True if you are in a web environment.
Equivalent to cfg!(target_arch = "wasm32")
Sourcepub fn info(&self) -> &IntegrationInfo
pub fn info(&self) -> &IntegrationInfo
Information about the integration.
Sourcepub fn storage(&self) -> Option<&dyn Storage>
pub fn storage(&self) -> Option<&dyn Storage>
A place where you can store custom data in a way that persists when you restart the app.
Sourcepub fn storage_mut(&mut self) -> Option<&mut (dyn Storage + 'static)>
pub fn storage_mut(&mut self) -> Option<&mut (dyn Storage + 'static)>
A place where you can store custom data in a way that persists when you restart the app.
Sourcepub fn winit_window(&self) -> Option<&Arc<Window>>
pub fn winit_window(&self) -> Option<&Arc<Window>>
Access to the current winit::window::Window (i.e. the one the active viewport is rendered to).
None for headless (tests etc).
Sourcepub fn gl(&self) -> Option<&Arc<Context>>
pub fn gl(&self) -> Option<&Arc<Context>>
A reference to the underlying glow (OpenGL) context.
This can be used, for instance, to:
- Render things to offscreen buffers.
- Read the pixel buffer from the previous frame (
glow::Context::read_pixels). - Render things behind the egui windows.
Note that all egui painting is deferred to after the call to App::ui
(egui only collects egui::Shapes and then eframe paints them all in one go later on).
To get a glow context you need to compile with the glow feature flag,
and run eframe using Renderer::Glow.
Sourcepub fn register_native_glow_texture(&mut self, native: Texture) -> TextureId
pub fn register_native_glow_texture(&mut self, native: Texture) -> TextureId
Register your own glow::Texture,
and then you can use the returned egui::TextureId to render your texture with egui.
This function will take the ownership of your glow::Texture, so please do not delete your glow::Texture after registering.
Sourcepub fn wgpu_render_state(&self) -> Option<&RenderState>
pub fn wgpu_render_state(&self) -> Option<&RenderState>
The underlying WGPU render state.
Only available when compiling with the wgpu feature and using Renderer::Wgpu.
Can be used to manage GPU resources for custom rendering with WGPU using egui::PaintCallbacks.
Sourcepub fn wgpu_surface_config(&self) -> Option<SurfaceConfig>
pub fn wgpu_surface_config(&self) -> Option<SurfaceConfig>
The currently-applied runtime surface config (present mode, frame latency)
used by the wgpu renderer, if any.
Returns None when not using the wgpu backend.
Sourcepub fn set_wgpu_surface_config(&mut self, config: SurfaceConfig)
pub fn set_wgpu_surface_config(&mut self, config: SurfaceConfig)
Set the runtime surface config (present mode, frame latency) for the wgpu
renderer. The surface is reconfigured on the next paint.
No-op when not using the wgpu backend.
Trait Implementations§
Source§impl HasDisplayHandle for Frame
Available on non-WebAssembly only.
impl HasDisplayHandle for Frame
Source§fn display_handle(&self) -> Result<DisplayHandle<'_>, HandleError>
fn display_handle(&self) -> Result<DisplayHandle<'_>, HandleError>
Source§impl HasWindowHandle for Frame
Available on non-WebAssembly only.
impl HasWindowHandle for Frame
Source§fn window_handle(&self) -> Result<WindowHandle<'_>, HandleError>
fn window_handle(&self) -> Result<WindowHandle<'_>, HandleError>
Auto Trait Implementations§
impl !RefUnwindSafe for Frame
impl !Send for Frame
impl !Sync for Frame
impl !UnwindSafe for Frame
impl Freeze for Frame
impl Unpin for Frame
impl UnsafeUnpin for Frame
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> HasRawDisplayHandle for Twhere
T: HasDisplayHandle + ?Sized,
impl<T> HasRawDisplayHandle for Twhere
T: HasDisplayHandle + ?Sized,
Source§fn raw_display_handle(&self) -> Result<RawDisplayHandle, HandleError>
fn raw_display_handle(&self) -> Result<RawDisplayHandle, HandleError>
Use HasDisplayHandle instead
Source§impl<T> HasRawWindowHandle for Twhere
T: HasWindowHandle + ?Sized,
impl<T> HasRawWindowHandle for Twhere
T: HasWindowHandle + ?Sized,
Source§fn raw_window_handle(&self) -> Result<RawWindowHandle, HandleError>
fn raw_window_handle(&self) -> Result<RawWindowHandle, HandleError>
Use HasWindowHandle instead
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
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> ⓘ
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