Commit Graph

20 Commits

Author SHA1 Message Date
Přemysl Eric Janouch e045a35437
Fix loading of opaque GIFs 2021-11-18 10:37:47 +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 9bebb0a3fe
Make this work at all in macOS/Homebrew 2021-11-16 08:51:29 +01:00
Přemysl Eric Janouch 11b7969459
Support opaque 16-bit images as RGB30 with Wuffs
Do not check whether the window's visual can make use of them,
since they're arguably rare enough.

With transparent images, we're limited by Cairo's formats.
2021-11-15 14:21:22 +01:00
Přemysl Eric Janouch e835c889a1
Don't use a side buffer to load thumbnails
Undoing part of a recent commit.
2021-11-15 10:30:02 +01:00
Přemysl Eric Janouch 6f86911df6
Slightly optimize thumbnail loading
Now it translates to just x86 bswap and ror.
2021-11-15 09:47:00 +01:00
Přemysl Eric Janouch d20c6469c0
Clean up 2021-11-13 09:06:01 +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 062b5757da
Update comments 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 ffda836a15
Also render SVGs with unspecified dimensions 2021-11-10 01:04:00 +01:00
Přemysl Eric Janouch 7ef4a06def
Improve librsvg integration
Let it load external <image>s and not rescale images.
2021-11-10 00:46:19 +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 c8df325c70
Split out xdg.{c,h} 2021-11-01 05:17:26 +01:00
Přemysl Eric Janouch 6eecee6b91
Incorporate most clang-format changes 2021-11-01 05:17:26 +01:00
Přemysl Eric Janouch ab283d3988
Split out fastiv-io.h, move media types list 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 bbabaabc20
Improve comment wording 2021-10-01 17:04:39 +02:00
Přemysl Eric Janouch e4d1e50c4a
Split out image loaders into fastiv-io.c 2021-09-20 00:32:25 +02:00