Přemysl Eric Janouch
81145064de
Generate TIFF structs/enums from a text file
...
This is to make the tables much easier to maintain.
2022-06-10 02:18:14 +02:00
Přemysl Eric Janouch
60a8ee7a80
Build tools with Meson as well
2022-06-10 02:08:56 +02:00
Přemysl Eric Janouch
024b5117b4
Get rid of our spng dependency
...
Thumbnails can be properly loaded using Wuffs now.
2022-06-04 23:14:15 +02:00
Přemysl Eric Janouch
a68a73cf5c
Don't mention gdk-pixbuf as a direct dependency
...
It's a similar case to Cairo.
2022-02-19 22:02:22 +01:00
Přemysl Eric Janouch
433ede4bf1
Add a lossless JPEG cropper
...
This is more of an MVP, as metadata probably need adjustments.
2022-02-19 20:48:38 +01:00
Přemysl Eric Janouch
ee71fb0dd0
Start a basic user guide
...
Move some information out there from the README.
2022-01-25 05:54:00 +01:00
Přemysl Eric Janouch
a7e638207f
Fix Meson
...
The disabler, for some reason, bubbles up to its target.
2022-01-23 04:44:41 +01:00
Přemysl Eric Janouch
4ba1d85363
Add preliminary support for resvg
...
It claims better SVG support, but it sucks for a plethora of reasons.
2022-01-21 09:14:19 +01:00
Přemysl Eric Janouch
45238d78cd
Mesonize JPEG Quant Smooth
...
Now SIMD works on amd64, although the build remains questionable,
because it assumes that all of its compiler flags will work.
This way we lose an uncomfortable git submodule.
Also, add Meson subprojects to .gitignore.
2022-01-19 01:11:47 +01:00
Přemysl Eric Janouch
feda4fd70f
Don't force sanitizers in debug builds
2022-01-07 08:37:18 +01:00
Přemysl Eric Janouch
6869816cc4
Fix desktop file regeneration with certain AWKs
2022-01-07 06:47:13 +01:00
Přemysl Eric Janouch
077747f428
Improve desktop file regeneration
2022-01-06 11:44:01 +01:00
Přemysl Eric Janouch
bb67df716c
Mildly improve Ubuntu 20.04 compatibility
2022-01-06 08:39:33 +01:00
Přemysl Eric Janouch
685defa684
Rename the whole project shorter
...
There is no point in claiming speed, it turns out to be a strange focus
to have, considering the amount of available innovations to make.
The new name does not appear to be taken by anything important.
2022-01-05 04:45:46 +01:00
Přemysl Eric Janouch
bf47782f0a
Move thumbnails into their own source file
...
And clean up identifiers.
2021-12-28 20:18:25 +01:00
Přemysl Eric Janouch
336053f24d
Implement trivial wide thumbnail production
...
Also make libwebp a required dependency.
2021-12-27 21:51:01 +01:00
Přemysl Eric Janouch
40c1f8327e
Use Little CMS for JPEG colour management
2021-12-24 14:19:22 +01:00
Přemysl Eric Janouch
2d4cab52b3
Integrate jpeg-quantsmooth
...
Also, don't pointlessly store JPEGs in an ARGB Cairo surface.
2021-12-22 14:20:39 +01:00
Přemysl Eric Janouch
b78010ccb1
Adopt shorter identifiers
...
Also, slightly reformat the source code according to clang-format.
2021-12-18 07:04:01 +01:00
Přemysl Eric Janouch
ea2d159773
Clean up dependencies
2021-12-15 03:29:47 +01:00
Přemysl Eric Janouch
4f035bc6b1
Allow saving the current frame/page in WebP
...
Also support saving just the metadata.
2021-12-15 02:45:20 +01:00
Přemysl Eric Janouch
006e547deb
Read out Exif and ICC profiles from WebP
2021-12-12 21:31:30 +01:00
Přemysl Eric Janouch
caca14036c
Add preliminary direct support for WebP
2021-12-12 19:15:34 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
0d9cb78f03
Force sanitizers for debug builds
2021-11-30 22:53:01 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
047e49051b
Register for opening directories
2021-11-22 20:37:16 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
35500b8697
Readjust meson.build to jpakkane's brain damage
2021-11-20 14:35:17 +01:00
Přemysl Eric Janouch
803f841463
Fix key handling and Meson
2021-11-20 14:28:32 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
f8526d486a
Do not lie as much in the desktop file
2021-11-18 13:41:58 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
7dba21c6d8
Use the hand/pointer cursor in the browser
...
Also, fix the build.
2021-11-13 09:21:28 +01:00
Přemysl Eric Janouch
d20c6469c0
Clean up
2021-11-13 09:06:01 +01:00
Přemysl Eric Janouch
f7c1006053
Actually add gdk-pixbuf to dependencies
2021-11-12 13:42:59 +01:00
Přemysl Eric Janouch
f74e7c34d5
Tell wrapped spng to give us a static library
2021-11-12 13:02:57 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
192698b7bd
Add support for defaulting to gdk-pixbuf
2021-11-10 21:34:15 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
155f57db20
meson.build: fix the io-benchmark target
2021-11-08 17:25:57 +01:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
c8df325c70
Split out xdg.{c,h}
2021-11-01 05:17:26 +01:00
Přemysl Eric Janouch
de9e91e9a5
Add a prototype of a directory view widget
2021-10-20 18:56:18 +02:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
d7230fee0d
Add a basic benchmarking tool
2021-09-20 03:03:43 +02:00
Přemysl Eric Janouch
e4d1e50c4a
Split out image loaders into fastiv-io.c
2021-09-20 00:32:25 +02:00
Přemysl Eric Janouch
aae6fd4d8b
Add internal support for image scaling
2021-09-17 20:40:11 +02:00
Přemysl Eric Janouch
440a9a9840
Add an icon and a desktop file
2021-09-16 18:01:01 +02:00
Přemysl Eric Janouch
913267724a
Add RAW support using LibRaw
2021-09-16 15:51:01 +02:00