Expand description
Access to system display information, including system resolution, display layout and display layout change notification events.
Synopsis
// init must be called once during startup, before any function to nw.Screen can be called
nw_sys::screen::init_once();
let display_bounds_changed_callback = Callback::new(move |screen:JsValue|{
let screen: nw_sys::screen::ScreenInfo = screen.try_into()?;
log_info!("displayBoundsChanged: {:#?}", screen);
Ok(())
});
let display_added_callback = Callback::new(move |screen:JsValue|{
let screen: nw_sys::screen::ScreenInfo = screen.try_into()?;
log_info!("displayAdded: {:#?}", screen);
Ok(())
});
let display_removed_callback = Callback::new(move |screen:JsValue|{
let screen: nw_sys::screen::ScreenInfo = screen.try_into()?;
log_info!("displayRemoved: {:#?}", screen);
Ok(())
});
// listen to screen events
nw_sys::screen::on("displayBoundsChanged", display_bounds_changed_callback.as_ref());
nw_sys::screen::on("displayAdded", display_added_callback.as_ref());
nw_sys::screen::on("displayRemoved", display_removed_callback.as_ref());
// save callbacks somewhere
app.push_callback(display_bounds_changed_callback)?;
app.push_callback(display_added_callback)?;
app.push_callback(display_removed_callback)?;
Screen
Synopsis
use workflow_wasm::prelude::*;
// init must be called once during startup, before any function to nw.Screen can be called
nw_sys::screen::init_once();
let display_bounds_changed_callback = callback!(move |screen:JsValue|{
let screen: nw_sys::screen::ScreenInfo = screen.try_into()?;
log_info!("displayBoundsChanged: {:#?}", screen);
Ok(())
});
let display_added_callback = callback!(move |screen:JsValue|{
let screen: nw_sys::screen::ScreenInfo = screen.try_into()?;
log_info!("displayAdded: {:#?}", screen);
Ok(())
});
let display_removed_callback = callback!(move |screen:JsValue|{
let screen: nw_sys::screen::ScreenInfo = screen.try_into()?;
log_info!("displayRemoved: {:#?}", screen);
Ok(())
});
// listen to screen events
nw_sys::screen::on("displayBoundsChanged", display_bounds_changed_callback.into_js());
nw_sys::screen::on("displayAdded", display_added_callback.into_js());
nw_sys::screen::on("displayRemoved", display_removed_callback.into_js());
// save callbacks somewhere
app.push_callback(display_bounds_changed_callback)?;
app.push_callback(display_added_callback)?;
app.push_callback(display_removed_callback)?;
Modules
Structs
- physical screen resolution, can be negative, not necessarily start from 0, depending on screen arrangement
- Screen Info
- useable area within the screen bound
Enums
- Media source type
Functions
- Choose desktop media
- Init the Screen singleton object, you only need to call this once
- Call the screen::init() if screen is not initialized yet
- Return true is screen is initialized
- Interface for accessing display & monitor layout information. For usage example please refer to nw_sys::screen
- Get the array of screen (number of screen connected to the computer)