31 #include <wayland-cursor.h>
32 #include <wayland-client-protocol.hpp>
33 #include <wayland-util.hpp>
37 class cursor_image_t :
public detail::basic_wrapper<wl_cursor_image>
40 cursor_image_t(wl_cursor_image *image, std::shared_ptr<wl_cursor_theme>
const& t);
41 friend class cursor_t;
43 std::shared_ptr<wl_cursor_theme> cursor_theme;
47 uint32_t width()
const;
48 uint32_t height()
const;
49 uint32_t hotspot_x()
const;
50 uint32_t hotspot_y()
const;
51 uint32_t delay()
const;
53 buffer_t get_buffer()
const;
56 class cursor_t :
public detail::basic_wrapper<wl_cursor>
59 cursor_t(wl_cursor *c, std::shared_ptr<wl_cursor_theme>
const& t);
60 friend class cursor_theme_t;
62 std::shared_ptr<wl_cursor_theme> cursor_theme;
66 unsigned int image_count()
const;
67 std::string name()
const;
68 cursor_image_t image(
unsigned int n)
const;
69 int frame(uint32_t time)
const;
72 class cursor_theme_t :
public detail::refcounted_wrapper<wl_cursor_theme>
76 cursor_theme_t(std::string name,
int size, shm_t shm);
77 cursor_t get_cursor(std::string name)
const;