window_zoom.rs 509 B

1234567891011121314151617181920212223
  1. use dioxus::prelude::*;
  2. use dioxus_desktop::use_window;
  3. fn main() {
  4. dioxus_desktop::launch(app);
  5. }
  6. fn app(cx: Scope) -> Element {
  7. let window = use_window(&cx);
  8. let level = use_state(&cx, || 1.0);
  9. cx.render(rsx! {
  10. input {
  11. r#type: "number",
  12. value: "{level}",
  13. oninput: |e| {
  14. let num = e.value.parse::<f64>().unwrap_or(1.0);
  15. level.set(num);
  16. window.set_zoom_level(num);
  17. }
  18. }
  19. })
  20. }