wayland-cursor.h

wl_cursor_theme_loadカーソルテーマの読み込み
wl_cursor_theme_destroyテーマを削除
wl_cursor_theme_get_cursorテーマから指定名のカーソル取得
wl_cursor_image_get_bufferカーソルイメージから wl_buffer 取得
wl_cursor_frame指定経過時間時のフレームを取得
wl_cursor_frame_and_duration指定経過時間時のフレームと次の時間を取得
struct wl_cursor_image {
  uint32_t width;     /* 幅 */
  uint32_t height;    /* 高さ */
  uint32_t hotspot_x; /* hot spot x */
  uint32_t hotspot_y; /* hot spot y */
  uint32_t delay;     /* 表示する時間 (ms) */
};

struct wl_cursor {
  unsigned int image_count;  /* イメージ数 */
  struct wl_cursor_image **images;  /* イメージの配列 */
  char *name;
};
struct wl_cursor_theme *wl_cursor_theme_load(
    const char *name, int size, struct wl_shm *shm);
コンポジターと共有されているメモリにカーソルテーマをロードする。
name
テーマの名前。NULL でデフォルト。
テーマのディレクトリ名で指定する (index.theme で定義されている名前ではない)
size
イメージの推奨サイズ。
戻り値
NULL でエラー。指定名のテーマがなければデフォルトが読み込まれる。
void wl_cursor_theme_destroy(struct wl_cursor_theme *theme);
テーマを削除
struct wl_cursor *wl_cursor_theme_get_cursor(
    struct wl_cursor_theme *theme, const char *name);
テーマから指定名のカーソル取得
戻り値
NULL でカーソルがない
struct wl_buffer *wl_cursor_image_get_buffer(struct wl_cursor_image *image);
カーソルイメージから wl_buffer を取得する。
※ 取得した wl_buffer はユーザーが破棄してはいけない。
int wl_cursor_frame(struct wl_cursor *cursor, uint32_t time);
アニメーションで、指定の経過時間時のフレームを取得する。
time
アニメーション開始からの経過時間(ms 単位)
戻り値
画像のインデックス値
int wl_cursor_frame_and_duration(struct wl_cursor *cursor, uint32_t time,
    uint32_t *duration);
アニメーションで、指定の経過時間時のフレームと、次の画像までの残り時間を取得する。
duration
次の画像までの時間が入る。
変化しない場合は 0。