Struct kas_core::draw::SharedState
source · pub struct SharedState<DS: DrawSharedImpl> {
pub draw: DS,
}Expand description
Shared draw state
A single SharedState instance is shared by all windows and draw contexts.
This struct is built over a [DrawSharedImpl] object provided by the graphics backend,
which may be accessed directly for a lower-level API (though most methods
are available through SharedState directly).
Note: all functionality is implemented through the DrawShared trait to
allow usage where the DS type parameter is unknown. Some functionality is
also implemented directly to avoid the need for downcasting.
Fields§
§draw: DSThe graphics backend’s [DrawSharedImpl] object
Trait Implementations§
source§fn image_alloc(&mut self, size: (u32, u32)) -> Result<ImageHandle, AllocError>
fn image_alloc(&mut self, size: (u32, u32)) -> Result<ImageHandle, AllocError>
Allocate an image Read more
source§fn image_upload(
&mut self,
handle: &ImageHandle,
data: &[u8],
format: ImageFormat
)
fn image_upload( &mut self, handle: &ImageHandle, data: &[u8], format: ImageFormat )
Upload an image to the GPU Read more
source§fn image_free(&mut self, handle: ImageHandle)
fn image_free(&mut self, handle: ImageHandle)
Potentially free an image Read more
source§fn image_size(&self, handle: &ImageHandle) -> Option<Size>
fn image_size(&self, handle: &ImageHandle) -> Option<Size>
Get the size of an image
Auto Trait Implementations§
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
source§impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
source§fn try_cast_approx(self) -> Result<T, Error>
fn try_cast_approx(self) -> Result<T, Error>
source§fn cast_approx(self) -> T
fn cast_approx(self) -> T
source§impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
source§fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
Cast to integer, truncating Read more
source§fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
Cast to the nearest integer Read more
source§fn cast_floor(self) -> T
fn cast_floor(self) -> T
Cast the floor to an integer 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.