Commit Graph

564 Commits

Author SHA1 Message Date
1ef0a84bc7
Fix build with older versions of Cairo 2023-06-25 02:12:50 +02:00
4b5b8ec9fa
Implement our own Preferences dialog
And fix a resource leak.
2023-06-24 22:13:08 +02:00
3449ac5a12
Make GSettings find schema XMLs in devenv 2023-06-24 15:26:45 +02:00
bbfa2344d6
Fix colour management in animations
Bug introduced in d6e79cf.
2023-06-24 14:36:25 +02:00
2ff853b7e0
Improve looped animation behaviour 2023-06-24 14:36:24 +02:00
bb4d3acd12
Premultiply through Little CMS in animations 2023-06-24 14:36:24 +02:00
074bd4d37f
Stop abusing Cairo user data, part 2
With the shift from cairo_surface_t, we've lost our ability
to directly render vector surfaces, but it doesn't matter.
2023-06-24 14:36:24 +02:00
add96b37a6
Stop abusing Cairo user data, part 1
This commit temporarily breaks multi-page images and animations.
2023-06-24 13:56:36 +02:00
c2e8b65d0f
Don't rebuild fiv-io.c several times 2023-06-23 16:48:32 +02:00
4f57070e27
Fix 32-bit build warnings 2023-06-23 13:56:32 +02:00
2dc4e9c13b
Make backspace go back in history
As on Windows.
2023-06-22 18:37:24 +02:00
a1f6ffd226
Make scripts capable of 32-bit Windows builds
Now binaries can be (cross-)built using GCC for 32- and 64-bit Windows.

Additional improvements:
 - Within MSYS2, try to install the required dependencies automatically.
 - Within MSYS2, fix passing libdir paths to pkg-config.
 - Prune documentation from extracted package files,
   addressing the incredible slowness of Windows filesystem operations.
 - Fix the script name in README.adoc instructions.
2023-06-22 18:33:31 +02:00
1eee1831a5
Windows seems to be mostly working fine 2023-06-22 11:05:04 +02:00
86622e0c31
Make cross-compilation scripts work from MSYS2
This is weird and runs very slowly.

Meson can also find libraries outside the subroot,
in particular the fast float plugin.
2023-06-22 04:06:38 +02:00
a4772ce319
Improve native MSYS2 build compatibility 2023-06-21 18:38:30 +02:00
0318424540
Handle LibTIFF errors correctly 2023-06-13 13:49:30 +02:00
8d5885bfdf
Prevent a possibility of GdkPixbuf crashes 2023-06-13 13:36:24 +02:00
41b5ddc744
Fix thumbnailing with the GdkPixbuf loader 2023-06-13 13:21:03 +02:00
b308b5da18
Fix thumbnail extraction 2023-06-13 12:44:23 +02:00
1577961aa2
Improve compatibility with older dependencies 2023-06-10 11:52:49 +02:00
1fb42e689f
Declare minimum Meson version
Due to our meson.add_install_script() usage, which results in a warning,
followed by an error.
2023-06-10 11:52:49 +02:00
8953e6beea
Update comments 2023-06-09 13:13:17 +02:00
2e8bbf0e43
Improve LibRaw thumbnail choice
Make use of LibRaw 0.21.0's extended thumbnail API.
2023-06-09 12:47:41 +02:00
07d4ea2dde
Optimize thumbnail extraction
Don't go over the same data twice.
2023-06-08 18:59:21 +02:00
a5b5e32c3b
Refactor fiv_thumbnail_extract() 2023-06-08 18:59:20 +02:00
1e8fe1411b
benchmark-io: ignore GdkPixbuf errors
Measuring up against that library is no longer that interesting.
2023-06-08 18:59:20 +02:00
274c5f6f66
benchmark-io: fix URI passing
g_filename_to_uri() doesn't support relative paths.
2023-06-08 18:59:20 +02:00
de377d3eae
Move the image load benchmark under tools 2023-06-08 18:59:20 +02:00
34388b93ea
info: decode JPEGs from all CR2 IFDs 2023-06-08 18:59:19 +02:00
7dda3bd1ed
Make it possible to switch off our TIFF/EP loader
Slightly repurpose the "enhance" toggle, which doesn't particularly
make sense to run on a thumbnail.
2023-06-08 12:17:43 +02:00
a3a5eb33cf
Unify non/enhanced JPEG loading code
And in so doing, add missing warning redirection to JPEG Quant Smooth,
as well as downscaling.

We still heavily depend on libjpeg-turbo.
2023-06-08 09:47:55 +02:00
ee202ca28b
Fix enhancement of CMYK JPEGs
The conversion to RGB was done twice.
2023-06-07 21:57:51 +02:00
04db6ed6a1
Slightly clean up colour management
SVGs are now semi-managed.
2023-06-06 18:08:47 +02:00
d6e79cf976
With newer Little CMS, colour manage ARGB surfaces 2023-06-06 13:01:38 +02:00
6cc4ca1f44
Use Little CMS's alpha premultiplication feature
And do a little cleanup.
2023-06-06 12:20:03 +02:00
1c25cb411f
Fix the remaining case in file renames monitoring 2023-06-06 08:31:29 +02:00
399c4bdf69
info: decode WebP dimensions 2023-06-05 21:04:24 +02:00
a9b34ca3f2
Unite most info tools into just one binary
Turn this into more of an fq alternative, when used with jq.

Also don't say that TIFF files are Exif.
2023-06-05 18:11:37 +02:00
bd92ad73ec
rawinfo: add output dimensions and PAR 2023-06-05 15:42:38 +02:00
b3bc481172
rawinfo: descend into JPEG thumbnails 2023-06-05 15:42:38 +02:00
a3745df84b
Fix monitoring of file renames 2023-06-05 15:42:38 +02:00
cc59e537da
Update meson invocation to avoid warnings 2023-06-04 17:15:37 +02:00
338ae69121
Add support for the Little CMS fast float plugin
On a sample of JPEGs, it improved loading speed from ~0.26s to ~0.15s.

Unfortunately, it isn't normally installed.
2023-06-04 16:16:52 +02:00
1c61fcc5bc
Move git submodules to a subdirectory 2023-06-04 12:57:47 +02:00
dd1d6647dc
Shuffle code around 2023-06-04 12:10:36 +02:00
abf4f1a792
Convert to strictly non-unique GtkApplication
It's not pretty, but it works.
2023-06-04 12:10:36 +02:00
6a7c86a41b
Remove a macOS rendering bug workaround
Most important Cairo bugs seem to have been fixed recently.
2023-06-04 12:10:35 +02:00
6277a32fe6
Avoid invisible browser entries 2023-06-04 10:36:42 +02:00
8f0576d6bc
Update runtime dependencies 2023-06-03 21:36:45 +02:00
f56c40cf00
Update sidebar entries on change automatically
This makes it more consistent.
2023-06-02 07:44:42 +02:00