vizia_baseview

Struct Application

Source
pub struct Application<F>
where F: Fn(&mut Context) + Send + 'static,
{ /* private fields */ }
Expand description

Creating a new application creates a root Window and a Context. Views declared within the closure passed to Application::new() are added to the context and rendered into the root window.

§Example


Application::new(|cx|{
   // Content goes here
})
.run();

Calling run() on the Application causes the program to enter the event loop and for the main window to display.

Implementations§

Source§

impl<F> Application<F>
where F: Fn(&mut Context) + 'static + Send,

Source

pub fn new(app: F) -> Self

Source

pub fn ignore_default_theme(self) -> Self

Sets the default built-in theming to be ignored.

Source

pub fn with_scale_policy(self, scale_policy: WindowScalePolicy) -> Self

Change the window’s scale policy. Not part of new() to keep the same signature as the winit backend. This should only be used for HiDPI scaling, use [WindowDescription::scale_factor] to set a separate arbitrary scale factor.

Source

pub fn title(self, title: &str) -> Self

Source

pub fn inner_size(self, size: impl Into<WindowSize>) -> Self

Source

pub fn user_scale_factor(self, factor: f64) -> Self

A scale factor applied on top of any DPI scaling, defaults to 1.0.

Source

pub fn run(self) -> Result<(), ApplicationError>

Open a new window that blocks the current thread until the window is destroyed.

Do not use this in the context of audio plugins, unless it is compiled as a standalone application.

  • app - The Vizia application builder.
Source

pub fn open_parented<P: HasRawWindowHandle>(self, parent: &P) -> WindowHandle

Open a new child window.

This function does not block the current thread. This is only to be used in the context of audio plugins.

  • parent - The parent window.
  • app - The Vizia application builder.
Source

pub fn on_idle<I: 'static + Fn(&mut Context) + Send>(self, callback: I) -> Self

Takes a closure which will be called at the end of every loop of the application.

The callback provides a place to run ‘idle’ processing and happens at the end of each loop but before drawing. If the callback pushes events into the queue in context then the event loop will re-run. Care must be taken not to push events into the queue every time the callback runs unless this is intended.

§Example
Application::new(|cx|{
    // Build application here
})
.on_idle(|cx|{
    // Code here runs at the end of every event loop after OS and vizia events have been handled
})
.run();

Auto Trait Implementations§

§

impl<F> Freeze for Application<F>
where F: Freeze,

§

impl<F> !RefUnwindSafe for Application<F>

§

impl<F> Send for Application<F>

§

impl<F> !Sync for Application<F>

§

impl<F> Unpin for Application<F>
where F: Unpin,

§

impl<F> !UnwindSafe for Application<F>

Blanket Implementations§

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

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.

§

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> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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.
§

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