1
0
Fork 0
Commit graph

362 commits

Author SHA1 Message Date
William Light 7bb68d7d59 .github/workflows: add libxcb-icccm4-dev to ubuntu runner 2020-09-11 18:06:13 +02: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
william light ce48ae111a
Merge pull request #42 from RustAudio/rename-draw-to-on_frame
Rename WindowHandler.draw to WindowHandler.on_frame (merge after #41)
2020-09-11 17:48:50 +02:00
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