Chandler Newman
4b97ed8eba
Reduce choose_config complexity
2020-04-16 16:02:36 +01:00
Chandler Newman
f8c97baf1d
Prevent display being destroyed until all resources have been dropped
2020-04-16 13:44:32 +01:00
Chandler Newman
c4016af67b
Add default settings for surface creation
2020-04-16 12:33:28 +01:00
Chandler Newman
f7c05fa064
Rename WaylandEGLDisplay to EGLBufferReader
2020-04-15 21:19:20 +01:00
Chandler Newman
a4d2043b7e
Fix clippy warnings
2020-04-15 12:27:01 +01:00
Chandler Newman
3c6877f094
Fix formatting
2020-04-15 12:24:31 +01:00
Chandler Newman
b8df85e744
Mark get_proc_address as safe
2020-04-15 12:16:02 +01:00
Chandler Newman
a684f5d8d6
Refactor EGL backend
2020-04-15 12:01:01 +01:00
Victor Berger
b54d95c15d
Fix most clippy warnings ( #185 )
...
* Add missing documentation
* Fix most clippy warnings
2020-04-15 09:28:22 +02:00
Victor Brekenfeld
b43c0db115
Update to udev 0.4
2020-04-13 17:07:08 +02:00
Victor Berger
6a7d933553
Replace `failure` and `error-chain` by `thiserror`
2020-04-13 13:20:59 +02:00
Chandler Newman
d92aa6dafe
Only listen to removal signal for own session ( #182 )
2020-04-12 17:00:19 +02:00
Sergey Smirnykh
f966e28fe5
Update wayland-client & wayland-egl ( #181 )
...
Update wayland-client to 0.25.0
Add wayland-egl 0.25.0
2020-04-12 13:11:10 +02:00
Victor Brekenfeld
f6b3d630ce
rustfmt
2020-04-10 19:18:58 +02:00
Victor Brekenfeld
e8e8667d89
Upgrade to the upcoming drm-rs 0.4
2020-04-10 16:58:49 +02:00
Sergey Smirnykh
e798259be9
Calculate pointer location correctly
2020-04-08 15:21:21 +02:00
Sergey Smirnykh
3bc1c728a8
Remove excess type conversions
2020-04-08 15:21:21 +02:00
Sergey Smirnykh
9e1bce7c66
Unhide cursor for now
2020-04-08 15:21:21 +02:00
Sergey Smirnykh
73345375ac
Update winit dependency to version 22.0
2020-04-08 15:21:17 +02:00
Dorota Czaplejewicz
178a447394
winit: Don't resize in resize handler
...
The resize handler with a window resize request causes oscillations between two window sizes (presumably the inner and the outer). While it's not clear what part of the stack causes it, checking `window.get_inner_size()` already presents the correct size.
Either way, changing the same property in its change handler is a recipe for feedback loops as this one and should be avoided whenever possible, and then carefully fortified too.
2020-04-06 10:35:27 +02:00
Jonas Platte
b8c20ebf30
Update wayland-rs to 0.25 ( #171 )
...
Update wayland-rs to 0.25 and calloop to 0.5
Co-authored-by: Victor Berger <victor.berger@m4x.org>
2020-04-05 19:01:08 +02:00
Victor Berger
63702a308a
backend.libinput: fix tracking of removed devices
2020-04-01 11:03:54 +02:00
Ivan Molodetskikh
46348367b1
backend.egl: add egl_buffer_dimensions
...
Allows to retrieve just the dimensions, without creating images and
whatnot.
2020-02-03 12:41:35 +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
Christophe Biocca
834f3d2e65
Upgrade to dbus 0.8, change imports to match.
2020-01-01 11:42:28 +01:00
Pierre Chevalier
0b2e4b42db
Fix clippy warnings with cargo fix
...
Simply ran:
```
rustup run nightly cargo fix --clippy -Z unstable-options
```
followed by
```
cargo fmt
```
No manual change in this commit.
2019-10-23 14:13:10 +02:00
Victor Berger
c604a48dce
wayland.compositor: user UserDataMap to store per-surface data
2019-04-27 21:38:24 +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
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
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
dc97e0ad03
Add reexports module
2018-12-14 14:26:50 +01:00
Victor Brekenfeld
04aee7cbc9
Replace documentation links with intra rustdoc links
2018-12-13 15:14:25 +01:00
Victor Brekenfeld
a3acd48cc3
fmt: rust 1.31
2018-12-08 18:31:08 +01:00
Victor Brekenfeld
a1b8d2bf47
docs: clarify get_framebuffer_dimensions
2018-12-08 17:26:05 +01:00
Victor Brekenfeld
c24619861e
egl: style: move constraints into where clause
2018-12-08 17:26:05 +01:00
Victor Berger
7dc3d64b6e
docs: typo fixes
...
Co-Authored-By: Drakulix <github@drakulix.de>
2018-12-08 13:47:22 +01:00
Victor Brekenfeld
a8343edbd7
legacy: add legacy drm example
2018-12-05 22:51:41 +01:00
Victor Brekenfeld
bbe767002d
comments: add more explainations to new code
2018-12-05 22:48:10 +01:00
Victor Brekenfeld
a3734da9da
gbm: update to gbm 0.5
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
8fbce616a6
libinput: update to 0.4.1
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
aa2090c079
docs: add session/multi
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
2bc45d4053
docs: fix backend_session_logind
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
36b265400a
docs: add graphics/gl
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
6609754d13
docs: add drm/egl
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
1f8a7e7335
docs: add drm/gbm
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
3b92e351b1
docs: added drm/legacy
2018-12-05 22:45:01 +01:00
Victor Brekenfeld
174c150887
docs: added drm
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
b160a91f8a
drm: remove mode & connector arguments of create_surface
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
2c73651327
logind: fix dbus spamming the event queue
2018-12-03 23:29:30 +01:00
Victor Brekenfeld
51f0050d68
drm: fix dropping master when killed from another tty
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
8abcc145d7
egl: EGLContext borrow native to circumvent RefCell runtime error
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
0ed69bf2da
session: Add multiplexer
2018-12-02 22:01:45 +01:00
Victor Brekenfeld
5741ccdd46
gbm: fix EGLSurface recreation
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
d6e7fb591e
direct: fix udev feature name
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
e7575d08b8
gbm: fix calling lock_front_buffer without eglSwapBuffers
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
9a82de6fae
graphics: Move PixelFormat out of gl module
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
d07c66985f
gbm: CursorBackend depends on backend_drm_legacy
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
59e0ad87f9
gbm: do not expose egl support, if backend_egl is not enabled
2018-11-29 19:41:17 +01:00
Victor Brekenfeld
de526f4b23
drm: Add functions to query device state
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
2675cf94dc
egl_surface: fix CursorBackend implementation
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f17e37465b
drm: Remove associated Return type from Device
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f8499e533a
libinput: fix warning when not building backend_session
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
9e5dad4c23
session: export OFlag
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
f74af7ba18
udev: use same order for bind arguments
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
9ee44672a0
cargo fmt
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
bd5690bd77
Refactor drm backend
...
- Split `DrmDevice` into `LegacyDrmDevice`, `GbmDevice` and `EglDevice`
- Provide common `Device` and `RawDevice` traits
- Change `DrmBackend` into `Surface` (and `RawSurface`) implementations of each `Device` (or `RawDevice`)
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
b537237a74
Refactor udev backend
...
- Do not open devices for `UdevHandler` anymore
- `UdevBackend` does not require `LoopHandle` or `Session` anymore
- Type of the created device can be choosed freely by the handler
- `UdevBackendObserver` is not needed anymore
2018-11-29 16:13:07 +01:00
Victor Brekenfeld
505791e336
Upgrade backends to calloop 0.4 and renamed gl-traits
2018-11-29 16:13:05 +01:00
Victor Brekenfeld
38ec44f70c
Hide SoftwareRenderer behind feature flag
...
- Don't let backend depend on `CursorBackend` (used to be `GraphicsBackend`) anymore
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
ccc7abc94f
Create general SwapBuffersError
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
bbf28655d1
Rename GraphicsBackend to CursorBackend
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
ac0dc42e9e
Add seperate GL module
...
- Move parts of glium & egl module into own module
- Add raw GL loader as an alternative
2018-11-29 16:12:11 +01:00
Victor Brekenfeld
c9e67cdfef
Move egl module
...
- Remove gbm code
- rename EGLWaylandExtensions to EGLGraphicsBackend
- remove OpenGL specific code where possible
2018-11-29 16:12:11 +01:00
Pablo Stebler
630b659ae6
Upgrade calloop and winit ( #114 )
...
* Fix compilation with calloop 0.4
* Use `Into` instead of changing signatures
* Bump winit to 0.18
* Fix logind for calloop 0.4
* Cargo fmt
2018-11-17 18:01:04 +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
9f0a1fb244
backend.winit: remove the moved() event
...
This event poses issues regarding its semantic (what space are the
coordinates in?) and arguably won't be used anyway. So let's remove it
for now, it can still be added afterwards if it appears to be really
needed.
2018-10-15 11:15:10 +02:00
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
Jonas Platte
a77e29d9b5
lib: Use nested imports
2018-10-07 22:39:18 +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
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
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
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
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
Victor Berger
89764bf442
wayland.backend.egl: derive Debug for Format
2018-05-19 19:48:13 +02:00
Victor Berger
de373074fd
Update winit to 0.14
2018-05-12 12:55:37 +02:00
Victor Berger
422e8b33e0
backend.winit: migrate to wayland-rs 0.20
2018-04-18 09:58:32 +02:00
Victor Berger
53242bd974
backend.libinput: migrate to wayland-rs 0.20
2018-04-18 09:53:54 +02:00
Victor Berger
31a3d40589
backend.drm: update doc examples
2018-04-18 09:44:22 +02:00
Victor Berger
7f6af94733
backend: migrate drm & udev
2018-04-18 09:38:35 +02:00
Victor Berger
f9dbabce56
backend.graphics: port no-feature code to wayland-rs 0.20
2018-04-17 19:17:11 +02:00
Victor Berger
cb4b783dc2
backend.session.logind fixes
2018-04-17 19:08:54 +02:00
Victor Berger
b80093ffda
backend.session: migrate to wayland_rs-0.20
2018-04-17 18:39:07 +02:00
Victor Berger
e44b0e596e
wayland.seat: migrate to wayland_rs-0.20
2018-04-15 11:55:16 +02:00
Drakulix
c36c511c53
[glium] Remove unnecessary mutable self reference for borrowing
2018-03-29 15:31:25 +02:00
Drakulix
d051e141cf
Refactor PointerAxisEvent to handle multiple axis
2018-03-22 16:10:32 +01:00
Drakulix
d005cd4fc6
Replace time stub with proper timestamps
2018-03-17 18:15:34 +01:00
Drakulix
4ee34fe43a
Fix winit transformed input for negative positions
2018-03-13 18:41:37 +01:00
Drakulix
81375a085f
Allow relative mouse movement to be negative
2018-03-13 15:06:52 +01:00
Drakulix
a6d8b2a802
Fix winit transformed input
2018-03-09 17:37:27 +01:00
Drakulix
bdb653042c
Update glium integration to allow mutable borrowing
2018-03-09 11:50:01 +01:00
Drakulix
9cb409de9b
Add missing derives for AutoId
2018-02-26 18:56:28 +01:00
Drakulix
5cfdf931fb
Update for wayland-server 0.14
2018-02-21 21:02:14 +01:00
Drakulix
f4d3061b2b
Fix tests & examples
2018-02-21 14:52:43 +01:00
Drakulix
85bac997e0
Fix merge with latest logind bug fixes
2018-02-21 14:52:31 +01:00
Drakulix
4a2658090b
Code formatting
2018-02-21 14:24:37 +01:00
Drakulix
5d66f8fdb3
Give EventLoopHandle to DrmHandler
2018-02-21 14:24:20 +01:00
Drakulix
b80674bdf5
Introduce SessionObserver
...
`DrmDevice` and `UdevBackend` now do not need to be wrapped into `StateToken`s anymore, but can return a separate `SessionObserver` object using the new `AsSessionObserver` trait.
This change was motivated by allowing the `UdevHandle` to obtain a mutable reference to an `EventLoopHandle` to create wayland object, e.g. a `wl_output` object.
Previously this was not possible.
Depends on https://github.com/Smithay/wayland-rs/pull/164
2018-02-21 14:24:20 +01:00
Drakulix
0ad723a71b
Allow `DrmBackend` to act as `drm::control::Device`
2018-02-21 13:31:05 +01:00
Drakulix
2294e79814
Reset drm device into text mode on tty switch
2018-02-20 19:19:22 +01:00
Drakulix
e3113caa72
Add new travis feature for logind
2018-02-20 19:19:22 +01:00
Drakulix
525c9b60c4
rustfmt
2018-02-20 19:19:22 +01:00
Drakulix
20e10612b9
Add documentation for logind/auto session
2018-02-20 19:19:22 +01:00
Drakulix
310bc94a20
Fix disappearing cursor after tty switch
2018-02-20 19:19:22 +01:00
Drakulix
5411209bb5
Fix libinput panic on tty switch
2018-02-20 19:19:22 +01:00
Drakulix
495c492e50
Fix trying to become drm master on logind session
2018-02-20 19:19:22 +01:00
Drakulix
a768e298f2
Add auto backend
2018-02-20 19:19:22 +01:00
Drakulix
b16c62b19f
Add logind session
2018-02-20 19:19:22 +01:00
Drakulix
4971278a25
Remove unused type parameter
2018-02-20 19:19:22 +01:00
Victor Berger
036633541a
Remove trailing code fence in documentation
2018-02-20 19:08:23 +01:00
Drakulix
ef0cfb9f2c
Add names to backend seats
2018-02-19 12:49:55 +01:00
Drakulix
d3a454ad72
Add winit events handler
2018-02-18 23:42:33 +01:00
Drakulix
b53ff34aab
Add option to access underlying window
2018-02-18 23:42:02 +01:00
Drakulix
8a30689015
Add getter for current `DrmBackend` mode
2018-02-18 22:04:13 +01:00
Drakulix
a9c75656a2
Add event_loop to `InputBackend` and `InputHandler` traits
2018-01-12 16:41:33 +01:00
Drakulix
32f48b3cd2
Fix some clippy lints
2018-01-09 14:12:31 +01:00
Drakulix
b125ce8005
Fix backend_drm feature
2018-01-07 23:44:21 +01:00
Drakulix
66c011c942
Use new rustfmt-preview
2018-01-07 22:30:38 +01:00
Drakulix
25c1e30fb3
Fix drm doc-test for new egl buffer changes
2018-01-07 22:12:34 +01:00
Drakulix
aaa68b1cce
Add documentation for the egl buffer features
2018-01-07 22:12:14 +01:00
Drakulix
efaadb8882
Fix a bunch of warnings
2018-01-07 20:24:40 +01:00
Drakulix
c5f475ebb5
Make unbind_egl_display into Drop implementation for EGLDisplay
2018-01-07 13:02:26 +01:00
Drakulix
a527456ba6
Fixup drm backends for egl hardware-acceleration
...
- Decouple DrmBackend and DrmDevice through Weak references
- Move EGL-WlBuffer related functionality into it's own trait
- Impl new trait by every struct that can theoretically bind the display although it is no rendering target (no EGLGraphicsBackend), e.g. DrmDevice
- Move texture binding into own struct `EGLDisplay` created by `bind_wl_display` that can be passed around freely
- Add device num to DrmDevice for HashMap storage
- Fixup and enable acceleration on drm and udev examples made possible by the previous changes.
2018-01-05 20:04:46 +01:00
Drakulix
6c6d54064d
Get it to work...
2017-12-28 15:30:53 +01:00
Drakulix
726991367d
Rework egl image api
2017-12-27 12:20:16 +01:00
Drakulix
5d7e96103d
Rework EGL module
2017-12-24 14:29:45 +01:00
Drakulix
5c846d550c
Start EGL wl_buffer image retrieval
2017-12-24 14:12:51 +01:00
Drakulix
14fc36bf54
Add binding/unbinding wayland display on EGLContext
2017-12-24 14:12:51 +01:00
Drakulix
a9d30374dc
Add EGL_WL_bind_wayland_display bindings
2017-12-24 14:12:51 +01:00
Drakulix
e1b2c88c83
Use global gl_generator generator
2017-12-24 14:12:51 +01:00
Drakulix
d0046e4c60
Fix rare hot-plugging bug
2017-12-21 16:25:21 +01:00
Drakulix
4207611e6d
rustfmt code
2017-12-15 19:22:44 +01:00
Drakulix
c9e7624a33
Remove (incomplete) logind support for now
2017-12-07 15:25:21 +01:00
Drakulix
5f59ded3f0
Fix udev example
2017-12-07 15:20:33 +01:00
Drakulix
40ef1236ea
Update to released udev/libinput versions
2017-12-06 02:06:00 +01:00
Drakulix
71f107118f
Make libinput backend work without the session feature
2017-12-03 22:44:45 +01:00
Drakulix
ae5df5039d
Fix drm example and tests
2017-12-03 22:33:21 +01:00
Drakulix
c5e66176c6
Document DirectSessionNotifier Id type
2017-12-02 17:09:34 +01:00
Drakulix
bd83bc5b2d
Restore drm state correctly
2017-12-02 17:07:52 +01:00
Drakulix
33286df0d6
Make it impossible to pass invalid `SessionObserver` ids.
...
- Add an associated type to the `SessionNotifier` trait for the returned Id's instead of using usize.
- Create a new Id type for the `DirectSessionNotifier`'s implementation, wrapping the previously used usize.
- Derive necessary traits of the new wrapper, make internal value inaccessible and Id's not publically constructable.
2017-12-02 14:24:39 +01:00
Drakulix
612436e42d
Correctly scan for any encoders
2017-12-02 13:51:08 +01:00
Drakulix
13be5b1634
Add documentation
2017-11-29 22:28:14 +01:00
Drakulix
0350dca972
Automatically add udev backend to the event loop store
2017-11-29 22:28:14 +01:00
Drakulix
ef2e0571e7
Swap session signal to usr2, because xwayland may use usr1
2017-11-29 22:28:14 +01:00
Drakulix
b4be5a5786
Comment out logind integration for now
2017-11-29 22:28:14 +01:00
Drakulix
24f2d499f3
Add more logging to session
2017-11-29 22:28:14 +01:00
Drakulix
606efebe1b
Remove unnecessary mutexes
2017-11-29 22:28:14 +01:00
Drakulix
96bb3570ba
Get input working
2017-11-29 22:28:14 +01:00
Drakulix
c7682e77de
Udev backend
2017-11-29 22:28:13 +01:00
Victor Berger
c31d966fd4
Upgrade wayland-server to 0.12
2017-11-03 17:31:51 +01:00
Demur Rumed
ce844ba9f8
Cargo.toml: include repo, update nix/image
2017-10-09 15:17:19 +02:00
Jonas Platte
4946017c0c
Apply a bunch of clippy suggestions
2017-10-07 18:40:59 +02:00
Drakulix
51886fbf00
Update to stable drm-rs version
2017-10-01 22:25:52 +02:00
Victor Berger
5a0713feb9
Fix winit backend on wayland
...
We were trying to swap_buffers while the xdg_surface had not been
configured yet, which is a protocol error.
2017-09-29 17:22:19 +02:00
Drakulix
7f45283759
cargo fmt
2017-09-21 20:50:10 +02:00
Drakulix
d2617becbf
Fix drm doc test and Deref impl
2017-09-21 19:05:59 +02:00
Drakulix
f09bdd0a30
cargo fmt
2017-09-20 20:06:58 +02:00
Drakulix
518f7dbdfc
Store DrmBackend in EventLoop state
2017-09-20 19:48:58 +02:00
Drakulix
0758ec98ba
Fix the drm backend for wayland-rs 0.10
2017-09-20 17:09:37 +02:00
Drakulix
457d6d1c35
Free framebuffers correctly
2017-09-20 15:56:57 +02:00
Drakulix
fa6742fb5f
The glory of error-chain
2017-09-20 15:56:11 +02:00
Drakulix
a04bfcdd11
Add encoder detection to runtime manipulation
2017-09-20 15:54:16 +02:00
Drakulix
174e4b9d0b
Fix encoder detection
2017-09-20 15:53:19 +02:00
Drakulix
d3fca34475
Do a better job at finding a crtc in the example
2017-09-20 15:52:47 +02:00
Drakulix
bdb91fc1f1
Better explaination of the drm module
...
- Explain the types involved and their role
- Link to the drm-rs documentation
2017-09-20 15:51:59 +02:00
Drakulix
67b3621be3
drm: reformat
2017-09-20 15:51:59 +02:00
Drakulix
ab77a87725
drm: Check for valid encoder
2017-09-20 15:51:59 +02:00
Drakulix
10fd94f963
drm: add more logging
2017-09-20 15:51:39 +02:00
Drakulix
73d262e292
drm: reformat
2017-09-20 15:51:39 +02:00
Drakulix
9c71793b0e
drm: Add more inline comments explaining the drm code
2017-09-20 15:51:39 +02:00
Drakulix
7bf4105050
drm: Add error for multi-use of a single crtc
2017-09-20 15:51:39 +02:00
Drakulix
f2bff6172b
drm: Documentation
2017-09-20 15:51:38 +02:00
Drakulix
0698775153
drm: Introduce the Drm Backend
...
- new backend rendering via egl via gbm directly on a drm device
- refine EGLContext and EGLSurface dependencies through lifetimes
- fixup the old winit backend to work with these changes
- add new example using the drm backend instead
- change GliumDrawer to be static for the drm example
2017-09-20 15:50:14 +02:00
Victor Berger
88773cf1b3
cargo fmt
2017-09-05 19:51:05 +02:00
Victor Berger
b19fafa1a0
Update winit dependency
2017-06-24 10:31:36 +02:00
Victor Berger
030261116d
winit's Event has more variants now
2017-06-23 16:14:33 +02:00
Victor Berger
bffc02c5f1
glium: impl Facade
2017-06-23 15:20:09 +02:00
Drakulix
206007f5a5
rustfmt 0.9 update
2017-06-20 11:31:18 +02:00
Drakulix
b131f8168e
Shorten surface type matching
2017-06-20 10:50:20 +02:00
Drakulix
f70cc6bf55
rustfmt
2017-06-18 19:20:23 +02:00
Drakulix
57833f2b2d
Bugfix surface_attribute termination
2017-06-15 13:34:01 +02:00
Drakulix
40e49ad7e9
Fix typos
2017-06-15 13:33:43 +02:00
Drakulix
5155b44946
Check if surface type is matching context type
2017-06-15 13:33:18 +02:00
Drakulix
eef617258e
rustfmt
2017-06-10 23:29:09 +02:00
Drakulix
2d255fd48d
Decouple EGLSurface from EGLContext
2017-06-10 23:28:09 +02:00
Drakulix
11e9999cb9
Better wording for winit make_current
2017-06-05 14:06:58 +02:00
Drakulix
7a0639fae6
Reorder egl library loading
2017-06-04 23:22:51 +02:00
Drakulix
83b98ba77b
Run cargo fmt
2017-06-04 23:13:19 +02:00
Drakulix
2453545329
Added logging to egl&winit + small bugfixes
...
- Added logging to winit & egl
- Fixed winit pointer scroll event only yielding horizontal events
- Fixed unsupported double_buffering for egl
2017-06-04 23:11:26 +02:00
Drakulix
4053d2bc30
Fixed copy&paste logging message errors
2017-06-04 23:10:50 +02:00
Drakulix
a7628610d4
Remove robustness for now
2017-06-02 15:32:31 +02:00
Drakulix
f890b4011d
Fix egl initialization segfaults
...
- Don't initialize a surface twice, if context creation fails for one
version
- Don't let the loaded egl library go out of scope and thus invalidating
the function pointers
2017-06-02 15:25:16 +02:00
Drakulix
e191c08186
Move glium.rs
2017-06-02 13:55:34 +02:00
Drakulix
2c9f6a7479
Flesh out glium compatibility
2017-06-02 13:55:28 +02:00
Drakulix
115eb4d200
Update winit
2017-06-02 13:54:34 +02:00
Drakulix
dbaf4f7746
Rename variable to avoid confusion
2017-05-23 11:03:03 +02:00
Drakulix
94d6a0f987
Fix broken robost implementation
2017-05-23 11:02:39 +02:00
Drakulix
786d719dad
rustfmt fixes
2017-05-21 22:50:50 +02:00
Drakulix
5bc641852f
Bugfixes
2017-05-21 22:40:15 +02:00
Drakulix
b950714c03
First EGL Rework draft
2017-05-18 22:28:02 +02:00
Drakulix
196b48041b
Use an enum instead of a struct for `UnusedEvent`
2017-04-29 16:23:45 +02:00
Drakulix
3bd25011b0
Replace `()` with `UnusedEvent`
2017-04-27 16:12:06 +02:00
Drakulix
a2f3b2a303
Fix some clippy warnings
2017-04-26 20:19:57 +02:00
Drakulix
f7d3b3dee3
Fix formatting
2017-04-26 20:10:28 +02:00
Drakulix
4c5e2be11e
Update libinput to v0.1.1
2017-04-26 20:09:57 +02:00
Drakulix
092fc198c3
Fixup glutin backend and more bugfixes
2017-04-24 00:30:02 +02:00
Drakulix
4fc595f68a
Fixup libinput backend to use new event api
2017-04-23 19:55:43 +02:00
Drakulix
d62f491801
Refactor `InputBackend` to use events.
2017-04-23 19:55:11 +02:00
Drakulix
056ce6312c
Add set_cursor_representation
2017-04-21 22:25:01 +02:00
Drakulix
9b6273f297
Add set_output_metadata
2017-04-18 21:57:53 +02:00
Drakulix
109f4035e8
Move set_cursor_position to the graphics backend
2017-04-18 21:20:08 +02:00
Drakulix
f95faba80f
Add libinput documentation
2017-04-15 22:53:09 +02:00
Drakulix
4afad6f939
Expand `Seat` documentation
2017-04-15 22:48:55 +02:00
Drakulix
cc6f0c9d73
Expand `on_seat_changed` documentation
2017-04-15 22:45:26 +02:00
Drakulix
66ea275d71
Fixup seat implementation
2017-04-15 22:42:42 +02:00
Drakulix
4c591a86bd
Add initializer
2017-04-15 22:38:33 +02:00
Drakulix
8cbe96d1ac
Add more logging
2017-04-15 22:28:51 +02:00
Drakulix
da93b4ac67
Add touch event passing
2017-04-15 22:20:11 +02:00
Drakulix
2cc401594d
Add pointer button event passing
2017-04-15 22:02:44 +02:00
Drakulix
01884a6aa8
Add pointer axis event passing
2017-04-15 21:46:27 +02:00
Drakulix
a5cfed8715
Impl key events
2017-04-15 20:26:44 +02:00
Drakulix
3edb489a92
Add logging to libinput backend
2017-04-15 20:17:26 +02:00
Drakulix
4f3a140543
Fix capability update
2017-04-15 19:29:15 +02:00
Drakulix
0980f8a66c
Remove done todos
2017-04-15 19:29:15 +02:00
Drakulix
ab35f140a0
Use entry api for `DeviceAddedEvent`s seat creation/update
2017-04-15 19:29:15 +02:00
Drakulix
7aca2edb13
Adjust InputBackend for libinput compatibility
...
- Make id be an `u64` to be able to populate it by a hash
- Add internal interface to get a mutable capabilities reference from a `Seat`.
- `InputConfig` type does not need to be `Sized` on `InputBackend`
2017-04-15 19:29:15 +02:00
Drakulix
5369cc2927
First draft of a libinput backend
...
- Only does DeviceEvent parsing for now
- No way to initialize it
2017-04-15 19:29:15 +02:00