1
0
Fork 0
Commit graph

231 commits

Author SHA1 Message Date
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