Commit Graph

61 Commits

Author SHA1 Message Date
Ivan Molodetskikh a224f774ee
anvil: store buffer dimensions separately
Before this change, the texture size was used for the dimensions.
However, the texture is not created until the next rendered frame, which
means that frequently size was returned as zero, resulting in pointer
focus artifacts. With this change, the dimensions are retrieved
immediately on surface commit.
2020-02-03 12:56:59 +03:00
Ivan Molodetskikh 825995687a
anvil: add BufferUtils
A helper struct which currently contains only a method for retrieving
buffer dimensions. Will be used for getting the buffer dimensions early,
before rendering, to always have up-to-date size which is not zero.
2020-02-03 12:56:59 +03:00
Ivan Molodetskikh 13cac4f693
anvil.shell: use correct region in contains_point
The one in SurfaceAttributes has potentially not been committed yet, and
the one in SurfaceData is the most up-to-date committed one.
2020-02-02 12:45:35 +03:00
Ivan Molodetskikh fac4ca260e
anvil.shell: store input_region in SurfaceData
This is the most up-to-date committed input region.
2020-02-02 12:45:35 +03:00
Ivan Molodetskikh fd50b45e61
anvil: implement input region check 2020-01-22 08:06:15 +03:00
Ivan Molodetskikh d30567512c
anvil.window_map: use Rectangle::default 2020-01-22 07:47:10 +03:00
Ivan Molodetskikh aa65f3608d
anvil: add a contains_point fn for Window.matching
Currently implemented to be equivalent to the previous size-based check.
This will allow implementing an input-region-aware check.
2020-01-22 07:46:26 +03:00
Ivan Molodetskikh 9bfa85efc9
anvil.window_map: add some comments 2020-01-22 06:58:41 +03:00
Ivan Molodetskikh 09908d8de8
anvil.window_map: rename surface to input_bbox
Much clearer what it does.
2020-01-22 06:57:45 +03:00
nycex 0140de89fb fix some clippy warnings (#147)
This commit removes some clippy warnings (to advance #45) by doing the following:
- replace usage of `mem::uninitialized()` with `MaybeUninit`
- replace usage of `nix::libc::{uint64_t, int32_t}` with `{u64, i32}`
- replace functions inside of `Option::ok_or` with `Option::ok_or_else`
- replace functions inside of `Result::unwrap_or` with `Result::unwrap_or_else`
- replace occurrences of pass-by-reference with pass-by-value when
  appropriate
- replace unused variables in pattern-matching with wildcards
- replace `match` expressions that have only one case with `if let`
  expressions
- replace UpperCamelCase names of consts with SCREAMING_SNAKE_CASE
- remove `clone()` on types that implement Copy
- remove redundant imports
- remove `fn main()` from doctests
- remove let binding for variables that are returned afterwards
2020-01-01 11:43:16 +01:00
Wesley Moore ac0566ca88 Make winit backend exit on Super-Q 2019-08-23 16:55:51 +02:00
Victor Brekenfeld f8f4f461c7
Merge pull request #144 from Smithay/pr/fix/anvil_buffer_leak
anvil: release old buffers on commit
2019-08-23 16:50:14 +02:00
Victor Brekenfeld 056a86ad30 anvil: release old buffers on commit 2019-08-23 15:16:18 +02:00
Victor Berger e4f1872a43 anvil: properly document logind support 2019-06-19 15:07:01 +02:00
Victor Berger d62fb4c8b5 wayland.shell.xdg: use UserDataMap 2019-04-27 21:38:24 +02:00
Victor Berger c604a48dce wayland.compositor: user UserDataMap to store per-surface data 2019-04-27 21:38:24 +02:00
Victor Berger 0712bdefec anvil.glium_drawer: fix buffer release order 2019-04-22 17:20:46 +02:00
Victor Berger 9f9e6d4329 wayland.compositor: rework the subsurface tree
Rework the subsurface tree by:

- forbidding subsurface loops
- storing the relative depth of a parent to its children,
  finally respecting the wl_subsurface specification.

closes #23
2019-04-22 17:20:46 +02:00
Victor Berger 5768e1fd87 Upgrade dependencies 2019-02-24 11:23:11 +01:00
Jonas Platte f34cf4b068 Upgrade anvil to wayland-server 0.23 2019-02-24 08:23:51 +01:00
Victor Berger 3f2857fbf3 Update smithay to wayland-server 0.23 2019-02-24 08:23:51 +01:00
Victor Berger 89dce178c8 Make wayland support optional 2019-02-06 09:29:56 +01:00
Victor Brekenfeld cc5d55f535 rustfmt fixes 2018-12-17 16:58:49 +01:00
Victor Brekenfeld e5f8c351c7 Check for rust_2018_idioms 2018-12-16 19:31:38 +01:00
Victor Brekenfeld 71bd64a6bf Fix source code for 2018 edition 2018-12-16 19:31:38 +01:00
Victor Brekenfeld 90c0112cd3 Let all anvil features compile standalone 2018-12-15 20:18:38 +01:00
Victor Brekenfeld dc97e0ad03 Add reexports module 2018-12-14 14:26:50 +01:00
Victor Berger d1d608ab2b anvil: draw custom cursors and dnd icons 2018-12-11 10:21:59 +01:00
Victor Berger 280decf863 data_device: support for custom DnD icons 2018-12-11 10:21:59 +01:00
Victor Berger f3a68fb1af seat: support for curstom cursor images 2018-12-11 10:21:59 +01:00
Victor Brekenfeld a3acd48cc3 fmt: rust 1.31 2018-12-08 18:31:08 +01:00
Victor Brekenfeld 14d2e6e373 anvil: explain the implementation a bit more 2018-12-05 22:48:12 +01:00
Victor Brekenfeld b160a91f8a drm: remove mode & connector arguments of create_surface 2018-12-03 23:29:30 +01:00
Victor Brekenfeld 99f9156f64 anvil: clear window map on drop 2018-12-03 23:29:30 +01:00
Victor Brekenfeld f8a5e8bfde anvil: allow for non-egl builds 2018-12-03 23:29:30 +01:00
Victor Brekenfeld f2466c5c50 drm: Fix drop order 2018-12-03 23:29:30 +01:00
Victor Brekenfeld a745eace15 anvil: fix tty swap 2018-12-02 22:01:45 +01:00
Victor Brekenfeld 0ed69bf2da session: Add multiplexer 2018-12-02 22:01:45 +01:00
Victor Brekenfeld 9428853ad6 anvil: fix for drm backend changes 2018-11-29 19:41:15 +01:00
Victor Brekenfeld 91e237f697 anvil: remove raw_tty backend 2018-11-29 16:13:07 +01:00
Victor Berger ed00fb1d47 data_device: move default_action_chooser into smithay 2018-11-22 15:37:31 +01:00
Victor Berger d41517f85b data_device: let the compositor interact with the selection 2018-11-21 22:24:18 +01:00
Victor Berger 35645596a8 data_device: let the compositor decide the action choice strategy 2018-11-21 16:01:34 +01:00
Victor Berger 81956c8fd0 data_device: basic DnD support 2018-11-21 15:28:41 +01:00
Victor Berger 0434cbb90d data_device: basic selection support 2018-11-20 11:56:04 +01:00
Victor Berger 5e9ad96b0f seat: add a keyboard focus hook 2018-11-18 23:04:30 +01:00
Colin Benner 734d2ce996 Fmt, spelling and capitalisation fixes (#113)
* Rename priviledged to privileged in backend/drm/mod.rs

* Fix a number of typos in comments

* Fix typos in string literals

* Wrap identifiers with backticks in doc comments

* Spelling and capitalisation in doc comments

* Use XWayland in comments

This seems to be the standard capitalisation, even though the executable
is called `Xwayland`.

* Use Glium instead of glium in comments

* Use DRM and API in comments

* Fix remaining occurrence of 'priviledged'

* Reformat code to appease Travis' rustfmt
2018-10-30 13:56:30 +01: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
Jonas Platte 850ff6983a anvil: Use nested imports 2018-10-07 22:39:18 +02:00