Lomiri
Loading...
Searching...
No Matches
xcursor.h
1/*
2 * Copyright © 2002 Keith Packard
3 *
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that
7 * copyright notice and this permission notice appear in supporting
8 * documentation, and that the name of Keith Packard not be used in
9 * advertising or publicity pertaining to distribution of the software without
10 * specific, written prior permission. Keith Packard makes no
11 * representations about the suitability of this software for any purpose. It
12 * is provided "as is" without express or implied warranty.
13 *
14 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20 * PERFORMANCE OF THIS SOFTWARE.
21 */
22
23#ifndef XCURSOR_H
24#define XCURSOR_H
25
26#include <stdint.h>
27
28
29typedef int XcursorBool;
30typedef uint32_t XcursorUInt;
31
32typedef XcursorUInt XcursorDim;
33typedef XcursorUInt XcursorPixel;
34
35typedef struct _XcursorImage {
36 XcursorUInt version; /* version of the image data */
37 XcursorDim size; /* nominal size for matching */
38 XcursorDim width; /* actual width */
39 XcursorDim height; /* actual height */
40 XcursorDim xhot; /* hot spot x (must be inside image) */
41 XcursorDim yhot; /* hot spot y (must be inside image) */
42 XcursorUInt delay; /* animation delay to next frame (ms) */
43 XcursorPixel *pixels; /* pointer to pixels */
44} XcursorImage;
45
46/*
47 * Other data structures exposed by the library API
48 */
49typedef struct _XcursorImages {
50 int nimage; /* number of images */
51 XcursorImage **images; /* array of XcursorImage pointers */
52 char *name; /* name used to load images */
53} XcursorImages;
54
55XcursorImages *
56XcursorLibraryLoadImages (const char *file, const char *theme, int size);
57
58void
59XcursorImagesDestroy (XcursorImages *images);
60
61void
62xcursor_load_theme(const char *theme, int size,
63 void (*load_callback)(XcursorImages *, void *),
64 void *user_data);
65#endif