High level bindings to Ultralight SDK. Ultralight is a light and fast option to integrate GPU-accelerated HTML UI in your app.
#![ allow( dead_code, unused_must_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 ( ) ;
}