dAxpeDDa
a7a8ff0bbb
Drop pointerrawupdate
support
2023-06-13 10:23:48 +02:00
dAxpeDDa
fc046add78
Resume propagation of events
2023-06-12 00:48:14 +02:00
dAxpeDDa
ab4a4a89e6
Remove unused EventListenerOptions
2023-06-11 19:44:52 +02:00
dAxpeDDa
f7a400ddf6
Improve media queries take 2
2023-06-09 20:38:54 +02:00
Xiaopeng Li
07d39abddd
Fix panic when destroying window ( #2773 )
...
* Fix crash when destroying window
* Add a comment to draw_rect
---------
Co-authored-by: Xiaopeng Li <lixiaopeng.jetspark@bytedance.com>
2023-06-09 16:20:27 +03:00
Imbris
0c8bf25ae4
Fix compilation on aarch64-linux
...
aarch64 defines `c_char` as `u8` and not `i8`. Use `c_char`
alias directly.
2023-06-09 11:46:01 +00:00
dAxpeDDa
b5785ba785
Revert "Fix Window::set_inner_size()
"
...
This reverts commit e220a75556
.
2023-06-08 09:09:46 +02:00
dAxpeDDa
9797ed86f0
Fix unable to ignore scale factor resize suggestion
2023-06-07 22:46:14 +02:00
dAxpeDDa
e220a75556
Fix Window::set_inner_size()
2023-06-07 14:53:59 +02:00
Robin Thunström
4a36741f9c
On Android, change default implementation to ignore volume keys and let operating system handle them ( #2748 )
2023-06-06 23:04:51 +02:00
dAxpeDDa
ab46aa5b79
Replace beforeunload
with pagehide
2023-06-05 16:40:53 +02:00
dAxpeDDa
12fb37d827
Make media queries more robust
2023-06-05 16:11:22 +02:00
dAxpeDDa
c88a4ab221
Use correct canvas size for scale factor change
2023-06-05 15:39:17 +02:00
daxpedda
8f7f3efc0d
On Web, implement Send
and Sync
where appropriate ( #2834 )
2023-06-05 02:44:54 +02:00
dAxpeDDa
eb2d3894ef
Document unpreventable events
2023-06-05 02:04:37 +02:00
dAxpeDDa
3f4f580181
Add pointerrawupdate
support
2023-06-05 02:04:37 +02:00
dAxpeDDa
d3aeff8838
Remove unnecessary preventDefault()
calls
2023-06-05 02:04:37 +02:00
dAxpeDDa
0786d534f4
Take IntoIterator
in send_events()
2023-06-05 02:04:37 +02:00
dAxpeDDa
b4b2389d0a
Split modifier handling in all pointer events
2023-06-05 02:04:37 +02:00
dAxpeDDa
964e342f69
Prevent text selection
2023-06-05 02:04:37 +02:00
dAxpeDDa
a134a59917
Remove MouseEvent
fallback support
2023-06-05 02:04:37 +02:00
dAxpeDDa
fbba203c4a
Focus window on touch press
2023-06-05 02:04:37 +02:00
dAxpeDDa
61bd8b8254
Send position on button release
2023-06-05 02:04:37 +02:00
dAxpeDDa
587fa67571
Split cursor move handlers
2023-06-05 02:04:37 +02:00
dAxpeDDa
82d0380ea6
Ignore pen input on Web
2023-06-04 00:23:47 +02:00
John Nunley
642ce2bfa7
Port to windows-sys v0.48.0 ( #2842 )
2023-06-04 00:02:37 +02:00
dAxpeDDa
5bbe87960e
Replace instant
with web-time
2023-06-03 16:05:44 +02:00
Kirill Chibisov
72cf4e577f
Add missing Hash
impls on bitflags
...
Some bitflags in public API lost their `Hash` implementations.
Fixes: 31ebc5caf
(Update `bitflags` to `2.0`)
2023-06-03 16:44:52 +03:00
dAxpeDDa
4f3eacf01e
On Web, handle coalesced events
2023-06-02 18:48:34 +02:00
George Burton
31ebc5caf4
Update bitflags
to 2.0
...
Co-authored-by: dAxpeDDa <daxpedda@gmail.com>
2023-06-02 17:44:36 +03:00
dAxpeDDa
d273518ce9
Process pointer button events
2023-06-02 12:41:35 +02:00
John Nunley
4ac2006cbc
Replace mio with calloop in the X11 backend
2023-05-31 19:44:42 +03:00
dAxpeDDa
ba5ad3be13
On Web, fix no-op for Window::set_fullscreen
2023-05-31 15:25:15 +02:00
Toniman575
8bb004a1d9
Rename DeviceEventFilter
to DeviceEvents
...
The use of `Filter` was confusing so it was removed inverting the
behavior of the enum and methods using it.
Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
2023-05-30 22:32:31 +03:00
Simon Hausmann
de5327477a
web: Fix position of touch events to be relative to the canvas
...
Use the same logic as for mouse events when not captured.
2023-05-30 21:21:41 +02:00
Nicola Papale
8f959714cc
Fix Window::set_theme
doc string
...
Fix #2814 .
2023-05-30 12:22:19 +03:00
Kirill Chibisov
035eebb19a
Use linux scancode values for KeyCodeExtScancode
...
Old winit was using linux scancodes, so this should make it backward
compatible with itself.
2023-05-29 13:48:12 +03:00
dAxpeDDa
1805124c54
On Web, wake event loop on request_redraw()
2023-05-28 23:22:08 +02:00
dAxpeDDa
0f64589dba
Don't change the internal canvas size
2023-05-28 23:10:33 +02:00
Markus Røyset
918430979f
Overhaul the Keyboard API
...
Overhaul the keyboard API in winit to mimic the W3C specification
to achieve better crossplatform parity. The `KeyboardInput` event
is now uses `KeyEvent` which consists of:
- `physical_key` - a cross platform way to refer to scancodes;
- `logical_key` - keysym value, which shows your key respecting the
layout;
- `text` - the text produced by this keypress;
- `location` - the location of the key on the keyboard;
- `repeat` - whether the key was produced by the repeat.
And also a `platform_specific` field which encapsulates extra
information on desktop platforms, like key without modifiers
and text with all modifiers.
The `Modifiers` were also slightly reworked as in, the information
whether the left or right modifier is pressed is now also exposed
on platforms where it could be queried reliably. The support was
also added for the web and orbital platforms finishing the API
change.
This change made the `OptionAsAlt` API on macOS redundant thus it
was removed all together.
Co-authored-by: Artúr Kovács <kovacs.artur.barnabas@gmail.com>
Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
Co-authored-by: daxpedda <daxpedda@gmail.com>
Fixes : #2631 .
Fixes : #2055 .
Fixes : #2032 .
Fixes : #1904 .
Fixes : #1810 .
Fixes : #1700 .
Fixes : #1443 .
Fixes : #1343 .
Fixes : #1208 .
Fixes : #1151 .
Fixes : #812 .
Fixes : #600 .
Fixes : #361 .
Fixes : #343 .
2023-05-28 21:02:59 +03:00
Kirill Chibisov
f3f46cb3f6
On Wayland, fix Window::set_cursor_visible(true)
...
Making the cursor back visible was simply forgotten and it was
always hiding instead.
Fixes: 2496098890
(Update wayland-rs to 0.30.0)
Fixes : #2820 .
2023-05-26 09:26:22 +03:00
John Nunley
3c3be71a77
Implement PartialOrd/Ord for dpi module types
2023-05-16 05:11:43 +03:00
Kirill Chibisov
a9e168e10d
On macOS, fix backspace emission on preedit clear
...
Fixes: d15feb5cfa
(On macOS, fix empty marked text)
2023-05-13 03:02:05 +03:00
Kirill Chibisov
bd9cc2a9da
Use cursor-icon
crate for CursorIcon
...
This crate is aimed to simplify handling of cursor icon across
various crates and be used in the public API.
2023-05-09 20:19:35 +03:00
Xiaopeng Li
92592ec605
Fix device description leak ( #2758 )
...
* Fix device description leak
* Update CHANGELOG.md
---------
Co-authored-by: Xiaopeng Li <lixiaopeng.jetspark@bytedance.com>
2023-05-08 17:58:34 +03:00
Kirill Chibisov
25c4e2e451
On macOS, fix key_up
being ignored without IME
...
Fixes: d15feb5cfa
(On macOS, fix empty marked text)
2023-05-06 14:05:28 +03:00
Kirill Chibisov
d15feb5cfa
On macOS, fix empty marked text blocking input
...
Fixes #2775 .
2023-05-04 00:24:02 +03:00
Kirill Chibisov
9938327066
On Wayland, fix nightly warnings
...
The new analysis suggests that we can remove mut.
2023-05-04 00:24:02 +03:00
Kirill Chibisov
f980ed7b83
On X11, fix nightly warnings
...
The new analysis suggests that we can remove mut.
2023-05-04 00:24:02 +03:00
Kirill Chibisov
2496098890
Update wayland-rs to 0.30.0
...
This update rewrites the winit's Wayland backend using new wayland-rs
0.30 API. This fixes long standing issue with the forward compatibility
of the wayland backend, meaning that future updates to the wayland
protocol won't break rust code anymore. like it was before when adding
new shm/enum variants into the protocol.
Fixes #2560 .
Fixes #2164 .
Fixes #2128 .
Fixes #1760 .
Fixes #725 .
2023-04-19 00:56:29 +03:00
Amandus Søve Thorsrud
60e91b187a
Run Window::set_ime_position
on main thread on macOS
...
Fixes #2756 .
2023-04-15 02:58:36 +03:00
Xiaopeng Li
2486f0f1a1
Fix potential panic ( #2755 )
...
* Fix potential panic
* Update CHANGELOG.md
* Use checked_div
---------
Co-authored-by: Xiaopeng Li <lixiaopeng.jetspark@bytedance.com>
2023-04-03 21:46:09 +03:00
Mads Marquart
77f8e511e9
Fix macos memory leaks ( #2739 )
...
* Use a weak reference from WinitView to WinitWindow
* Allow patched objc2 version
* Add changelog entry
2023-03-14 13:27:41 +03:00
Emil Ernerfeldt
3217eaa416
Fix 1.68 clippy warnings
2023-03-12 20:02:49 +03:00
Kirill Chibisov
b18295a1ce
Bump MSRV to 1.64
2023-03-08 19:34:10 +03:00
esdevver
fb9695d56d
Changed 'an' to 'a' in documentation ( #2715 )
2023-03-04 10:37:15 +01:00
Dylan Scott
79ac236721
On macOS, resize simple fullscreen on window move
...
Fixes #1118 .
2023-03-02 01:47:45 +03:00
Nicolas Mazzon
b870a11a99
On Windows, check whether CoCreateInstance succeeds
2023-03-02 01:24:04 +03:00
Kirill Chibisov
2af1550bbb
On macOS, fix initial focused state
...
The synthetic focused event was queued after the real event was send
leading to focused issues on startup.
Fixes #2695 .
2023-02-27 20:46:00 +03:00
Kirill Chibisov
a006cd7dc8
On Wayland, fix rounding issue in resizes
2023-02-21 11:44:22 +03:00
Simon Hausmann
a31f71ee07
Add support for Window::theme
on the web ( #2687 )
2023-02-20 08:51:21 +01:00
Kirill Chibisov
0f89aac9f6
On Wayland, fix rare crash on DPI change
...
While I don't understand the root cause for this issue, we can
dirty fix like that for now.
2023-02-19 17:39:39 +03:00
Kirill Chibisov
82df9531f4
On macOS, set resize increments only for live resize
...
Closes #2684 for macOS.
2023-02-15 03:32:55 +03:00
Sludge
265152355e
Implement HasRawDisplayHandle
for EventLoop
( #2677 )
...
* Implement `HasRawDisplayHandle` for `EventLoop`
* Add changelog entry
2023-02-10 16:25:22 +01:00
John Nunley
37c0f615cf
On Windows, name the waiter thread ( #2672 )
2023-02-08 21:39:01 +01:00
John Nunley
5ba6bdef49
Replace lazy window message ids with a slimmer version ( #2598 )
2023-02-04 15:38:21 +01:00
Kirill Chibisov
7029ce6ecd
Fix window drop on Wayland
...
In some scenarious of window dropping the callback for keyboard
may run after the window was dropped.
2023-02-02 14:42:34 +03:00
Kirill Chibisov
3fd73848dd
On macOS, fix Ime::Commit
persisting
...
This commit clears the currently marked text on `Ime::Commit`, so
normal `ReceivedCharacter` input can continue.
2023-02-01 18:08:25 +03:00
Samuel
4e1c46fe9e
Windows: Fix Alt key press entering menu loop ( #2665 )
2023-02-01 12:03:58 +01:00
Jack Wright
180a4c7a16
Add WindowExtMacOS::{set_,}option_as_alt
...
This adds an ability to control left and right `Option` keys to be
treated as `Alt`, thus not producing diacritical marks.
Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
2023-01-31 12:35:49 +03:00
Kirill Chibisov
13613931cf
Implement serde
ser/deser for Theme
2023-01-31 12:14:15 +03:00
Lukas Lihotzki
1b4045dcb2
Add Window::set_ime_purpose
...
This adds a way to set the purpose for the IME input, implemented
only on Wayland for now.
2023-01-29 18:46:46 +03:00
Markus Siglreithmaier
23b821285c
On Windows, fix window size for maximized, undecorated windows ( #2584 )
...
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
2023-01-28 14:04:47 +01:00
Diggory Hardy
c984476687
Clarify Window::set_decorations/is_decorated
behaviour
2023-01-28 10:50:34 +03:00
Andrea Pessino
42c395e49d
Fixed visibility/activation issues on Windows. ( #2656 )
2023-01-27 23:01:41 +01:00
Shane Pearman
422c6b1987
Allow introspection of WindowBuilder attributes
...
Makes WindowAttributes public and adds window_attributes() getter to
WindowBuilder.
In version 0.27, the WindowAttributes struct was made private, but this
removed the ability to introspect the default WindowBuilder values.
2023-01-27 08:38:56 +03:00
Amr Bashir
b457329003
Add WindowBuilder::with_active
...
Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
2023-01-27 08:08:29 +03:00
Kirill Chibisov
930df0ec45
Fix clippy issues on stable
2023-01-27 07:18:58 +03:00
Markus Siglreithmaier
e1b7fda409
Bump windows-sys version to 0.45 ( #2639 )
...
Bump windows-sys version to fix regression
2023-01-23 22:10:28 +01:00
Mads Marquart
a82f66826b
Use a bit less unsafe
on iOS ( #2643 )
...
* Use a bit less `unsafe` on iOS
I did test this in XCode 11.3's "Debug View Heirarchy", the NSStringRust problem is no longer applicable (likely because Rust got better at emitting correct debug info).
* Avoid using `id` on iOS
2023-01-23 00:01:45 +01:00
Mads Marquart
0f2fbe373b
Simplify event queuing on macOS ( #2642 )
2023-01-22 23:29:38 +01:00
Mads Marquart
7341ee80ea
Note the status quo on RedrawRequested
( #2641 )
...
And link to https://github.com/rust-windowing/winit/issues/2640
2023-01-21 18:56:58 +01:00
Jim Eckerlein
d448d3e14f
Add smart magnify gesture support for macOS ( #2554 )
...
* Add smart magnification gesture
* Deliver position of smart magnification event
* Document smart magnification event
* Revert "Deliver position of smart magnification event"
This reverts commit ac0e61a9a4e67bf54fc80230660051d366846bd4.
* Remove mention of touchpad from smart magnification event
* Update change log
* Mention minimum macOS version supporting smart magnification
* Improve doc
2023-01-21 17:35:07 +01:00
Andreas Reich
a867032e1e
[MacOS] Fix deadlock on maximizing window from event callback ( #2636 )
2023-01-21 17:29:29 +01:00
Douglas Dwyer
b711a11549
Properly remove window mouse event listeners ( #2632 )
...
* Properly remove window mouse event listeners
* Update CHANGELOG.md
* Fix formatting
Co-authored-by: Mads Marquart <mads@marquart.dk>
2023-01-21 16:58:05 +01:00
Amr Bashir
809162fbd0
Add Window::is_minimized
...
Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
Co-authored-by: Markus Siglreithmaier <m.siglreith@gmail.com>
2023-01-20 00:39:04 +03:00
Kirill Chibisov
de782504ab
On Wayland, add support for fractional scaling
...
This adds support for the fractional scaling on Wayland via the
wp-fractional-scale protocol.
Co-authored-by: Julian Orth <ju.orth@gmail.com>
2023-01-20 00:02:16 +03:00
Roman Akberov
1886949efe
On macOS, fix middle/other mouse buttons reporting
...
All buttons except for the left/right/middle was always reported
as middle.
2023-01-18 06:32:34 +03:00
Kirill Chibisov
b1a5fae1f5
On X11, fix errors bleeding from hooks handling them
...
This commit fixes it, by not updating the `latest_error` when
any of the hooks handled the error, otherwise it'd interfere
with the winit's error checking.
2023-01-18 05:58:09 +03:00
Amr Bashir
a88d2e079d
On Windows and MacOS, add Window::has_focus
2023-01-17 04:30:14 +03:00
Amr Bashir
067535eb38
Fix Window::set_minimized(false)
on Windows
...
When other application minimized the winit window the
minimize state was going out of sync. This commit fixes
it by polling the state in `set_minimized`.
2023-01-17 03:22:52 +03:00
John Nunley
7d626d9dfd
Add a function for waiting on a Duration
2023-01-16 04:14:09 +03:00
Kirill Chibisov
62ce14a013
Add Window::set_transparent
...
Provide a hint to system compositor whether the window is transparent or
not. Only implemented on macOS and Wayland for now.
2023-01-15 23:39:36 +03:00
Turki Jamaan
6cf0bf76da
iOS: fix accidentally flipped assertion ( #2629 )
...
* iOS: fix accidentally flipped assertion
* No need to update the changelog
2023-01-13 23:40:24 +01:00
Michael Murphy
9225b2812e
feat(x11): Add Window::drag_resize_window ( #2515 )
2023-01-11 10:07:09 -07:00
John Nunley
490abcad14
Remove xlib_xconnection
from public interface
2023-01-10 11:46:48 +03:00
Jeremy Soller
66ca445caa
Redox OS support ( #2588 )
...
* Add Redox OS support
* Simplify control flow usage
* Apply more recommendations
* Update naming to indicate that Orbital is a platform
* Adjust import order
2023-01-05 06:58:08 -07:00
Kirill Chibisov
2f52c23fa9
Fix RedrawRequested
not emitted on Wayland in resize
...
Fixes #2609 .
2022-12-29 21:06:46 +03:00
Mads Marquart
ee88e38f13
Reduce amount of unsafe
on iOS ( #2579 )
...
* Use objc2::foundation CG types
* Add safe abstraction over UIApplication
* Add safe abstraction over UIDevice
* Add safe abstraction over UIScreen
* Add safe abstraction over UIWindow
* Add safe abstraction over UIViewController
* Add safe abstraction over UIView
* Appease clippy
2022-12-28 18:36:32 +01:00
Amr Bashir
5e77d70245
Use cfg aliases throught the code base
...
Co-authored-by: Mads Marquart <mads@marquart.dk>
2022-12-25 10:57:27 +03:00