Billy Messenger
ddbc95a2ed
Merge branch 'master' of https://github.com/RustAudio/baseview into master
2020-09-11 11:39:20 -05:00
William Light
b64183fb19
x11: Event::WillClose support
...
this is a nightmare of ICCCM protocols but hey it's done now.
2020-09-11 18:03:04 +02:00
Billy Messenger
9efade9a18
Fix Windows build
2020-09-11 10:44:05 -05:00
Billy Messenger
83f2ffd27a
Rename scale_factor to scale
2020-09-11 10:23:19 -05:00
Billy Messenger
b8bc006fc1
Add and refactor events
2020-09-11 10:21:05 -05:00
William Light
072918cb3f
rename WindowHandler.draw() to WindowHandler.on_frame()
...
also remove the `Window` ref argument because `on_frame()` shouldn't be
doing any window system ops (this is my opinion and i am happy to
backpedal if it turns out to be wrong).
2020-09-11 16:54:13 +02:00
William Light
b650bf772f
x11: frame/draw callbacks
...
currently fixed at 15ms (just above 60fps), but easily configurable and
something we can query the display server for in the future.
2020-09-11 16:32:21 +02:00
William Light
dcb99e5c43
x11: switch from wait_for_event() to directly using poll()
2020-09-11 16:13:32 +02:00
William Light
c76f089c96
x11/window: nitpicky code aesthetics
2020-09-11 15:50:10 +02:00
William Light
b5dfbd946e
x11: pass XCB conn error back through XcbConnection::new()
2020-09-11 15:47:00 +02:00
William Light
da2c12dd25
x11: move scaling determination funcs into xcb_connection.rs
2020-09-11 15:44:01 +02:00
William Light
54f8bc7345
x11: split event loop and XCB event handling into separate fns
2020-09-11 15:40:19 +02:00
Micah Johnston
5ecce5d28d
Window::open() returns WindowHandle struct
2020-09-08 18:45:29 -05:00
Micah Johnston
601a5d62a4
remove mspc channel (to be replaced by baseview-specific WindowHandle
2020-09-08 18:45:29 -05:00
Micah Johnston
c51aea5c12
rename AppWindow -> WindowHandler
2020-09-08 18:45:29 -05:00
micah
057324e688
adapt x11 backend to new api
2020-09-07 21:33:03 -04:00
Micah Johnston
bb6a5eeeac
adapt macos backend to new api
2020-09-07 21:33:03 -04:00
Micah Johnston
e78598954f
adapt windows backend to new api
2020-09-07 21:33:03 -04:00
Micah Johnston
58ed00eb11
api change: AppWindow methods receive an &mut Window, which implements HasRawWindowHandle
2020-09-07 21:33:03 -04:00
Micah Johnston
08c9aec50c
switch from Arc<Mutex<>> to Rc<RefCell<>> since the wndproc is only called on one thread
2020-09-07 02:16:45 -05:00
Micah Johnston
aafd54b76c
get Window as pointer instead of using Arc::from_raw()
2020-09-07 02:12:06 -05:00
Micah Johnston
89bd912a73
call DispatchMessage in event loop and combine handle_message with wnd_proc
2020-09-07 01:17:14 -05:00
Micah Johnston
4464e6ec1f
get macos building
2020-09-06 11:18:46 -05:00
Micah Johnston
0da82a4bdd
pass Arc<Window> by reference instead of cloning
2020-09-05 21:37:35 -05:00
Micah Johnston
10d3870644
clean up some warnings and cargo fmt
2020-09-05 21:19:37 -05:00
Micah Johnston
9d39ba9117
don't need to reset userdata, just leak the Arc with into_raw so it stays alive
2020-09-05 21:15:17 -05:00
Micah Johnston
6e7038d26e
remove gl context creation code from windows
2020-09-05 21:15:15 -05:00
Micah Johnston
6a7bea1fa4
get windows building again
2020-09-05 20:12:05 -05:00
Billy Messenger
147037e639
Change unwrap() to unwrap_or(1.0)
2020-09-05 17:33:41 -05:00
Billy Messenger
08390d6004
Change AppWindow::create_context() to AppWindow::build()
2020-09-05 17:29:36 -05:00
Billy Messenger
93dfe909a8
fix minor nitpicks
2020-09-05 17:08:20 -05:00
Billy Messenger
dcfc988047
Change raw_handle to use an Xlib handle instead of an Xcb handle
2020-09-05 16:29:47 -05:00
Billy Messenger
c7d9d7d107
Add small wrapper for RawWindowHandle
2020-09-05 15:22:23 -05:00
Billy Messenger
f3ba681877
Replace dpi with scale
2020-09-05 14:55:45 -05:00
Billy Messenger
15b0c2e857
Replace RenderExpose event with draw method
2020-09-05 14:41:26 -05:00
Billy Messenger
6cf5966afa
Rename Application tratit to AppWindow
2020-09-05 11:19:09 -05:00
Billy Messenger
29917b87cd
Rename Receiver trait to Application
2020-09-03 11:50:15 -05:00
Billy Messenger
81e791f06b
Rename Message to Event. Add AppMessage type and on_app_message method to Receiver trait.
2020-09-03 11:38:22 -05:00
Billy Messenger
ab8cb1c223
Remove Opened message. Add RenderExpose message.
2020-09-03 10:58:24 -05:00
Billy Messenger
b0c3792c74
Revert to Receiver trait. Add create_context method to Receiver trait.
2020-09-03 10:54:23 -05:00
Billy Messenger
a5829cee88
rename build() to open()
2020-09-03 10:22:25 -05:00
Billy Messenger
2934a4c1fb
Remove context creation code. Add mpsc Message channel.
2020-09-03 10:17:54 -05:00
Billy Messenger
90a25ea988
cargo fmt
2020-09-02 16:23:03 -05:00
Billy Messenger
9234f050c0
Add compiler arguments for choosing between OpenGL or wgpu. Add Receiver and Message types.
2020-09-02 16:22:49 -05:00
Charles Saracco
efce8c5ec9
Merge pull request #26 from crsaracco/master
...
Handle X11 keyboard and mouse events (just println! for now)
2020-07-08 17:18:33 -04:00
Mirko Covizzi
98b8a1186b
Cargo fmt
2020-07-08 23:07:22 +02:00
Mirko Covizzi
fd7f4c1032
Merge remote-tracking branch 'upstream/master' into experiments
2020-07-08 23:04:39 +02:00
Mirko Covizzi
df72b11c74
Successful execution and rendering on Windows host
2020-07-08 23:03:03 +02:00
Mirko Covizzi
2d3bb0c817
Merge pull request #28 from MirkoCovizzi/experiments
...
Add Timer and manage some Events
2020-06-30 21:58:11 +02:00
Mirko Covizzi
46dacdfc37
Event management refactoring
2020-06-30 21:53:04 +02:00
Mirko Covizzi
0bd1ae52c5
Cargo fmt
2020-06-30 21:29:00 +02:00
Mirko Covizzi
c6293cd7d1
Add Timer
2020-06-30 21:25:53 +02:00
Mirko Covizzi
96380305d4
Merge branch 'events'
2020-06-15 23:03:16 +02:00
Mirko Covizzi
c499697a9a
Windows: add basic event handling
2020-06-15 23:02:39 +02:00
Charles Saracco
7308763470
Handle keyboard and mouse events (just println! for now)
2020-06-15 01:40:45 -04:00
Charles Saracco
c42b218bb1
Better DPI scale factor strategy for X11
2020-06-14 00:25:37 -04:00
Mirko Covizzi
f35f97c73e
Windows: Refactor: move register window class into its own function
2020-06-12 22:41:30 +02:00
Mirko Covizzi
8c2c743da4
Windows: implement window close method
2020-06-09 21:55:44 +02:00
Mirko Covizzi
561d1a3005
Cargo fmt
2020-06-08 23:04:18 +02:00
Mirko Covizzi
9324b1b129
Windows: Refactor: move guid generation to fn
2020-06-08 23:03:31 +02:00
Mirko Covizzi
2d4db1575d
Windows: Add message box
2020-06-08 22:59:17 +02:00
Mirko Covizzi
756b182250
Windows: add basic parent window support
2020-06-02 22:21:59 +02:00
Charles Saracco
cc6d17169e
OpenGL surface for X11/XCB
2020-05-31 14:39:14 -04:00
Mirko Covizzi
abd64adb16
Make code more idiomatic
2020-05-29 22:29:49 +02:00
Mirko Covizzi
09fc541055
Cargo clippy
2020-05-29 21:19:56 +02:00
Mirko Covizzi
0583f3de5f
Cargo fmt
2020-05-29 21:04:51 +02:00
Mirko Covizzi
e2c4c53f32
Add OpenGL context on Windows
2020-05-29 21:03:22 +02:00
Mirko Covizzi
829fa2c9bd
Merge
2020-05-29 11:30:43 +02:00
Mirko Covizzi
e5c37cc0de
Cleanup GUID string and add more conditional compilation
2020-05-26 09:39:13 +02:00
Micah Johnston
1b33c3c33e
unify api and file structure across platforms; make example platform-independent
2020-05-25 21:32:55 -05:00
Charles Saracco
ff5b7fee79
make example platform-independent (ish)
2020-05-25 21:18:23 -04:00
Charles Saracco
f087efefe2
fix lib.rs so that it builds on all three targeted platforms
2020-05-25 18:28:42 -04:00
Micah Johnston
951ba2a595
initial macos code
2020-05-25 16:17:59 -05:00
Charles Saracco
65baa03411
Merge remote-tracking branch 'upstream/master'
2020-05-25 17:00:37 -04:00
Charles Saracco
587e4e0bb1
DPI scaling: implement get_scaling function for X11
2020-05-25 16:59:47 -04:00
Mirko Covizzi
23a63d15a5
Merge
2020-05-25 22:24:16 +02:00
Mirko Covizzi
f75177e9b6
Setup unique class naming for windows on Windows
2020-05-25 22:15:58 +02:00
Charles Saracco
7eecb4675e
Add title changing
2020-05-25 15:54:22 -04:00
Charles Saracco
741318b7f6
barebones x11 window
2020-05-25 15:49:29 -04:00
Mirko Covizzi
e7c8a9780d
Add Windows initial code
2020-05-25 21:35:03 +02:00
William Light
7f299cf69b
add WindowOpenOptions
2020-05-25 20:04:48 +02:00