Skip to content

Commit 6b11808

Browse files
committed
update
1 parent 03458b0 commit 6b11808

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed

crates/rs-gui/try-wry/Cargo.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ version = "0.1.0"
44
edition = "2024"
55

66

7+
# simple
8+
[[bin]]
9+
name = "t00"
10+
path = "examples/try00.rs"
11+
12+
713
# multiwebview
814
[[bin]]
915
name = "t01"
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
// Copyright 2020-2023 Tauri Programme within The Commons Conservancy
2+
// SPDX-License-Identifier: Apache-2.0
3+
// SPDX-License-Identifier: MIT
4+
5+
use tao::{
6+
event::{Event, WindowEvent},
7+
event_loop::{ControlFlow, EventLoop},
8+
window::WindowBuilder,
9+
};
10+
use wry::{
11+
Rect, WebViewBuilder,
12+
dpi::{LogicalPosition, LogicalSize},
13+
};
14+
15+
fn main() -> wry::Result<()> {
16+
let event_loop = EventLoop::new();
17+
let window = WindowBuilder::new().build(&event_loop).unwrap();
18+
19+
//
20+
// Set the window size
21+
//
22+
window.set_inner_size(LogicalSize::new(800, 800));
23+
24+
let builder = WebViewBuilder::new().with_url("http://tauri.app").with_drag_drop_handler(|e| {
25+
match e {
26+
wry::DragDropEvent::Enter { paths, position } => {
27+
println!("DragEnter: {position:?} {paths:?} ")
28+
},
29+
wry::DragDropEvent::Over { position } => println!("DragOver: {position:?} "),
30+
wry::DragDropEvent::Drop { paths, position } => {
31+
println!("DragDrop: {position:?} {paths:?} ")
32+
},
33+
wry::DragDropEvent::Leave => println!("DragLeave"),
34+
_ => {},
35+
}
36+
37+
true
38+
});
39+
40+
#[cfg(any(
41+
target_os = "windows",
42+
target_os = "macos",
43+
target_os = "ios",
44+
target_os = "android"
45+
))]
46+
let _webview = builder.build(&window)?;
47+
#[cfg(not(any(
48+
target_os = "windows",
49+
target_os = "macos",
50+
target_os = "ios",
51+
target_os = "android"
52+
)))]
53+
let _webview = {
54+
use tao::platform::unix::WindowExtUnix;
55+
use wry::WebViewBuilderExtUnix;
56+
let vbox = window.default_vbox().unwrap();
57+
builder.build_gtk(vbox)?
58+
};
59+
60+
event_loop.run(move |event, _, control_flow| {
61+
*control_flow = ControlFlow::Wait;
62+
63+
if let Event::WindowEvent { event: WindowEvent::CloseRequested, .. } = event {
64+
*control_flow = ControlFlow::Exit;
65+
}
66+
});
67+
}

0 commit comments

Comments
 (0)