summaryrefslogtreecommitdiff
path: root/src/events.h
blob: bdbe6d2da77fea157be642bb37d0be3ce9967472 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include "hashm.h"
#include "vec.h"
#include "window.h"
#include "wlstate.h"

enum event_kind_e {
  EVENT_KIND_CLOSE,
};

struct event_s {
  enum event_kind_e kind;
  struct window_s *window;
};

struct eventloop_s {
  struct wlstate_s state;
  struct vec_s<struct event_s> events;
  window_id_t winid;
  struct hashmap_s<window_id_t, struct window_s *> windows;
};

bool wayc_eventloop_init(struct eventloop_s *loop);
void wayc_eventloop_deinit(struct eventloop_s *loop);