pub struct TrackballViewport { /* private fields */ }Expand description
Trackball viewport currently focused and hence capturing input events.
- Enables multiple viewports/windows with individual controllers/cameras.
- Enables UI systems to steal the viewport in order to capture input events.
Implementations§
Source§impl TrackballViewport
impl TrackballViewport
Sourcepub fn stolen(viewport: Res<'_, Self>) -> bool
pub fn stolen(viewport: Res<'_, Self>) -> bool
Condition whether the viewport has been stolen, evaluated by
IntoScheduleConfigs::run_if.
Interferes with automatic viewport stealing if the bevy_egui feature is enabled. As
automatic viewport stealing gives the viewport back with set_stolen(None) instead of
set_stolen(Some(0)), you can override it in the same frame for your own input capturing.
Sourcepub const fn was_stolen(&self) -> bool
pub const fn was_stolen(&self) -> bool
Whether viewport has just been given back.
Interferes with automatic viewport stealing if the bevy_egui feature is enabled. As
automatic viewport stealing gives the viewport back with set_stolen(None) instead of
set_stolen(Some(0)), you can override it in the same frame for your own input capturing.
Sourcepub const fn set_stolen(&mut self, stolen: Option<usize>)
pub const fn set_stolen(&mut self, stolen: Option<usize>)
Steals the viewport or gives it back.
Interferes with automatic viewport stealing if the bevy_egui feature is enabled. As
automatic viewport stealing gives the viewport back with set_stolen(None) instead of
set_stolen(Some(0)), you can override it in the same frame for your own input capturing.
§Examples
Steals the viewport for Some(frames) and lets it count frames down with None:
fn system(/* ... */) {
viewport.set_stolen(just_stolen.then_some(3));
}
// frame 0: just_stolen = true -> set_stolen(Some(3)) -> frames = 3 -> stolen = true
// frame 1: just_stolen = false -> set_stolen(None) -> frames = 2 -> stolen = true
// frame 2: just_stolen = false -> set_stolen(None) -> frames = 1 -> stolen = true
// frame 3: just_stolen = false -> set_stolen(None) -> frames = 0 -> stolen = falseSteals the viewport with Some(1) and gives it back with Some(0):
fn system(/* ... */) {
if just_stolen {
viewport.set_stolen(Some(1));
}
if just_give_back {
viewport.set_stolen(Some(0));
}
}
// frame 0: just_stolen = true -> set_stolen(Some(1)) -> frames = 1 -> stolen = true
// frame 1: just_stolen = false -> -> frames = 1 -> stolen = true
// frame 25: just_stolen = false -> -> frames = 1 -> stolen = true
// frame 50: just_give_back = true -> set_stolen(Some(0)) -> frames = 0 -> stolen = falseTrait Implementations§
Source§impl Clone for TrackballViewport
impl Clone for TrackballViewport
Source§fn clone(&self) -> TrackballViewport
fn clone(&self) -> TrackballViewport
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TrackballViewport
impl Debug for TrackballViewport
Source§impl Default for TrackballViewport
impl Default for TrackballViewport
Source§fn default() -> TrackballViewport
fn default() -> TrackballViewport
Source§impl PartialEq for TrackballViewport
impl PartialEq for TrackballViewport
impl Eq for TrackballViewport
impl Resource for TrackballViewport
impl StructuralPartialEq for TrackballViewport
Auto Trait Implementations§
impl Freeze for TrackballViewport
impl RefUnwindSafe for TrackballViewport
impl Send for TrackballViewport
impl Sync for TrackballViewport
impl Unpin for TrackballViewport
impl UnwindSafe for TrackballViewport
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>, which can then be
downcast into Box<dyn 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>, which 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> 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> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
Creates Self using default().
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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 moreSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.