use std::time::Duration;
use headless_webview::{
self,
types::{self, WindowSize},
webview::Color,
WebviewBuilder, EngineWebview,
};
pub fn main() {
let window = headless_webview_engine::windowed()
.with_inner_size(WindowSize::new(600, 400))
.with_transparent(true)
.build()
.unwrap();
let mut webview = WebviewBuilder::new(window)
.unwrap()
.with_color(Color::new(1., 1., 1., 0.))
.with_html(
"<body style=\"margin: 10px; background: rgba(255, 255, 0, 0.5);\">hello world!</body>",
)
.unwrap()
.build()
.unwrap();
webview.tick(types::TickMode::WaitFor(Duration::from_millis(300)));
webview.send_mouse_event(types::MouseEvent {
button: types::MouseButton::Left,
state: types::ElementState::Pressed,
position: types::Vec2::new(20., 30.),
});
webview.send_mouse_event(types::MouseEvent {
button: types::MouseButton::Left,
state: types::ElementState::Released,
position: types::Vec2::new(20., 30.),
});
webview.send_keyboard_input(types::KeyboardInput {
state: types::ElementState::Pressed,
});
webview.tick(types::TickMode::WaitFor(Duration::from_millis(300)));
loop {
webview.tick(types::TickMode::WaitFor(Duration::from_millis(16)));
if let Ok(Some(texture)) = webview.get_texture() {
println!("TEXTURE {:?}", &texture.data[..4]);
}
}
}