pub struct VirtualWindow { /* private fields */ }
Expand description
A virtual Cushy window.
This type allows rendering Cushy applications directly into any wgpu application.
Implementations§
source§impl VirtualWindow
impl VirtualWindow
sourcepub fn prepare(&mut self, device: &Device, queue: &Queue)
pub fn prepare(&mut self, device: &Device, queue: &Queue)
Prepares all necessary resources and operations necessary to render the next frame.
§Errors
If during the preparation of rendering, the window is resized,
Err(Resized)
is returned and Cushy will immediately resize the
graphics context and begin rendering again.
sourcepub fn render(
&mut self,
pass: &RenderPassDescriptor<'_>,
device: &Device,
queue: &Queue,
) -> Option<SubmissionIndex>
pub fn render( &mut self, pass: &RenderPassDescriptor<'_>, device: &Device, queue: &Queue, ) -> Option<SubmissionIndex>
Renders this window in a wgpu render pass created from pass
.
Returns the submission index of the last command submission, if any commands were submitted.
sourcepub fn render_with(
&mut self,
pass: &RenderPassDescriptor<'_>,
device: &Device,
queue: &Queue,
additional_drawing: Option<&Drawing>,
) -> Option<SubmissionIndex>
pub fn render_with( &mut self, pass: &RenderPassDescriptor<'_>, device: &Device, queue: &Queue, additional_drawing: Option<&Drawing>, ) -> Option<SubmissionIndex>
Renders this window in a wgpu render pass created from pass
.
Returns the submission index of the last command submission, if any commands were submitted.
sourcepub fn render_into(
&mut self,
texture: &Texture,
load_op: LoadOp<Color>,
device: &Device,
queue: &Queue,
) -> Option<SubmissionIndex>
pub fn render_into( &mut self, texture: &Texture, load_op: LoadOp<Color>, device: &Device, queue: &Queue, ) -> Option<SubmissionIndex>
Renders this window into texture
after performing load_op
.
sourcepub fn graphics<'gfx>(
&'gfx mut self,
device: &'gfx Device,
queue: &'gfx Queue,
) -> Graphics<'gfx>
pub fn graphics<'gfx>( &'gfx mut self, device: &'gfx Device, queue: &'gfx Queue, ) -> Graphics<'gfx>
Returns a new [kludgine::Graphics
] context for this window.
sourcepub fn request_close(&mut self) -> bool
pub fn request_close(&mut self) -> bool
Requests that the window close.
Returns true if the request should be honored.
sourcepub fn set_focused(&mut self, focused: bool)
pub fn set_focused(&mut self, focused: bool)
Sets the window’s focused status.
Being focused means that the window is expecting to be able to receive user input.
sourcepub fn set_occluded(&mut self, occluded: bool)
pub fn set_occluded(&mut self, occluded: bool)
Sets the window’s occlusion status.
This should only be set to true if the window is not visible at all to the end user due to being offscreen, minimized, or fully hidden behind other windows.
sourcepub const fn state(&self) -> &VirtualState
pub const fn state(&self) -> &VirtualState
Returns a reference to the window’s state.
sourcepub fn resize(
&mut self,
new_size: Size<UPx>,
new_scale: impl Into<Fraction>,
queue: &Queue,
)
pub fn resize( &mut self, new_size: Size<UPx>, new_scale: impl Into<Fraction>, queue: &Queue, )
Updates the dimensions and DPI scaling of the window.
sourcepub fn set_position(&mut self, new_position: Point<Px>)
pub fn set_position(&mut self, new_position: Point<Px>)
Sets the window’s position.
sourcepub fn keyboard_input(
&mut self,
device_id: DeviceId,
input: KeyEvent,
is_synthetic: bool,
) -> EventHandling
pub fn keyboard_input( &mut self, device_id: DeviceId, input: KeyEvent, is_synthetic: bool, ) -> EventHandling
sourcepub fn mouse_wheel(
&mut self,
device_id: DeviceId,
delta: MouseScrollDelta,
phase: TouchPhase,
) -> EventHandling
pub fn mouse_wheel( &mut self, device_id: DeviceId, delta: MouseScrollDelta, phase: TouchPhase, ) -> EventHandling
sourcepub fn ime(&mut self, ime: &Ime) -> EventHandling
pub fn ime(&mut self, ime: &Ime) -> EventHandling
sourcepub fn cursor_moved(
&mut self,
device_id: DeviceId,
position: impl Into<Point<Px>>,
)
pub fn cursor_moved( &mut self, device_id: DeviceId, position: impl Into<Point<Px>>, )
Provides cursor movement events to this window.
sourcepub fn cursor_left(&mut self)
pub fn cursor_left(&mut self)
Notifies the window that the cursor is no longer within the window.
sourcepub fn mouse_input(
&mut self,
device_id: DeviceId,
state: ElementState,
button: MouseButton,
) -> EventHandling
pub fn mouse_input( &mut self, device_id: DeviceId, state: ElementState, button: MouseButton, ) -> EventHandling
Auto Trait Implementations§
impl !Freeze for VirtualWindow
impl !RefUnwindSafe for VirtualWindow
impl !Send for VirtualWindow
impl !Sync for VirtualWindow
impl Unpin for VirtualWindow
impl !UnwindSafe for VirtualWindow
Blanket Implementations§
source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters
when converting.source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.§impl<A> Cast for A
impl<A> Cast for A
source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
§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>
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>
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)
&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)
&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> FromAngle<T> for T
impl<T> FromAngle<T> for T
source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle
.source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other
into Self
, while performing the appropriate scaling,
rounding and clamping.§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, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
source§fn into_angle(self) -> U
fn into_angle(self) -> U
T
.source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters
when converting.source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
source§fn into_color(self) -> U
fn into_color(self) -> U
source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
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> IntoReadOnly<T> for T
impl<T> IntoReadOnly<T> for T
source§fn into_read_only(self) -> ReadOnly<T>
fn into_read_only(self) -> ReadOnly<T>
self
as a ReadOnly
.source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self
into T
, while performing the appropriate scaling,
rounding and clamping.source§impl<T> IntoValue<T> for T
impl<T> IntoValue<T> for T
source§fn into_value(self) -> Value<T>
fn into_value(self) -> Value<T>
Value
.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors
fails to cast.source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds
error is returned which contains
the unclamped color. Read more