wayland.hpp 633B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef N_WAYLAND_H_
  2. #define N_WAYLAND_H_
  3. #include <wayland-client.h>
  4. #include <wayland-egl.h>
  5. #include <EGL/egl.h>
  6. #include <string>
  7. #include <iostream>
  8. #include <vector>
  9. #include <glm/glm.hpp>
  10. //#include <mutter/meta/compositor-mutter.h>
  11. #ifndef NULL
  12. #define NULL 0
  13. #endif
  14. class Wayland {
  15. public:
  16. Wayland();
  17. ~Wayland();
  18. void init();
  19. wl_display* display;
  20. wl_compositor* compositor;
  21. wl_seat* seat;
  22. wl_shell* shell;
  23. wl_shm* shm;
  24. wl_output* output;
  25. EGLDisplay egl_display;
  26. glm::vec2 mousepos;
  27. std::vector<glm::vec4> getWindows();
  28. };
  29. extern Wayland* wayland;
  30. #endif // N_WAYLAND_H_