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
cbee540013
Reexport ModifiersState to make it publically accessible
2018-02-21 07:48:54 +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
a0b6e2c916
Don't required EventLoop for wayland object creation
2018-02-15 16:17:12 +01:00
Victor Berger
f2751c824f
wayland.shell: fix memory corruption in wl_shell
...
Invalid data was set as user data for wl_shell_surface, causing
access to invalid memory at drop time.
Fixes #60
2018-01-14 13:50:39 +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
c63d693a74
Fix seats of version 1
2017-12-28 15:33:18 +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
bfed76593a
Fix backend_session_udev without backend_udev
2017-12-21 18:11:19 +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