Commit Graph

1760 Commits

Author SHA1 Message Date
Kim Woelders e353a684c2 multiframe: Move frame info to allocated record
Avoid the overhead in ImlibImage when not doing multiframe loads.
2022-11-15 11:54:06 +01:00
Kim Woelders b1bbe1d9e8 multiframe: Centralize handling of frame update offsets 2022-11-15 11:54:06 +01:00
Kim Woelders 6df68e3e2e multiframe: Tweaks around frame number handling 2022-11-15 11:54:06 +01:00
Kim Woelders 0071544859 PS loader: Cosmetics 2022-11-15 11:54:06 +01:00
Kim Woelders 9382d8f2e4 PNG loader: Cosmetics
In multiframe loaders, use "frame" for the requested frame, and "fcount"
for frame counter.
2022-11-15 11:53:52 +01:00
Kim Woelders 8416d2b244 test: test_load_2: Check frame 0/1 loading too 2022-11-15 11:49:47 +01:00
Kim Woelders c6d394075d imlib2_view: Fix single frame update rendering 2022-11-15 11:49:40 +01:00
Kim Woelders 37332eb35e autofoo: Use AC_USE_SYSTEM_EXTENSIONS
Defining _GNU_SOURCE is then not needed.
2022-11-11 12:05:04 +01:00
Kim Woelders 9b198f0af9 ICO loader: Eliminate ico_load()
Not really helpful.
2022-10-31 07:21:00 +01:00
Kim Woelders 61f055c4e7 SVG loader: Don't reference multiframe stuff
No multiframe handling here.
2022-10-31 07:19:43 +01:00
Kim Woelders d4f604230a test: test_load: Quit when loading primary image fails 2022-10-31 07:17:34 +01:00
Kim Woelders 191b9bac47 autofoo: Rework git tag/release stuff
- Add 'release' target to make dist without git tag in rpm name.
- Use .git-src (not .git) to test if we are building from git.
2022-10-24 22:19:49 +02:00
Kim Woelders 489cf37b12 autofoo: Fix trouble with test subdirectory in distributed source
Not having test in DIST_SUBDIRS cases trouble when running autoreconf
in the distributed source.
Now remove test stuff from the release tarball in dist-hook and add
dummy Makefile.am/in to make autoconf happy.
2022-10-24 22:19:49 +02:00
Kim Woelders f762a49c49 PNG loader: Fix animated PNG loading some more 2022-10-12 19:30:44 +02:00
Kim Woelders 6e2267e740 multiframe: Support loop count 2022-10-10 17:23:43 +02:00
Kim Woelders 272c737cc3 PNG loader: Improved handling of animated PNGs
Correct handling of initial image (IDAT vs fcTL order).
2022-10-10 17:23:43 +02:00
Kim Woelders 75657f0362 PNG loader: Cosmetics 2022-10-10 15:55:11 +02:00
Kim Woelders 8cdb260368 PNG loader: Correct frame delay in zero denominator case 2022-10-10 15:55:11 +02:00
NRK e9c09deb08 TGA loader: fix indexing in tgaflip
`y` needs to be multiplied by the width, not the height.

ref: https://codeberg.org/nsxiv/nsxiv/issues/378
2022-10-09 17:49:21 +02:00
NRK 280573e6e2 imlib_load_image_frame_mem(): set nocache 2022-10-01 17:10:00 +02:00
Kim Woelders c69325d68c image: Fix potential use of uninitialized time stamps 2022-10-01 17:09:06 +02:00
Kim Woelders b15467a493 imlib2_load: Add option to enable image caching 2022-10-01 17:07:34 +02:00
Kim Woelders ed89effcf3 api: error_return adjustments
- Drop imlib_load_image_fde()
- Remove error_return from imlib_load_image_mem()

It is becoming somewhat messy having functions with and without error
returns, so drop error returns in API functions added since v1.9.1.
Use imlib_get_error() to get the error instead.
2022-09-30 06:08:29 +02:00
Kim Woelders 43c54e1345 Introduce imlib_get_error()
Some of the image loading functions have a version with an error_return,
and some not.
With imlib_get_error() it is now possible to fetch the load error for
any image loading function call.
2022-09-30 06:04:27 +02:00
Kim Woelders 51906190a1 image: Don't munmap external memory
When loading image from memory (imlib_load_image[_frame]_mem()) the
memory was unintentionally munmapped after loading.

This would cause trouble if loading multiple times from the same mmap'ed
memory, but not from malloced memory as the munmap would then just fail
silently.

#1
2022-09-29 13:48:46 +02:00
Kim Woelders 6151f9be2e image: Hide internal ImlibImageFileInfo struct 2022-09-29 12:41:13 +02:00
Kim Woelders 9f9779e698 test: Re-generate test images with recent tool/library versions
Converters and library versions used:
 convert                ImageMagick-6.9.12.64
 cjxl                   libjxl-0.7.0
 heif-enc               libheif-1.13.0
 opj2_compress          openjpeg2-2.5.0
 pnmtopnm,pamtoxvmini   netpbm-10.99.00
2022-09-28 18:19:07 +02:00
Kim Woelders 87bcf92524 Includes tweaks
- Drop unneeded errno.h includes.
- Include stdarg.h only where needed.
2022-09-28 18:19:07 +02:00
Kim Woelders 0c687ee837 Unify basic X11 functionality in test programs 2022-09-02 12:45:13 +02:00
Kim Woelders d30460b39b image: Fix memory leak when cloning images
Was introduced in recent infrastructure changes.
2022-08-27 18:34:15 +02:00
Kim Woelders ecf119af57 J2K loader: Drop showing deprecated item in debug message 2022-08-27 17:51:07 +02:00
Kim Woelders d03876e35e Enable disabling text functions
To optionally reduce footprint.
2022-08-26 06:33:32 +02:00
Kim Woelders 431f45fe04 api: Move text functions to separate file 2022-08-26 06:33:32 +02:00
Kim Woelders 96e95920dc Enable disabling filter functions
To optionally reduce footprint.
2022-08-26 06:33:32 +02:00
Kim Woelders 2ba6ec494f api: Move filter functions to separate file 2022-08-26 06:33:32 +02:00
Kim Woelders 1fd61bb25d api: Move X11 related functions to separate file 2022-08-26 06:33:32 +02:00
Kim Woelders 95bf3c774d Hide imlib_get/set_color_usage() if no X11
Pointless without.
2022-08-26 06:33:32 +02:00
Kim Woelders c198678bf0 api: Remove cast previously dropped everywhere else 2022-08-06 19:29:40 +02:00
NRK cd4f0c0419 Introduce imlib_load_image_frame_mem 2022-08-06 19:29:40 +02:00
Kim Woelders 06eb5ab315 imlib2_load: Add option to use imlib_load_image_mem() 2022-07-10 12:51:17 +02:00
Kim Woelders af587674a4 Introduce imlib_load_image_mem()
For loading images from memory.
2022-07-10 12:51:15 +02:00
Kim Woelders 753065d5a3 loading: Centralize mmap handling
Loader interface should be stable now.
2022-07-10 12:51:06 +02:00
Kim Woelders e55208f4d6 loading: Introduce __imlib_ImageFileContextPush/Pop()
Makes dealing with nested file contexts much easier.
2022-07-10 12:50:40 +02:00
Kim Woelders 5b357a815b loading: New loader infrastructure
Old loaders will no longer work.
Should be no big deal to migrate though.
2022-07-10 12:50:40 +02:00
Kim Woelders 3f1f87b1fb loading: Don't look for cached image when not caching 2022-07-10 12:50:40 +02:00
Kim Woelders b39d33c800 image: Change has alpha flag to separate byte
It is the only flag that should be used by the loaders
2022-07-10 12:50:40 +02:00
Kim Woelders f44e52c62d Introduce Imlib2_Loader.h - all that is needed by loaders
Note! This changes breaks loader ABI due to reordering of elements in
ImlibImage.
Loader interface will be unstable until further notice.
2022-07-10 12:50:09 +02:00
Kim Woelders a0e661740d imlib2_load: Tweak load mode handling 2022-07-07 12:59:40 +02:00
Kim Woelders cea1207efe Introduce imlib_load_image_fde()
Same as imlib_load_image_fd() but with error return.
2022-07-07 12:59:40 +02:00
Kim Woelders 8dc921286c v1.9.1 2022-07-06 17:48:35 +02:00