Mir
xcursor.h
Go to the documentation of this file.
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 
29 typedef int XcursorBool;
30 typedef uint32_t XcursorUInt;
31 
34 
35 typedef 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  */
49 typedef struct _XcursorImages {
50  int nimage; /* number of images */
51  XcursorImage **images; /* array of XcursorImage pointers */
52  char *name; /* name used to load images */
54 
56 XcursorLibraryLoadImages (const char *file, const char *theme, int size);
57 
58 void
60 
61 void
62 xcursor_load_theme(const char *theme, int size,
63  void (*load_callback)(XcursorImages *, void *),
64  void *user_data);
65 #endif
XcursorPixel * pixels
Definition: xcursor.h:43
XcursorUInt XcursorPixel
Definition: xcursor.h:33
uint32_t XcursorUInt
Definition: xcursor.h:30
XcursorUInt delay
Definition: xcursor.h:42
XcursorUInt version
Definition: xcursor.h:36
Definition: xcursor.h:35
void xcursor_load_theme(const char *theme, int size, void(*load_callback)(XcursorImages *, void *), void *user_data)
Load all the cursor of a theme.
Definition: xcursor.c:931
XcursorImages * XcursorLibraryLoadImages(const char *file, const char *theme, int size)
Definition: xcursor.c:844
Definition: xcursor.h:49
XcursorImage ** images
Definition: xcursor.h:51
XcursorUInt XcursorDim
Definition: xcursor.h:32
void XcursorImagesDestroy(XcursorImages *images)
Definition: xcursor.c:237
int nimage
Definition: xcursor.h:50
struct _XcursorImage XcursorImage
struct _XcursorImages XcursorImages
XcursorDim yhot
Definition: xcursor.h:41
XcursorDim xhot
Definition: xcursor.h:40
XcursorDim size
Definition: xcursor.h:37
XcursorDim height
Definition: xcursor.h:39
char * name
Definition: xcursor.h:52
XcursorDim width
Definition: xcursor.h:38
int XcursorBool
Definition: xcursor.h:29

Copyright © 2012-2016 Canonical Ltd.
Generated on Wed May 10 10:41:27 UTC 2017