mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-01 22:58:38 -04:00
Changed events to use wayland functions.
This commit is contained in:
parent
562d43a5ec
commit
115d4ae637
8 changed files with 127 additions and 197 deletions
|
|
@ -6,6 +6,7 @@
|
|||
#include <EGL/egl.h>
|
||||
#include <gbm.h>
|
||||
#include <libudev.h>
|
||||
#include <wayland-server.h>
|
||||
|
||||
#include "session.h"
|
||||
#include "udev.h"
|
||||
|
|
@ -16,10 +17,18 @@ struct wlr_drm_backend {
|
|||
int fd;
|
||||
bool paused;
|
||||
|
||||
// Priority Queue (Max-heap)
|
||||
size_t event_cap;
|
||||
size_t event_len;
|
||||
struct wlr_drm_event *events;
|
||||
struct wl_event_loop *event_loop;
|
||||
|
||||
struct {
|
||||
struct wl_event_source *drm;
|
||||
struct wl_event_source *udev;
|
||||
} event_src;
|
||||
|
||||
struct {
|
||||
struct wl_signal display_add;
|
||||
struct wl_signal display_rem;
|
||||
struct wl_signal display_render;
|
||||
} signals;
|
||||
|
||||
size_t display_len;
|
||||
struct wlr_drm_display *displays;
|
||||
|
|
|
|||
|
|
@ -1,25 +0,0 @@
|
|||
#ifndef EVENT_H
|
||||
#define EVENT_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include "drm.h"
|
||||
|
||||
enum wlr_drm_event_type {
|
||||
DRM_EV_NONE,
|
||||
DRM_EV_RENDER,
|
||||
DRM_EV_DISPLAY_REM,
|
||||
DRM_EV_DISPLAY_ADD,
|
||||
};
|
||||
|
||||
struct wlr_drm_event {
|
||||
enum wlr_drm_event_type type;
|
||||
struct wlr_drm_display *display;
|
||||
};
|
||||
|
||||
struct wlr_drm_backend;
|
||||
bool wlr_drm_get_event(struct wlr_drm_backend *backend,
|
||||
struct wlr_drm_event *restrict ret);
|
||||
bool wlr_drm_add_event(struct wlr_drm_backend *backend,
|
||||
struct wlr_drm_display *disp, enum wlr_drm_event_type type);
|
||||
|
||||
#endif
|
||||
|
|
@ -8,15 +8,14 @@
|
|||
struct wlr_udev {
|
||||
struct udev *udev;
|
||||
struct udev_monitor *mon;
|
||||
int mon_fd;
|
||||
char *drm_path;
|
||||
};
|
||||
|
||||
bool wlr_udev_init(struct wlr_udev *udev);
|
||||
struct wlr_drm_backend;
|
||||
bool wlr_udev_init(struct wlr_drm_backend *backend);
|
||||
void wlr_udev_free(struct wlr_udev *udev);
|
||||
int wlr_udev_find_gpu(struct wlr_udev *udev, struct wlr_session *session);
|
||||
|
||||
struct wlr_drm_backend;
|
||||
void wlr_udev_event(struct wlr_drm_backend *backend);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue