william light
cd48fe57c7
Merge pull request #41 from RustAudio/x11-frame-timer
...
X11 frame timer
2020-09-11 17:48:39 +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
william light
23af18020e
Merge pull request #39 from glowcoil/window
...
API refactors: pass Window to AppWindow and introduce WindowHandle
2020-09-11 15:27:58 +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
william light
17c673957c
Merge pull request #38 from glowcoil/master
...
Refactor: call DispatchMessage in event loop and combine handle_message with wnd_proc
2020-09-07 22:15:26 +02: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
william light
1303c365d9
Merge pull request #37 from glowcoil/fix-macos
...
get macos building again
2020-09-06 18:51:17 +02:00
william light
d968c6182c
Merge pull request #34 from glowcoil/master
...
get windows building again and remove windows gl context creation code
2020-09-06 18:51:00 +02: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
William Light
128eab1b1d
CI: run tests in pull requests
2020-09-06 00:45:49 +02:00
william light
00c18dd91e
Merge pull request #32 from BillyDM/master
...
Add beginnings of cross-platform window events struct and AppWindow trait.
2020-09-06 00:36:42 +02: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