Struct bevy_window::WindowPlugin
source · pub struct WindowPlugin {
pub primary_window: Option<Window>,
pub exit_condition: ExitCondition,
pub close_when_requested: bool,
}
Expand description
A Plugin
that defines an interface for windowing support in Bevy.
Fields§
§primary_window: Option<Window>
Settings for the primary window.
Some(custom_window)
will spawn an entity with custom_window
and PrimaryWindow
as components.
None
will not spawn a primary window.
Defaults to Some(Window::default())
.
Note that if there are no windows the App will exit (by default) due to
exit_on_all_closed
.
exit_condition: ExitCondition
Whether to exit the app when there are no open windows.
If disabling this, ensure that you send the bevy_app::AppExit
event when the app should exit. If this does not occur, you will
create ‘headless’ processes (processes without windows), which may
surprise your users. It is recommended to leave this setting to
either ExitCondition::OnAllClosed
or ExitCondition::OnPrimaryClosed
.
ExitCondition::OnAllClosed
will add exit_on_all_closed
to Update
.
ExitCondition::OnPrimaryClosed
will add exit_on_primary_closed
to Update
.
close_when_requested: bool
Whether to close windows when they are requested to be closed (i.e. when the close button is pressed).
If true, this plugin will add close_when_requested
to Update
.
If this system (or a replacement) is not running, the close button will have no effect.
This may surprise your users. It is recommended to leave this setting as true
.
Trait Implementations§
source§impl Default for WindowPlugin
impl Default for WindowPlugin
source§impl Plugin for WindowPlugin
impl Plugin for WindowPlugin
source§fn ready(&self, _app: &App) -> bool
fn ready(&self, _app: &App) -> bool
finish
should be called.source§fn finish(&self, _app: &mut App)
fn finish(&self, _app: &mut App)
App
, once all plugins registered are ready. This can
be useful for plugins that depends on another plugin asynchronous setup, like the renderer.source§fn cleanup(&self, _app: &mut App)
fn cleanup(&self, _app: &mut App)
Auto Trait Implementations§
impl Freeze for WindowPlugin
impl RefUnwindSafe for WindowPlugin
impl Send for WindowPlugin
impl Sync for WindowPlugin
impl Unpin for WindowPlugin
impl UnwindSafe for WindowPlugin
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
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> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given World
.