Commit Graph

633 Commits

Author SHA1 Message Date
Victor Berger df12fa4e8b backends.winit: only expose physical sizes
Unify winit with the other backends in only ever dealing with physical
sizes. All dimensions and coordinates are provided in the physical space
(transformed by the dpi factor provided by winit), and the user is
responsible for dealing with the dpi scaling if they want.

A compositor using it can deal with it either by following the scaling
transmitted by the backend or using some value retrieved by other means
(like a command line argument, like weston does).

This means that a non-hidpi aware implementation will appear very small
on an hidpi screen, but not broken. This is now the current state of
anvil.

This also changes the WinitEventsHandler trait to merge the resized()
and hidpifactorchanged() callbacks into a single one, providing the
physical size and the dpi factor whenever either changes.
2018-10-15 11:15:10 +02:00
Victor Berger f9bd83c3b5
wayland.seat: send keymaps in individual tempfiles
Send keymaps to client using a new tempfile for each client, rather than
a single shared tempfile. Doing so prevents a client from tempering with
the contents of the tempfile, which would then cause other clients to
read a corrupted keymap.

See this bug report for details:
https://bugs.freedesktop.org/show_bug.cgi?id=101595
2018-10-08 14:09:58 +02:00
Victor Berger 1618c45d4e wayland: use AtomicUsize for SerialCounter 2018-10-08 13:55:21 +02:00
Victor Berger 8b66680097 anvil: use smithay's global SerialCounter 2018-10-08 13:55:21 +02:00
Victor Berger 139d0f3992 wayland.seat: Pointer grabbing logic 2018-10-08 13:55:21 +02:00
Victor Berger 1301fb6e62 wayland: global counter for client serials 2018-10-08 13:55:21 +02:00
Jonas Platte a77e29d9b5 lib: Use nested imports 2018-10-07 22:39:18 +02:00
Jonas Platte 850ff6983a anvil: Use nested imports 2018-10-07 22:39:18 +02:00
Jonas Platte 943f02b447 Refactor Seat::add_keyboard
With the new XkbConfig struct, it is now easier to just use xkbcommon's
default configuration, by moving the xkbcommon specific options into a
struct with according documentation.

Additionally, anvil now uses xkbcommon's defaults with all backends
(previously, the winit backend had a hardcoded french keyboard layout).
2018-10-02 23:12:35 +02:00
Victor Berger 7df5aa682b Fixes in changelog 2018-09-30 23:19:48 +02:00
Victor Berger 8514006d74
Merge pull request #105 from Smithay/feature/travis_check
[travis] Only do cargo check for incomplete feature-sets
2018-09-30 22:46:14 +02:00
Victor Brekenfeld 26204fc8de [travis] Only do cargo check for incomplete feature-sets 2018-09-30 21:12:38 +02:00
Victor Berger 4654608f07
Merge pull request #102 from trimental/master
Upgrade winit backend to 0.17
2018-09-30 17:06:36 +02:00
Lucas Timmins 2e9096923e Update changelog and make the argument of `WinitEventsHandler fn moved()` a LogicalPosition 2018-09-30 19:24:13 +08:00
Lucas Timmins 673f0cd0aa Use physical size to resize egl surface and change `WinitEventsHandler fn resized()` to take a LogicalSize 2018-09-30 19:22:35 +08:00
Lucas Timmins ffdf245259 Upgrade winit backend to 0.17 2018-09-30 19:22:35 +08:00
Victor Berger ae5b9e55f4
Merge pull request #101 from Smithay/wayland-021
Update to wayland-rs 0.21
2018-09-30 13:05:43 +02:00
Victor Berger dc775038ff travis: check anvil as well 2018-09-30 12:14:22 +02:00
Victor Berger 669508046d Fix anvil 2018-09-30 12:14:11 +02:00
Victor Berger bd08f78acd Return the backends to the user if binding fails. 2018-09-28 18:01:33 +02:00
Victor Berger 7f8d32429b cargo fmt 2018-09-27 21:17:10 +02:00
Victor Berger cd77229199 travis: use stable rustfmt and switch to clippy-preview 2018-09-27 12:18:54 +02:00
Victor Berger 6328f68b71 fix yet even more errors with logind backend 2018-09-25 11:55:30 +02:00
Victor Berger 95d55f4b96 fix yet more errors with logind backend 2018-09-25 11:20:17 +02:00
Victor Berger 97e960a0f1 fix more logind backend errors 2018-09-25 10:29:35 +02:00
Victor Berger 53d27264a2 fix some logind backend errors 2018-09-25 09:44:07 +02:00
Victor Berger 269c9a5c7c fix doc copy/paste error 2018-09-25 09:43:49 +02:00
Victor Berger 4bdfc5b5b1 travis: run all tests in cargo test
Specifying "--doc --lib --tests" together is no longer supported
2018-09-25 09:42:08 +02:00
Victor Berger 454f874284 cargo fmt 2018-09-25 00:32:09 +02:00
Victor Berger 605895e30f update to wayland-rs 0.21 2018-09-25 00:31:58 +02:00
Victor Berger 824ef5c186
Merge pull request #100 from yzhs/clippy-warnings
Address some more clippy warnings
2018-06-30 10:02:57 +02:00
Colin Benner 6d31e9e5ff address more clippy warnings
Not sure how much of an improvement these are.
2018-06-29 12:30:42 +02:00
Colin Benner 4598ba0b48 address a bunch of clippy warnings 2018-06-28 11:33:49 +02:00
Colin Benner 73ff30b0ee anvil: address some clippy warnings 2018-06-27 14:04:40 +02:00
Victor Berger ad038b4a07
Merge pull request #93 from Smithay/anvil_fix_buffer_load
anvil: fix shm buffer loading
2018-05-19 21:45:09 +02:00
Victor Berger 3b0594c88e anvil: refacto buffer loading logic
Decouple it from the shell implementation and introduce specialised
shaders for various SHM buffer types.
2018-05-19 19:53:27 +02:00
Victor Berger 89764bf442 wayland.backend.egl: derive Debug for Format 2018-05-19 19:48:13 +02:00
Victor Berger 07a98ac5e8 wayland.shm: allow buffer access to return a value 2018-05-19 19:45:04 +02:00
Victor Berger 61bb72a016 Add anvil to the readme 2018-05-13 15:01:50 +02:00
Victor Berger a9ce9a4664 anvil: fix shm buffer loading 2018-05-13 14:35:27 +02:00
Victor Berger 664327660e
Merge pull request #92 from Smithay/compositor_token_send
wayland.compositor: CompositorToken is threadsafe
2018-05-13 13:31:09 +02:00
Victor Berger ef9981a3c8
Merge pull request #91 from Smithay/update_winit
Update winit to 0.14
2018-05-13 13:30:58 +02:00
Victor Berger cba56b0af8 wayland.compositor: CompositorToken is threadsafe
Thanks to the refactor of wayland-rs, the CompositorToken can
be make Send/Sync again.

Fixes #66.
2018-05-13 10:24:24 +02:00
Victor Berger de373074fd Update winit to 0.14 2018-05-12 12:55:37 +02:00
Victor Berger 2b8d1aa663
Merge pull request #90 from Smithay/anvil
move examples into our own compositor
2018-05-11 21:58:09 +02:00
Victor Berger a137a7fa8f anvil: factor the drawing code 2018-05-08 20:08:17 +02:00
Victor Berger 011d067ce5 anvil: add a raw DRM backend 2018-05-08 19:39:38 +02:00
Victor Berger 6ee6fd6890 anvil: factor the input backend code 2018-05-08 12:47:09 +02:00
Victor Berger ae1395fb32 anvil: test on travis 2018-05-07 20:03:14 +02:00
Victor Berger 23faeae20f move examples into our own compositor: anvil 2018-05-07 19:56:38 +02:00