Commit Graph

1727 Commits

Author SHA1 Message Date
Kim Woelders 4b595dde3a v1.10.0 2022-12-17 18:54:42 +01:00
Kim Woelders 03e4460c17 ANI loader: Multiframe suport 2022-12-14 19:33:09 +01:00
Kim Woelders 7e7eae168a ANI loader: Disable progress in embed loader 2022-12-14 19:33:09 +01:00
Kim Woelders 19028a4ca3 image: Cosmetics (slightly more consisent naming) 2022-12-08 19:03:41 +01:00
Kim Woelders 68a5af8cb2 Add new ani loader 2022-12-08 17:46:09 +01:00
Kim Woelders 108af6d186 image: Introduce __imlib_LoadEmbeddedMem() 2022-12-07 20:03:18 +01:00
Kim Woelders b7d4cab412 image: Cosmetics
- Remove unused function argument in __imlib_ImageFileContextPush()
- Swap function arguments in __imlib_LoadEmbedded()
2022-12-07 20:03:18 +01:00
Kim Woelders 472c823aaf imlib2_view: Don't load bad images twice if first or last in argument list 2022-12-07 18:41:05 +01:00
Kim Woelders bce3ca564d imlib2_view: Properly handle caching vs progress callbacks
When viewing animated images using progress callbacks we could
unintentionally cache a frame, causing incorrect rendering.
2022-12-07 18:40:43 +01:00
Kim Woelders dbeff07758 imlib2_view: Deal with all pending X events at once
Sometimes processing of e.g. key events were deferred do to frame
handling.
2022-11-21 18:56:17 +01:00
Kim Woelders 84948cb698 imlib2_view: Fix multiframe after update coordinate change 2022-11-21 18:49:19 +01:00
Kim Woelders 2d2f8899ec multiframe: Remove frame offset from updates
The frame offsets were recently removed from the loader update callbacks
and added in the infrastructure before calling the user update function.
Now drop the frame offsets so that the update coordinates are relative
to the frame, not the canvas.
Should make things simpler in the end.
2022-11-21 18:49:19 +01:00
Kim Woelders bfcaff3976 imlib2_view: Fix multiframe rendering detail
On dispose, we must re-render saved before saving next.
2022-11-21 18:49:19 +01:00
Kim Woelders a5daa9e33c PNG loader: Simplify update callback handling 2022-11-21 18:49:19 +01:00
Kim Woelders 5a1b88547a PNG loader: Quit after loading first frame
.. in the IDAT data case too.
2022-11-21 18:49:19 +01:00
Kim Woelders ee4b02016e PNG loader: Quit scan when target fdAT is seen 2022-11-21 18:49:19 +01:00
Kim Woelders b6bf5d0520 multiframe: Allocate frame info only when needed 2022-11-15 11:54:06 +01:00
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.

old/legacy-imlib2#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