2020-05-26 04:04:48 +10:00
|
|
|
[package]
|
|
|
|
name = "baseview"
|
|
|
|
version = "0.1.0"
|
2020-05-26 05:35:33 +10:00
|
|
|
authors = [
|
|
|
|
"William Light <git@wrl.lhiaudio.com>",
|
2020-05-26 06:24:16 +10:00
|
|
|
"Charles Saracco <crsaracco@gmail.com>",
|
2020-05-26 07:14:42 +10:00
|
|
|
"Mirko Covizzi <mrkcvzz@gmail.com>",
|
|
|
|
"Micah Johnston <micah@glowcoil.com>",
|
2020-09-03 07:22:49 +10:00
|
|
|
"Billy Messenger <billydm@protonmail.com>",
|
macOS: basic event handling (#52)
* macOS: add basic event handling
* macos: don't store subview pointer in WindowHandle
* macOS: mention inspiration from antonok's vst_window crate, clean up
* Add Anton Lazarev and myself to author list
* macOS: fix event handling issues
- Rename EventDelegate to WindowState
- Make Window.ns_window optional, only set it if parentless
- Put our own NSView subclass in Window.ns_view
- Don't create useless "intermediate" NSView in parentless mode
* macOS: use Arc::from_raw in WindowHandler dealloc fn
* macOS: move subview code own file, handle more mouse events
* macOS: add (non-tested) support for AsIfParented window
* macOS: rename subview module to view
* macOS: rename "mouse_click_extern_fn!" to "mouse_button_extern_fn!"
This avoids confusion with the click event
* macOS: make WindowState Arc wrapping code clearer
* macOS: handle basic key press and release events
* macOS: accept mouseMoved events, don't trigger them on clicks
* macOS: fix cursor movement location conversion
* macOS: add WindowState.trigger_event fn, make fields private
* macOS: in view, set preservesContentInLiveResize to NO
* macOS: add NSTrackingArea, cursor enter/exit events, better window init
* macOS: remove unused WindowState.size field
* macOS: acceptFirstMouse = YES in view
* macOS: rename macro mouse_button_extern_fn to mouse_simple_extern_fn
* macOS: remove key event handling, it will be implemented differently
* macOS: trigger CursorMoved on right and middle mouse drag
* macOS: run NSEvent.setMouseCoalescingEnabled(NO)
* macOS: clean up
* macOS: non-parented mode: don't "activate ignoring other apps"
This is rarely necessary according to
https://developer.apple.com/documentation/appkit/nsapplication/1428468-activate
and I don't see any reason why we would need to do it.
* macOS: call NSApp() before doing more work in non-parented mode
* macOS: don't attempt to declare NSView subclass multiple times
* macOS: add random suffix to name of NSView subclass to prevent issues
* macOS: send tracking area options as a usize (objc UInt)
* macOS: use UUID for class name suffix
* macOS: fix view_will_move_to_window super call
* macOS: drop WindowState when our NSView is released
* macOS: in Window::open, autorelease an NSString that was allocated
* macOS: delete our view class when the view is released
* Upgrade cocoa dependency to version 0.24.0
* macOS: reorder some code in view.rs
* macOS: mark WindowState::from_field as unsafe, update doc comment
* macOS: in HasRawWindowHandle impl, use unwrap_or for ns_window
2020-11-12 09:04:40 +11:00
|
|
|
"Anton Lazarev <https://antonok.com>",
|
|
|
|
"Joakim Frostegård <joakim.frostegard@gmail.com>",
|
2022-02-08 03:13:51 +11:00
|
|
|
"Robbert van der Helm <mail@robbertvanderhelm.nl>",
|
2020-05-26 05:35:33 +10:00
|
|
|
]
|
2020-05-26 04:04:48 +10:00
|
|
|
edition = "2018"
|
2020-11-13 07:52:49 +11:00
|
|
|
license = "MIT OR Apache-2.0"
|
2020-05-26 04:04:48 +10:00
|
|
|
|
2022-02-08 03:31:19 +11:00
|
|
|
[features]
|
2022-02-08 03:58:45 +11:00
|
|
|
default = []
|
2022-02-08 03:31:19 +11:00
|
|
|
opengl = ["uuid"]
|
|
|
|
|
2020-05-26 04:04:48 +10:00
|
|
|
[dependencies]
|
2022-02-07 10:58:11 +11:00
|
|
|
keyboard-types = { version = "0.6.1", default-features = false }
|
2022-02-08 03:13:51 +11:00
|
|
|
raw-window-handle = "0.4.2"
|
2020-09-03 07:22:49 +10:00
|
|
|
|
2020-05-26 05:35:33 +10:00
|
|
|
[target.'cfg(target_os="linux")'.dependencies]
|
|
|
|
xcb = { version = "0.9", features = ["thread", "xlib_xcb", "dri2"] }
|
2020-09-14 09:23:51 +10:00
|
|
|
x11 = { version = "2.18", features = ["xlib", "xcursor"] }
|
2020-09-12 02:02:22 +10:00
|
|
|
xcb-util = { version = "0.3", features = ["icccm"] }
|
2022-02-07 10:58:11 +11:00
|
|
|
nix = "0.22.0"
|
2020-05-26 05:35:33 +10:00
|
|
|
|
2020-05-26 06:24:16 +10:00
|
|
|
[target.'cfg(target_os="windows")'.dependencies]
|
2020-06-16 07:02:39 +10:00
|
|
|
winapi = { version = "0.3.8", features = ["libloaderapi", "winuser", "windef", "minwindef", "guiddef", "combaseapi", "wingdi", "errhandlingapi"] }
|
2022-02-08 03:31:19 +11:00
|
|
|
uuid = { version = "0.8", features = ["v4"], optional = true }
|
2020-05-26 05:35:33 +10:00
|
|
|
|
2020-05-26 07:14:42 +10:00
|
|
|
[target.'cfg(target_os="macos")'.dependencies]
|
macOS: basic event handling (#52)
* macOS: add basic event handling
* macos: don't store subview pointer in WindowHandle
* macOS: mention inspiration from antonok's vst_window crate, clean up
* Add Anton Lazarev and myself to author list
* macOS: fix event handling issues
- Rename EventDelegate to WindowState
- Make Window.ns_window optional, only set it if parentless
- Put our own NSView subclass in Window.ns_view
- Don't create useless "intermediate" NSView in parentless mode
* macOS: use Arc::from_raw in WindowHandler dealloc fn
* macOS: move subview code own file, handle more mouse events
* macOS: add (non-tested) support for AsIfParented window
* macOS: rename subview module to view
* macOS: rename "mouse_click_extern_fn!" to "mouse_button_extern_fn!"
This avoids confusion with the click event
* macOS: make WindowState Arc wrapping code clearer
* macOS: handle basic key press and release events
* macOS: accept mouseMoved events, don't trigger them on clicks
* macOS: fix cursor movement location conversion
* macOS: add WindowState.trigger_event fn, make fields private
* macOS: in view, set preservesContentInLiveResize to NO
* macOS: add NSTrackingArea, cursor enter/exit events, better window init
* macOS: remove unused WindowState.size field
* macOS: acceptFirstMouse = YES in view
* macOS: rename macro mouse_button_extern_fn to mouse_simple_extern_fn
* macOS: remove key event handling, it will be implemented differently
* macOS: trigger CursorMoved on right and middle mouse drag
* macOS: run NSEvent.setMouseCoalescingEnabled(NO)
* macOS: clean up
* macOS: non-parented mode: don't "activate ignoring other apps"
This is rarely necessary according to
https://developer.apple.com/documentation/appkit/nsapplication/1428468-activate
and I don't see any reason why we would need to do it.
* macOS: call NSApp() before doing more work in non-parented mode
* macOS: don't attempt to declare NSView subclass multiple times
* macOS: add random suffix to name of NSView subclass to prevent issues
* macOS: send tracking area options as a usize (objc UInt)
* macOS: use UUID for class name suffix
* macOS: fix view_will_move_to_window super call
* macOS: drop WindowState when our NSView is released
* macOS: in Window::open, autorelease an NSString that was allocated
* macOS: delete our view class when the view is released
* Upgrade cocoa dependency to version 0.24.0
* macOS: reorder some code in view.rs
* macOS: mark WindowState::from_field as unsafe, update doc comment
* macOS: in HasRawWindowHandle impl, use unwrap_or for ns_window
2020-11-12 09:04:40 +11:00
|
|
|
cocoa = "0.24.0"
|
2020-12-28 13:44:23 +11:00
|
|
|
core-foundation = "0.9.1"
|
2020-05-26 07:14:42 +10:00
|
|
|
objc = "0.2.7"
|
2020-12-09 11:37:17 +11:00
|
|
|
uuid = { version = "0.8", features = ["v4"] }
|
|
|
|
|
|
|
|
[dev-dependencies]
|
2021-11-16 17:00:22 +11:00
|
|
|
rtrb = "0.2"
|