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.

Reply via email to