1
0
Fork 0
Commit graph

295 commits

Author SHA1 Message Date
Micah Johnston 348bc9fe61
Remove RawWindowHandleWrapper (#156)
RawWindowHandleWrapper is only necessary since GlContext::create takes an `impl
HasRawWindowHandle` argument, but GlContext::create is an internal unsafe API
and it is can just take a RawWindowHandle directly.
2023-12-12 11:47:32 -06:00
Micah Johnston 3ecc88f9fc
Fix warnings on macos (#155) 2023-12-12 17:40:45 +00:00
Micah Johnston df0e3928a2
Remove Window::open_as_if_parented (#153)
The open_as_if_parented method was intended to support the use case of Audio
Unit plugin views. However, the Audio Unit API differs in important ways from
other plugin APIs (such as VST 3 and CLAP) with regard to the lifetime
management of the plugin's NSView, and trying to support both lifetime
management patterns simultaneously has been the source of complexity and bugs.
Thus, rather than implementing Audio Unit NSView management directly in
Baseview, it will be the responsibility of plugin frameworks to implement a
compatibility layer between the Audio Unit API and the Baseview API.
2023-12-12 16:45:12 +00:00
Micah Johnston d08f7afd49
Run rustfmt (#154) 2023-12-12 10:41:03 -06:00
Nick Gideo dbf4623b6e
Merge branch 'master' into drag-and-drop-mac 2023-12-09 16:12:05 -06:00
Robbert van der Helm f0639b787b
Merge pull request #151 from Fredemus/feature/x11-cursor-enter-leave
Add logic for CursorEntered/CursorLeft on x11
2023-10-08 14:02:37 +02:00
Fredemus 486bb1f069 add MouseMoved event when ENTER_NOTIFY happens 2023-10-07 16:23:12 +02:00
Robbert van der Helm 54af726498
Merge pull request #134 from greatest-ape/raw-window-handle-0.5
Upgrade to raw-window-handle version 0.5
2023-10-07 15:12:01 +02:00
Fredemus fd1a3a4d2e Add logic for CursorEntered/CursorLeft on x11 2023-10-03 17:14:33 +02:00
Joakim Frostegård 0df43486ba X11: provide XlibWindowHandle.visual_id 2023-09-30 17:03:20 +02:00
Joakim Frostegård 4130502a2a X11 GlContext::create: change display arg to *mut xlib::XDisplay 2023-09-30 17:03:20 +02:00
Joakim Frostegård 70f46a691d X11: set XlibDisplayHandle.screen 2023-09-30 17:03:20 +02:00
Joakim Frostegård e35f3080f6 Fix Windows compilation issue 2023-09-30 17:03:20 +02:00
Joakim Frostegård 10c970a329 Fix X11 OpenGL issue 2023-09-30 17:03:20 +02:00
Joakim Frostegård 6f32584149 X11: set XlibWindowHandle.window and XlibDisplayhandle.display 2023-09-30 17:03:20 +02:00
Joakim Frostegård eb94b4d7ab Impl HasRawDisplayHandle on Window, not WindowHandle 2023-09-30 17:03:20 +02:00
Joakim Frostegård 5c23c62030 Add dummy HasRawDisplayHandle impls for Windows and X11 2023-09-30 17:01:15 +02:00
Joakim Frostegård 1c0490f9ec Upgrade to raw-window-handle 0.5, impl HasRawDisplayHandle for macOS 2023-09-30 17:00:08 +02:00
Jussi Viiri 8270260382 Working drag and drop for Mac OS 2023-06-20 17:30:30 +03:00
Jussi Viiri 1921d477ff Start implementing drag and drop for Mac 2023-06-19 19:11:39 +03:00
Jussi Viiri 9887737d8d Add comment about why we need to transmute
IDropTargetVtbl members
2023-06-18 20:40:17 +03:00
Jussi Viiri cfa06f5b59 Move DropTarget to its own module 2023-06-10 23:20:46 +03:00
Jussi Viiri b33398703f Walk back the previous restructuring a bit
We were leaking the DropTarget, so WindowState holds a reference to DropTarget again, so it can be dropped when the window is destroyed. Also, DropTarget now holds a Weak reference to WindowState and that's taken into account in callbacks.
2023-06-10 23:07:11 +03:00
Jussi Viiri 9028321012 Call RevokeDragDrop() before dropping WindowState 2023-06-10 23:02:25 +03:00
Jussi Viiri 481bf73293 Clean up ownership around WindowState and DropTarget
- WindowState no longer holds a reference to DropTarget
- DropTarget is passed to RegisterDragDrop() with Rc::into_raw() instead of Rc::as_ptr() so it keeps the reference
- WindowState is created with Rc instead of Box so DropTarget can hold a Rc to it
2023-06-10 22:47:22 +03:00
Jussi Viiri eb3a02115a Change how DragTarget functions parse coordinates
Instead of working around the winapi bug by manually parsing the pointer we're (incorrectly) given, use the correct function signature and transmute the function pointer
2023-06-10 22:21:37 +03:00
Jussi Viiri 2019efde65 Use Rc instead of Arc for DropTarget 2023-06-10 22:01:23 +03:00
Jussi Viiri 4f0a71736c Remove unnecessary transmute 2023-06-10 21:58:31 +03:00
Jussi Viiri e47f25facd DropTargetVtbl instance is const now 2023-06-10 21:52:44 +03:00
Jussi Viiri 92d7560f4b Document EventStatus::AcceptDrop 2023-06-05 22:24:29 +03:00
Jussi Viiri ab673fe534 Comment cleanup 2023-06-05 22:20:07 +03:00
Jussi Viiri fe03957514 Add keyboard modifiers to drag events
Remove fields from DragLeft
2023-06-05 21:00:19 +03:00
Jussi Viiri e9a1460a5b Use Point for drag coordinates like other mouse events 2023-06-05 20:53:25 +03:00
Jussi Viiri 1a8484bc55 Add coordinates to drag events 2023-06-05 20:48:06 +03:00
Jussi Viiri 1c50c326cb Add drop data to all drag events
Add DragData::None instead of using Option<DragData>
2023-06-05 20:25:27 +03:00
Jussi Viiri b5f3939930 Parse drop data
Only handling files for now
2023-06-04 23:43:10 +03:00
Jussi Viiri ef64cae538 Delete some unused lines committed by accident 2023-06-04 21:40:45 +03:00
Jussi Viiri f5840bc65b Refactor away duplicated code 2023-06-04 21:39:59 +03:00
Jussi Viiri d8ffd4abc6 Drop effect is now set based on EventStatus 2023-06-03 22:50:39 +03:00
Jussi Viiri 0eff674319 Janky first version of drag and drop
Just recognized as a drop target
2023-05-31 22:43:30 +03:00
Taylor Holliday dbda356826 Use &str instead of String. 2023-02-22 10:14:54 -08:00
Taylor Holliday 2b70a08e14 Add stubs for copy_to_clipboard. 2023-02-21 17:09:17 -08:00
Taylor Holliday 775d15df38 Simplify and use copy_to_clipboard. 2023-02-21 15:45:11 -08:00
Taylor Holliday 0675273801 Formatting 2023-02-21 15:26:22 -08:00
Taylor Holliday ffdc278e97 Add copy_to_clipboard. 2023-02-21 15:22:52 -08:00
Robbert van der Helm 425ee7ac35 Add missing AdjustWindowRectEx() for resize 2023-01-02 00:09:25 +01:00
Robbert van der Helm be5238ec46 Replace Rcs by reference to entire WindowState
This removes the need to pass through individual Rcs at the cost of
adding more lifetime parameters to the internals of the shared `Window`
struct and requiring an `Option` for the handler.
2023-01-01 23:41:41 +01:00
Robbert van der Helm c10ca6b40f Clean up the Windows WindowState
This would leak before this change.
2023-01-01 23:05:34 +01:00
Robbert van der Helm 8e3e078220 Fix Clippy lints in macOS backend 2023-01-01 22:38:57 +01:00
Robbert van der Helm 39e97ab2be Fix Clippy lints in Windows backend 2023-01-01 22:38:49 +01:00