Commit Graph

37 Commits

Author SHA1 Message Date
bf47782f0a
Move thumbnails into their own source file
And clean up identifiers.
2021-12-28 20:18:25 +01:00
336053f24d
Implement trivial wide thumbnail production
Also make libwebp a required dependency.
2021-12-27 21:51:01 +01:00
40c1f8327e
Use Little CMS for JPEG colour management 2021-12-24 14:19:22 +01:00
2d4cab52b3
Integrate jpeg-quantsmooth
Also, don't pointlessly store JPEGs in an ARGB Cairo surface.
2021-12-22 14:20:39 +01:00
b78010ccb1
Adopt shorter identifiers
Also, slightly reformat the source code according to clang-format.
2021-12-18 07:04:01 +01:00
ea2d159773
Clean up dependencies 2021-12-15 03:29:47 +01:00
4f035bc6b1
Allow saving the current frame/page in WebP
Also support saving just the metadata.
2021-12-15 02:45:20 +01:00
006e547deb
Read out Exif and ICC profiles from WebP 2021-12-12 21:31:30 +01:00
caca14036c
Add preliminary direct support for WebP 2021-12-12 19:15:34 +01:00
ac70c7724b
Add preliminary HEIF/AVIF support
The gdk-pixbuf plugin does not work here, for whatever reason.

Moreover, close integration exposes higher bit depths, metadata,
and auxiliary images.

The library is awful and copylefted, but it's the only reasonable
thing that works.
2021-12-11 16:11:25 +01:00
0d9cb78f03
Force sanitizers for debug builds 2021-11-30 22:53:01 +01:00
666bfc0759
Support using libtiff directly
Multiple directories are read as multiple pages.

The error handling is mildly questionable, as is libtiff.
2021-11-28 02:20:23 +01:00
047e49051b
Register for opening directories 2021-11-22 20:37:16 +01:00
8376ae9c4a
Add some custom action buttons to the sidebar
So far they're inactive, and do not do anything.

Change the icon for the current directory to stand out.
2021-11-20 22:02:02 +01:00
35500b8697
Readjust meson.build to jpakkane's brain damage 2021-11-20 14:35:17 +01:00
803f841463
Fix key handling and Meson 2021-11-20 14:28:32 +01:00
216767d7ee
Add a customized sidebar widget
Slowly eliminating all potential uses of GTK+'s standalone
file open dialog, which is highly duplicitous.
2021-11-19 20:03:43 +01:00
f8526d486a
Do not lie as much in the desktop file 2021-11-18 13:41:58 +01:00
db7a28b187
Add support for opening Xcursor files
Sadly, they don't have a canonical extension, and they don't show up
in the browser.  We might want to employ some level of sniffing.
The first 16 bytes are enough to identify a lot.
2021-11-17 13:49:15 +01:00
7dba21c6d8
Use the hand/pointer cursor in the browser
Also, fix the build.
2021-11-13 09:21:28 +01:00
d20c6469c0
Clean up 2021-11-13 09:06:01 +01:00
f7c1006053
Actually add gdk-pixbuf to dependencies 2021-11-12 13:42:59 +01:00
f74e7c34d5
Tell wrapped spng to give us a static library 2021-11-12 13:02:57 +01:00
21b110a7d6
Use spng to load thumbnails
Speed matters here, and this makes us about 20 percent faster
at loading large directories.

Moreover, libpng's PNG_ALPHA_BROKEN is indeed broken.

Thumbnails have a fairly fixed format, so there are very few practical
corner cases that could have been missed.
2021-11-12 11:45:34 +01:00
192698b7bd
Add support for defaulting to gdk-pixbuf 2021-11-10 21:34:15 +01:00
1c5cc50939
Add very basic SVG support
We need to refactor, so that SVGs are pre-rendered on each change
of scaling by librsvg directly, because some elements may be rasterized.

It would be best to also support building against resvg.
2021-11-10 00:23:19 +01:00
155f57db20
meson.build: fix the io-benchmark target 2021-11-08 17:25:57 +01:00
dbc500ae9f
Improve thumbnail scaling and alignment
Stretch thumbnails by up to half a pixel so that they align nicely.

Make use of pixman's sRGB mode.
2021-11-03 14:03:28 +01:00
c8df325c70
Split out xdg.{c,h} 2021-11-01 05:17:26 +01:00
de9e91e9a5
Add a prototype of a directory view widget 2021-10-20 18:56:18 +02:00
f24885db54
Add a thumbnail loader
So far not used, we'll need another widget to make use of it.
2021-10-04 23:17:34 +02:00
d7230fee0d
Add a basic benchmarking tool 2021-09-20 03:03:43 +02:00
e4d1e50c4a
Split out image loaders into fastiv-io.c 2021-09-20 00:32:25 +02:00
aae6fd4d8b
Add internal support for image scaling 2021-09-17 20:40:11 +02:00
440a9a9840
Add an icon and a desktop file 2021-09-16 18:01:01 +02:00
913267724a
Add RAW support using LibRaw 2021-09-16 15:51:01 +02:00
97781f6af4
Initial commit 2021-09-15 17:30:16 +02:00