Commit Graph

69 Commits

Author SHA1 Message Date
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
Victor Berger 6560e413c0 udev example: handle all 12 vt switches 2018-02-21 00:01:19 +01:00
Drakulix 5725d1bb34 Remove broken ctrlc helper 2018-02-20 19:19:22 +01:00
Drakulix 1d042d04e1 fix vagga build 2018-02-20 19:19:22 +01:00
Drakulix 525c9b60c4 rustfmt 2018-02-20 19:19:22 +01:00
Drakulix 4501ca5fe1 Fix weston-terminal spawn in example 2018-02-20 19:19:22 +01:00
Drakulix 11c9f2b0fb Make udev example use new auto session 2018-02-20 19:19:22 +01:00
Drakulix a9c75656a2 Add event_loop to `InputBackend` and `InputHandler` traits 2018-01-12 16:41:33 +01:00
Drakulix 66c011c942 Use new rustfmt-preview 2018-01-07 22:30:38 +01:00
Drakulix aaa68b1cce Add documentation for the egl buffer features 2018-01-07 22:12:14 +01:00
Drakulix c5f475ebb5 Make unbind_egl_display into Drop implementation for EGLDisplay 2018-01-07 13:02:26 +01:00
Drakulix 6b650eb988 Remove unneeded Send implementation 2018-01-07 12:43:41 +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 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 943b59a107 Spawn weston-terminal in udev example on keycode 2017-12-21 17:56:16 +01:00
Drakulix 5f59ded3f0 Fix udev example 2017-12-07 15:20:33 +01:00
Drakulix ae5df5039d Fix drm example and tests 2017-12-03 22:33:21 +01:00
Drakulix 0350dca972 Automatically add udev backend to the event loop store 2017-11-29 22:28:14 +01:00
Drakulix ed04f2d293 Clarify comment 2017-11-29 22:28:14 +01:00
Drakulix 606efebe1b Remove unnecessary mutexes 2017-11-29 22:28:14 +01:00
Drakulix cd27436470 Use xkb for a nice shutdown command 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
William W Wold 291ba17a5c added scroll events to pointer and winit demo 2017-10-15 16:29:29 +02:00
Victor Berger 8934bf19dc examples: add output to winit example 2017-10-01 22:47:30 +02:00
Drakulix 51886fbf00 Update to stable drm-rs version 2017-10-01 22:25:52 +02:00
Victor Berger 2fbb45273f cargo fmt 2017-09-30 12:05:28 +02:00
Victor Berger 15ce7134fc Move wayland utilities to their own module. 2017-09-29 17:24:20 +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
Victor Berger da3983856b fix examples 2017-09-22 18:49:58 +02:00
Victor Berger cfb388561f examples: reduce warnings 2017-09-22 15:00:29 +02:00
Victor Berger 4b4097d56d examples: input for winit 2017-09-22 14:58:20 +02:00
Victor Berger e6eb03c184 examples: introduce window_map 2017-09-22 14:56:59 +02:00
Drakulix 7f45283759 cargo fmt 2017-09-21 20:50:10 +02:00
Drakulix 74b56e6de2 Fix examples 2017-09-21 20:31:51 +02:00
Drakulix d2617becbf Fix drm doc test and Deref impl 2017-09-21 19:05:59 +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 d3fca34475 Do a better job at finding a crtc in the example 2017-09-20 15:52:47 +02:00
Drakulix 660080c45d drm: Refine drm example commentary 2017-09-20 15:51:39 +02:00
Drakulix 73d262e292 drm: reformat 2017-09-20 15:51:39 +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 0de5694a18 Update example to new API 2017-09-20 15:03:58 +02:00
Victor Berger 33272a2275 Update example to have weston-terminal not crashing 2017-09-08 17:25:36 +02:00
Victor Berger eeb6373ded Silence example warnings. 2017-09-06 16:33:35 +02:00
Victor Berger 30c0628959 examples: randomise window location in simple.rs 2017-09-05 21:23:40 +02:00
Victor Berger aab56047f0 Update example to use shell global 2017-09-05 21:09:50 +02:00