diff --git a/src/file.c b/src/file.c index b07f1f5..ccc430f 100644 --- a/src/file.c +++ b/src/file.c @@ -687,10 +687,10 @@ _XcursorXcFileLoadImage (XcursorFile *file, int size, XcursorBool resize) return image; } -XcursorImages * -XcursorXcFileLoadImages (XcursorFile *file, int size) +XcursorImage * +XcursorXcFileLoadImage (XcursorFile *file, int size) { - return _XcursorXcFileLoadImages (file, size, XcursorFalse); + return _XcursorXcFileLoadImage (file, size, XcursorFalse); } XcursorImages * @@ -747,10 +747,10 @@ _XcursorXcFileLoadImages (XcursorFile *file, int size, XcursorBool resize) return images; } -XcursorImage * -XcursorXcFileLoadImage (XcursorFile *file, int size) +XcursorImages * +XcursorXcFileLoadImages (XcursorFile *file, int size) { - return _XcursorXcFileLoadImage (file, size, XcursorFalse); + return _XcursorXcFileLoadImages (file, size, XcursorFalse); } XcursorImages * @@ -993,6 +993,30 @@ _XcursorStdioFileInitialize (FILE *stdfile, XcursorFile *file) file->seek = _XcursorStdioFileSeek; } +XcursorImage * +_XcursorFileLoadImage (FILE *file, int size, XcursorBool resize) +{ + XcursorFile f; + + if (!file) + return NULL; + + _XcursorStdioFileInitialize (file, &f); + return _XcursorXcFileLoadImage (&f, size, resize); +} + +XcursorImages * +_XcursorFileLoadImages (FILE *file, int size, XcursorBool resize) +{ + XcursorFile f; + + if (!file) + return NULL; + + _XcursorStdioFileInitialize (file, &f); + return _XcursorXcFileLoadImages (&f, size, resize); +} + XcursorImage * XcursorFileLoadImage (FILE *file, int size) { @@ -1091,6 +1115,23 @@ XcursorFilenameLoadImage (const char *file, int size) return image; } +XcursorImages * +_XcursorFilenameLoadImages (const char *file, int size, XcursorBool resize) +{ + FILE *f; + XcursorImages *images; + + if (!file || size < 0) + return NULL; + + f = fopen (file, "r" FOPEN_CLOEXEC); + if (!f) + return NULL; + images = _XcursorFileLoadImages (f, size, resize); + fclose (f); + return images; +} + XcursorImages * XcursorFilenameLoadImages (const char *file, int size) { diff --git a/src/xcursorint.h b/src/xcursorint.h index 4c9acd4..28b2718 100644 --- a/src/xcursorint.h +++ b/src/xcursorint.h @@ -113,7 +113,16 @@ Cursor _XcursorCreateFontCursor (Display *dpy, unsigned int shape); /* provide for XCURSOR_RESIZED */ +XcursorImage * +_XcursorFileLoadImage (FILE *file, int size, XcursorBool resize); + XcursorImages * _XcursorXcFileLoadImages (XcursorFile *file, int size, XcursorBool resize); +XcursorImages * +_XcursorFileLoadImages (FILE *file, int size, XcursorBool resize); + +XcursorImages * +_XcursorFilenameLoadImages (const char *file, int size, XcursorBool resize); + #endif /* _XCURSORINT_H_ */