ul

High level bindings to Ultralight SDK. Ultralight is a light and fast option to integrate GPU-accelerated HTML UI in your app.
crates.io documentation Ultralight SDK


```rust

![allow(deadcode, unusedmust_use)]

use ::ul::*;

fn main() { let mut config = ul::Config::new(); let settings = ul::Settings::new();

let mut ul_app = ul::UltralightApp::new(
    Some(settings),
    Some(config),
);

ul_app.window(
    853u32, 480u32,
    false, false, true, true, false,
);

let mut ul = ul::Ultralight::new(
    None,
    Some(ul_app.get_renderer()),
);

ul.app(&mut ul_app);

ul.log_to_stdout();

ul.load_html(r#"
    <html>
        <head>
            <style>
                body {
                    background-color: black;
                    color: white;
                    font-size: 100px;
                }
            </style>
        </head>
        <body>Hello</body>
    </html>"#);

// or ..
//ul.load_url("https://sly.mn");

ul_app.overlay_resize(853u32, 480u32);

let mut finished = |_| println!("loaded!");
let mut dom_ready = |_| println!("dom ready!");

ul.set_finish_loading_callback(&mut finished);
ul.set_dom_ready_callback(&mut dom_ready);

ul_app.window_set_resize_callback(&mut |width: u32, height: u32| {
    ul_app.overlay_resize(width, height);
});

ul_app.run();

} ```