Struct cushy::window::Window

source ·
pub struct Window<Behavior = WidgetInstance>
where Behavior: WindowBehavior,
{ pub attributes: WindowAttributes, pub title: Value<String>, pub theme: Value<ThemePair>, pub load_system_fonts: bool, pub serif_font_family: FontFamilyList, pub sans_serif_font_family: FontFamilyList, pub fantasy_font_family: FontFamilyList, pub monospace_font_family: FontFamilyList, pub cursive_font_family: FontFamilyList, pub fonts: FontCollection, pub vsync: bool, pub multisample_count: NonZeroU32, /* private fields */ }
Expand description

A Cushy window that is not yet running.

Fields§

§attributes: WindowAttributes

The attributes of this window.

§title: Value<String>

The title to display in the title bar of the window.

§theme: Value<ThemePair>

The colors to use to theme the user interface.

§load_system_fonts: bool

When true, the system fonts will be loaded into the font database. This is on by default.

§serif_font_family: FontFamilyList

The list of font families to try to find when a FamilyOwned::Serif font is requested.

§sans_serif_font_family: FontFamilyList

The list of font families to try to find when a FamilyOwned::SansSerif font is requested.

§fantasy_font_family: FontFamilyList

The list of font families to try to find when a FamilyOwned::Fantasy font is requested.

§monospace_font_family: FontFamilyList

The list of font families to try to find when a FamilyOwned::Monospace font is requested.

§cursive_font_family: FontFamilyList

The list of font families to try to find when a FamilyOwned::Cursive font is requested.

§fonts: FontCollection

A collection of fonts that this window will load.

§vsync: bool

When true, Cushy will try to use “vertical sync” to try to eliminate graphical tearing that can occur if the graphics card has a new frame presented while the monitor is currently rendering another frame.

Under the hood, Cushy uses wgpu::PresentMode::AutoVsync when true and wgpu::PresentMode::AutoNoVsync when false.

§multisample_count: NonZeroU32

The number of samples to perform for each pixel rendered to the screen. When 1, multisampling is disabled.

Implementations§

source§

impl Window<WidgetInstance>

source

pub fn for_widget<W>(widget: W) -> Self
where W: MakeWidget,

Returns a new instance using widget as its contents.

source

pub fn focused(self, focused: impl IntoDynamic<bool>) -> Self

Sets focused to be the dynamic updated when this window’s focus status is changed.

When the window is focused for user input, the dynamic will contain true.

focused will be initialized with an initial state of false.

source

pub fn occluded(self, occluded: impl IntoDynamic<bool>) -> Self

Sets occluded to be the dynamic updated when this window’s occlusion status is changed.

When the window is occluded (completely hidden/offscreen/minimized), the dynamic will contain true. If the window is at least partially visible, this value will contain true.

occluded will be initialized with an initial state of false.

source

pub fn inner_size(self, inner_size: impl IntoDynamic<Size<UPx>>) -> Self

Sets inner_size to be the dynamic syncrhonized with this window’s inner size.

When the window is resized, the dynamic will contain its new size. When the dynamic is updated with a new value, a resize request will be made with the new inner size.

source

pub fn themed_mode(self, theme_mode: impl IntoValue<ThemeMode>) -> Self

Sets the ThemeMode for this window.

If a ThemeMode is provided, the window will be set to this theme mode upon creation and will not be updated while the window is running.

If a Dynamic is provided, the initial value will be ignored and the dynamic will be updated when the window opens with the user’s current theme mode. The dynamic will also be updated any time the user’s theme mode changes.

Setting the Dynamic’s value will also update the window with the new mode until a mode change is detected, upon which the new mode will be stored.

source

pub fn themed(self, theme: impl IntoValue<ThemePair>) -> Self

Applies theme to the widgets in this window.

source

pub fn loading_font(self, font_data: Vec<u8>) -> Self

Adds font_data to the list of fonts to load for availability when rendering.

All font families contained in font_data will be loaded.

source

pub fn on_close<Function>(self, on_close: Function) -> Self
where Function: FnOnce() + Send + 'static,

Invokes on_close when this window is closed.

source

pub fn titled(self, title: impl IntoValue<String>) -> Self

Sets the window’s title.

source§

impl<Behavior> Window<Behavior>
where Behavior: WindowBehavior,

source

pub fn new(context: Behavior::Context) -> Self

Returns a new instance using context to initialize the window upon opening.

Trait Implementations§

source§

impl<Behavior> Default for Window<Behavior>
where Behavior: WindowBehavior, Behavior::Context: Default,

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<Behavior> Open for Window<Behavior>
where Behavior: WindowBehavior,

source§

fn open<App>(self, app: &mut App) -> Result<Option<WindowHandle>>
where App: Application + ?Sized,

Opens the provided type as a window inside of app.
source§

fn run_in(self, app: PendingApp) -> Result

Runs the provided type inside of the pending app, returning Ok(()) upon successful execution and program exit. Note that this function may not ever return on some platforms.
source§

impl<Behavior> Run for Window<Behavior>
where Behavior: WindowBehavior,

source§

fn run(self) -> Result

Runs the provided type, returning Ok(()) upon successful execution and program exit. Note that this function may not ever return on some platforms.

Auto Trait Implementations§

§

impl<Behavior> Freeze for Window<Behavior>
where <Behavior as WindowBehavior>::Context: Freeze,

§

impl<Behavior = WidgetInstance> !RefUnwindSafe for Window<Behavior>

§

impl<Behavior> Send for Window<Behavior>

§

impl<Behavior = WidgetInstance> !Sync for Window<Behavior>

§

impl<Behavior> Unpin for Window<Behavior>
where <Behavior as WindowBehavior>::Context: Unpin,

§

impl<Behavior = WidgetInstance> !UnwindSafe for Window<Behavior>

Blanket Implementations§

source§

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
where 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) -> D
where M: TransformMatrix<T>,

Convert the source color to the destination color using the specified method.
source§

fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default.
source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T, C> ArraysFrom<C> for T
where C: IntoArrays<T>,

source§

fn arrays_from(colors: C) -> T

Cast a collection of colors into a collection of arrays.
source§

impl<T, C> ArraysInto<C> for T
where C: FromArrays<T>,

source§

fn arrays_into(self) -> C

Cast this collection of arrays into a collection of colors.
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for U
where T: FromCam16Unclamped<WpParam, U>,

§

type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
source§

fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar> ) -> T

Converts self into C, using the provided parameters.
§

impl<A> Cast for A

§

fn cast<To>(self) -> To
where To: CastFrom<A>,

Casts self to the To type. This may be a lossy operation.
§

impl<A> CastFrom<A> for A

§

fn from_cast(from: A) -> A

Returns from as Self.
§

impl<A, B> CastInto<A> for B
where A: CastFrom<B>,

§

fn cast_into(self) -> A

Returns self as To.
source§

impl<T, C> ComponentsFrom<C> for T
where C: IntoComponents<T>,

source§

fn components_from(colors: C) -> T

Cast a collection of colors into a collection of color components.
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

impl<T> Downcast for T
where T: 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>

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)

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)

Convert &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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromAngle<T> for T

source§

fn from_angle(angle: T) -> T

Performs a conversion from angle.
source§

impl<T, U> FromStimulus<U> for T
where U: IntoStimulus<T>,

source§

fn from_stimulus(other: U) -> T

Converts other into Self, while performing the appropriate scaling, rounding and clamping.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> IntoAngle<U> for T
where U: FromAngle<T>,

source§

fn into_angle(self) -> U

Performs a conversion into T.
source§

impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for U
where T: Cam16FromUnclamped<WpParam, U>,

§

type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
source§

fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar> ) -> T

Converts self into C, using the provided parameters.
source§

impl<T, U> IntoColor<U> for T
where U: FromColor<T>,

source§

fn into_color(self) -> U

Convert into T with values clamped to the color defined bounds Read more
source§

impl<T, U> IntoColorUnclamped<U> for T
where U: FromColorUnclamped<T>,

source§

fn into_color_unclamped(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
source§

impl<T> IntoReadOnly<T> for T

source§

fn into_read_only(self) -> ReadOnly<T>

Returns self as a ReadOnly.
source§

impl<T> IntoStimulus<T> for T

source§

fn into_stimulus(self) -> T

Converts self into T, while performing the appropriate scaling, rounding and clamping.
source§

impl<T> IntoValue<Option<T>> for T

source§

fn into_value(self) -> Value<Option<T>>

Returns this type as a Value.
source§

impl<T> IntoValue<T> for T

source§

fn into_value(self) -> Value<T>

Returns this type as a Value.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
source§

impl<T, C> TryComponentsInto<C> for T
where C: TryFromComponents<T>,

§

type Error = <C as TryFromComponents<T>>::Error

The error for when try_into_colors fails to cast.
source§

fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>

Try to cast this collection of color components into a collection of colors. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T, U> TryIntoColor<U> for T
where U: TryFromColor<T>,

source§

fn try_into_color(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more
source§

impl<C, U> UintsFrom<C> for U
where C: IntoUints<U>,

source§

fn uints_from(colors: C) -> U

Cast a collection of colors into a collection of unsigned integers.
source§

impl<C, U> UintsInto<C> for U
where C: FromUints<U>,

source§

fn uints_into(self) -> C

Cast this collection of unsigned integers into a collection of colors.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> WasmNotSend for T
where T: Send,