viewbuilder 0.7.0

Cross-platform UI framework
docs.rs failed to build viewbuilder-0.7.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: viewbuilder-0.10.0-alpha.5

A cross-platform user interface framework for Rust.

Viewbuilder is a moduler GUI library that can be used as an entire framework, or with individual parts.

use concoct::{Handle, Object, Slot};
use viewbuilder::native::{window, Window};
use winit::dpi::PhysicalSize;

struct App;

impl Object for App {}

impl Slot<window::Resized> for App {
    fn update(&mut self, _cx: Handle<Self>, msg: window::Resized) {
        dbg!(msg);
    }
}

#[viewbuilder::main]
fn main() {
    let app = App.start();

    let window_a = Window::builder().title("Window A").build().start();
    window_a.bind(&app);

    let window_b = Window::builder().title("Window B").build().start();
    window_b.bind(&app);

    window_a.send(window::SetSize(PhysicalSize::new(500, 500)));
}

Getting started

Instatllation is simple with:

cargo add viewbuilder --features full