Commit Graph

47 Commits

Author SHA1 Message Date
Přemysl Eric Janouch c136c089fa
Add a GObject property for view filtering 2021-12-17 07:39:12 +01:00
Přemysl Eric Janouch 1c2a441cb5
Add a simple toolbar to the view
There is still considerable work to be done.
2021-12-17 07:01:37 +01:00
Přemysl Eric Janouch c18404efee
Add basic print functionality 2021-12-15 04:44:34 +01:00
Přemysl Eric Janouch bff2b92c9e
Clean up 2021-12-15 03:53:13 +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 6c7d431e35
Finish WebP support with animations 2021-12-12 23:35:31 +01:00
Přemysl Eric Janouch 4b306b7c93
Don't crash the view when no image is present 2021-12-06 15:29:31 +01:00
Přemysl Eric Janouch 1db233648f
Add more key bindings 2021-11-29 22:45:36 +01:00
Přemysl Eric Janouch cfe3dc55c6
Animate animations 2021-11-28 23:41:09 +01:00
Přemysl Eric Janouch c39ac1a9da
Enable viewing all X11 cursor sizes 2021-11-27 18:59:05 +01:00
Přemysl Eric Janouch bae65a61f7
Add an option to turn off filtering 2021-11-26 22:35:29 +01:00
Přemysl Eric Janouch 18e96d8c9d
Allow frame iteration in both directions 2021-11-26 20:54:41 +01:00
Přemysl Eric Janouch bd7f2f8c98
Handle Exif rotation
Does not currently work for SVG and X11 cursors.
2021-11-26 19:54:22 +01:00
Přemysl Eric Janouch 8c89759325
Allow manual animation frame iteration 2021-11-26 17:14:51 +01:00
Přemysl Eric Janouch 0bec06b55d
Fix further focus issues 2021-11-22 13:01:43 +01:00
Přemysl Eric Janouch c4dead2eee
Fix another mysterious GTK+ issue 2021-11-22 00:48:21 +01:00
Přemysl Eric Janouch 2571bf15a9
Resolve key binding conflict
Toggle fullscreen vs. toggle scale to fit.
2021-11-21 21:07:51 +01:00
Přemysl Eric Janouch 2b8350eceb
Fix some issues with browser/view switching 2021-11-20 13:04:26 +01:00
Přemysl Eric Janouch 0433c1a027
Add a sidebar with places
It happens to fix an issue with scroll offset resets in the browser.

Otherwise, it's very much WIP.
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 e8754f43a6
Fix zooming in through the keyboard 2021-11-17 08:38:45 +01:00
Přemysl Eric Janouch c4d58cb9ad
Prefer the dark theme variant 2021-11-16 14:57:02 +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 37adaac965
Let modified wheel events scroll the view 2021-11-14 03:37:09 +01:00
Přemysl Eric Janouch 1dce2e079c
Fix a typo 2021-11-14 03:37:08 +01:00
Přemysl Eric Janouch c905f64d12
Expose view settings as GObject properties 2021-11-14 02:48:11 +01:00
Přemysl Eric Janouch 7d972e9334
Add scaling to fit, make this the default 2021-11-13 12:47:10 +01:00
Přemysl Eric Janouch b8cc43eb91
Bind the mouse back button on the view 2021-11-13 10:05:05 +01:00
Přemysl Eric Janouch a1db89d91c
Make scaling accessible from the keyboard 2021-11-13 09:51:16 +01:00
Přemysl Eric Janouch f341c8f8c3
Make the 1 key reset the zoom 2021-11-11 22:59:31 +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 ed39a9b434
Add elementary scrolling support to the view 2021-11-09 06:57:02 +01:00
Přemysl Eric Janouch a135d6f332
Enable opening images from the browser
Also, make it possible to go back, in a roughly implemented manner.
2021-11-09 06:03:02 +01:00
Přemysl Eric Janouch 45df774cc9
Fix scaling in the view, as in the browser
The source pattern needs to be padded.
2021-11-04 19:42:22 +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 a6972e4c6e
Don't hardcode the background colour
It can be now overriden in the user's gtk.css.
2021-10-17 12:48:15 +02:00
Přemysl Eric Janouch fa7b1631f0
Round coordinates for image centring 2021-10-16 10:07:32 +02:00
Přemysl Eric Janouch 70a4729f36
Use bilinear filtering
It could be both faster and more accurate,
though currently it's a good compromise.
2021-10-16 10:04:50 +02:00
Přemysl Eric Janouch cc29f80bb2
Zoom with the scroll wheel 2021-10-12 08:10:57 +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 c8d408b428
Check the status of new Cairo surfaces properly 2021-09-18 13:52:52 +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 ddcc878424
Make the background black, center the image
It might be a good idea to make the colour adjustable, at least being
able to switch to white, for certain partly-transparent pictures.
2021-09-16 20:14:06 +02:00
Přemysl Eric Janouch 913267724a
Add RAW support using LibRaw 2021-09-16 15:51:01 +02:00
Přemysl Eric Janouch 97781f6af4
Initial commit 2021-09-15 17:30:16 +02:00