This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository legacy-imlib2.
View the commit online.
commit 108af6d186d9653829498d7c8fe2dc706bdd8f65
Author: Kim Woelders <[email protected]>
AuthorDate: Mon Dec 5 17:11:14 2022 +0100
image: Introduce __imlib_LoadEmbeddedMem()
---
src/lib/Imlib2_Loader.h | 3 +++
src/lib/image.c | 22 ++++++++++++++++++++++
src/lib/image.h | 3 +++
3 files changed, 28 insertions(+)
diff --git a/src/lib/Imlib2_Loader.h b/src/lib/Imlib2_Loader.h
index d4de7c9..c0a40f5 100644
--- a/src/lib/Imlib2_Loader.h
+++ b/src/lib/Imlib2_Loader.h
@@ -164,6 +164,9 @@ ImlibLoader *__imlib_FindBestLoader(const char *file, const char *format,
int for_save);
int __imlib_LoadEmbedded(ImlibLoader * l, ImlibImage * im,
int load_data, const char *file);
+int __imlib_LoadEmbeddedMem(ImlibLoader * l, ImlibImage * im,
+ int load_data, const void *fdata,
+ unsigned int fsize);
uint32_t *__imlib_AllocateData(ImlibImage * im);
void __imlib_FreeData(ImlibImage * im);
diff --git a/src/lib/image.c b/src/lib/image.c
index e0575f8..b7b9f17 100644
--- a/src/lib/image.c
+++ b/src/lib/image.c
@@ -713,6 +713,28 @@ __imlib_LoadEmbedded(ImlibLoader * l, ImlibImage * im, int load_data,
return rc;
}
+__EXPORT__ int
+__imlib_LoadEmbeddedMem(ImlibLoader * l, ImlibImage * im, int load_data,
+ const void *fdata, unsigned int fsize)
+{
+ int rc;
+
+ if (!l || !im)
+ return LOAD_FAIL;
+
+ __imlib_ImageFileContextPush(im, NULL);
+ rc = __imlib_FileContextOpen(im->fi, NULL, fdata, fsize);
+ if (rc)
+ return LOAD_FAIL;
+
+ rc = __imlib_LoadImageWrapper(l, im, load_data);
+
+ __imlib_FileContextClose(im->fi);
+ __imlib_ImageFileContextPop(im);
+
+ return rc;
+}
+
__EXPORT__ void
__imlib_LoadProgressSetPass(ImlibImage * im, int pass, int n_pass)
{
diff --git a/src/lib/image.h b/src/lib/image.h
index 7462365..1d9b684 100644
--- a/src/lib/image.h
+++ b/src/lib/image.h
@@ -102,6 +102,9 @@ ImlibImage *__imlib_CreateImage(int w, int h, uint32_t * data);
ImlibImage *__imlib_LoadImage(const char *file, ImlibLoadArgs * ila);
int __imlib_LoadEmbedded(ImlibLoader * l, ImlibImage * im,
int load_data, const char *file);
+int __imlib_LoadEmbeddedMem(ImlibLoader * l, ImlibImage * im,
+ int load_data, const void *fdata,
+ unsigned int fsize);
int __imlib_LoadImageData(ImlibImage * im);
void __imlib_DirtyImage(ImlibImage * im);
void __imlib_FreeImage(ImlibImage * im);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.