Commit graph

1932 commits

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