mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 12:55:58 +01:00
xcursor: improve documentation
This commit is contained in:
parent
4dee7a2f6f
commit
78121ad2d8
1 changed files with 40 additions and 14 deletions
|
@ -44,20 +44,30 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <wlr/util/edges.h>
|
#include <wlr/util/edges.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A still cursor image.
|
||||||
|
*
|
||||||
|
* The buffer contains pixels layed out in a packed DRM_FORMAT_ARGB8888 format.
|
||||||
|
*/
|
||||||
struct wlr_xcursor_image {
|
struct wlr_xcursor_image {
|
||||||
uint32_t width; /* actual width */
|
uint32_t width; /* actual width */
|
||||||
uint32_t height; /* actual height */
|
uint32_t height; /* actual height */
|
||||||
uint32_t hotspot_x; /* hot spot x (must be inside image) */
|
uint32_t hotspot_x; /* hot-spot x (must be inside image) */
|
||||||
uint32_t hotspot_y; /* hot spot y (must be inside image) */
|
uint32_t hotspot_y; /* hot-spot y (must be inside image) */
|
||||||
uint32_t delay; /* animation delay to next frame (ms) */
|
uint32_t delay; /* animation delay to next frame (ms) */
|
||||||
uint8_t *buffer;
|
uint8_t *buffer; /* pixel data */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A cursor.
|
||||||
|
*
|
||||||
|
* If the cursor is animated, it may contain more than a single image.
|
||||||
|
*/
|
||||||
struct wlr_xcursor {
|
struct wlr_xcursor {
|
||||||
unsigned int image_count;
|
unsigned int image_count;
|
||||||
struct wlr_xcursor_image **images;
|
struct wlr_xcursor_image **images;
|
||||||
char *name;
|
char *name;
|
||||||
uint32_t total_delay; /* length of the animation in ms */
|
uint32_t total_delay; /* total duration of the animation in ms */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -71,30 +81,46 @@ struct wlr_xcursor_theme {
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the named xcursor theme at the given cursor size (in pixels). This is
|
* Loads the named Xcursor theme.
|
||||||
* useful if you need cursor images for your compositor to use when a
|
*
|
||||||
* client-side cursors is not available or you wish to override client-side
|
* This is useful if you need cursor images for your compositor to use when a
|
||||||
|
* client-side cursor is not available or you wish to override client-side
|
||||||
* cursors for a particular UI interaction (such as using a grab cursor when
|
* cursors for a particular UI interaction (such as using a grab cursor when
|
||||||
* moving a window around).
|
* moving a window around).
|
||||||
|
*
|
||||||
|
* The size is given in pixels.
|
||||||
|
*
|
||||||
|
* If a cursor theme with the given name couldn't be loaded, a fallback theme
|
||||||
|
* is loaded.
|
||||||
|
*
|
||||||
|
* On error, NULL is returned.
|
||||||
*/
|
*/
|
||||||
struct wlr_xcursor_theme *wlr_xcursor_theme_load(const char *name, int size);
|
struct wlr_xcursor_theme *wlr_xcursor_theme_load(const char *name, int size);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Destroy a cursor theme.
|
||||||
|
*
|
||||||
|
* This implicitly destroys all child cursors and cursor images.
|
||||||
|
*/
|
||||||
void wlr_xcursor_theme_destroy(struct wlr_xcursor_theme *theme);
|
void wlr_xcursor_theme_destroy(struct wlr_xcursor_theme *theme);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Obtains a wlr_xcursor image for the specified cursor name (e.g. "left_ptr").
|
* Obtain a cursor for the specified name (e.g. "left_ptr").
|
||||||
|
*
|
||||||
|
* If the cursor could not be found, NULL is returned.
|
||||||
*/
|
*/
|
||||||
struct wlr_xcursor *wlr_xcursor_theme_get_cursor(
|
struct wlr_xcursor *wlr_xcursor_theme_get_cursor(
|
||||||
struct wlr_xcursor_theme *theme, const char *name);
|
struct wlr_xcursor_theme *theme, const char *name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current frame number for an animated cursor give a monotonic time
|
* Find the frame for a given elapsed time in a cursor animation.
|
||||||
* reference.
|
*
|
||||||
|
* This function converts a timestamp (in ms) to a cursor image index.
|
||||||
*/
|
*/
|
||||||
int wlr_xcursor_frame(struct wlr_xcursor *cursor, uint32_t time);
|
int wlr_xcursor_frame(struct wlr_xcursor *cursor, uint32_t time);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the name of the resize cursor image for the given edges.
|
* Get the name of the resize cursor for the given edges.
|
||||||
*/
|
*/
|
||||||
const char *wlr_xcursor_get_resize_name(enum wlr_edges edges);
|
const char *wlr_xcursor_get_resize_name(enum wlr_edges edges);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue