Přemysl Eric Janouch
3c8ddcaf26
Fix high-DPI scaling with OpenGL
...
We used to render multiple copies (four for a scaling factor of 2).
2024-04-13 05:16:48 +02:00
Přemysl Eric Janouch
e57364cd97
Fix openSUSE 15.5 and Win32 builds
2024-04-06 23:56:47 +02:00
Přemysl Eric Janouch
91538aaba5
Add an experimental OpenGL renderer
2024-03-13 15:27:31 +01:00
Přemysl Eric Janouch
604594a8f1
Prepare for parallelized colour management
...
This rewrite is more or less necessary for:
- colour-managed browser thumbnails,
- asynchronous image loading,
- turning fiv-io into a reusable library.
Little CMS has a fairly terrible API in this regard.
2024-01-28 01:48:28 +01:00
Přemysl Eric Janouch
3c8a280546
Move colour management to its own compilation unit
...
Also make it apparent that CMM profiles are pointer types.
This isn't all that pretty, but it's a necessary first step.
2024-01-26 19:17:54 +01:00
Přemysl Eric Janouch
ee08565389
Resolve spurious overshoot indicators
...
_gtk_scrolled_window_get_overshoot() decrements the page size
from the upper value before using it for comparisons.
2023-12-28 11:22:17 +01:00
Přemysl Eric Janouch
b07fba0c9c
Make multi-monitor CM work better with xiccd
...
Let's assume the profile it picks is appropriate for all monitors.
2023-10-17 15:34:44 +02:00
Přemysl Eric Janouch
5ec5f5bdbd
Slightly optimize SVG loading
2023-07-09 10:40:32 +02:00
Přemysl Eric Janouch
840e7f172c
Colour-manage SVGs
2023-07-09 10:40:32 +02:00
Přemysl Eric Janouch
4b5b8ec9fa
Implement our own Preferences dialog
...
And fix a resource leak.
2023-06-24 22:13:08 +02:00
Přemysl Eric Janouch
2ff853b7e0
Improve looped animation behaviour
2023-06-24 14:36:24 +02:00
Přemysl Eric Janouch
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
Přemysl Eric Janouch
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
Přemysl Eric Janouch
44f2f5d4f5
Make the mirror command intuitive
2023-03-25 11:52:33 +01:00
Přemysl Eric Janouch
9cdc641b0a
Center view rotations/flips
2022-10-03 23:00:16 +02:00
Přemysl Eric Janouch
7b88e89489
Allow dragging with the middle mouse button
2022-09-03 16:17:21 +02:00
Přemysl Eric Janouch
086dd66aa9
Add the information dialog to context menus
...
Images don't need to be open for ExifTool to work.
This also enables inspecting unsupported files, such as video.
2022-08-05 11:38:12 +02:00
Přemysl Eric Janouch
ca51c9413b
Show parse names in Information dialog subtitles
2022-08-05 08:57:55 +02:00
Přemysl Eric Janouch
857917aa92
Make file information retrieval asynchronous
...
Also, make error output scrollable.
2022-08-05 08:03:37 +02:00
Přemysl Eric Janouch
bb669743b6
Fix default filenames in the "Save as" dialog
...
- Don't assume the filesystem is in UTF-8.
- Don't try to extract basenames directly from URIs.
2022-08-05 04:15:37 +02:00
Přemysl Eric Janouch
d590d1da46
Add support for copying to clipboard
2022-08-04 00:35:22 +02:00
Přemysl Eric Janouch
d1d9caaa5e
Capitalize modifier names, prefer Command on macOS
...
So far, the macOS special casing is only partial.
Also, GtkShortcutsWindow confusingly labels Command as Meta.
2022-08-04 00:34:05 +02:00
Přemysl Eric Janouch
ea75579b33
Fix a crash with empty exiftool stderr output
2022-07-31 03:54:53 +02:00
Přemysl Eric Janouch
8437164dec
Try a bit harder to get a file's local path
2022-07-31 02:52:20 +02:00
Přemysl Eric Janouch
fec64d5595
Support file information for non-local files
2022-07-31 01:14:42 +02:00
Přemysl Eric Janouch
fefb4c16ac
Support file information for FUSE-mounted paths
2022-07-31 00:12:53 +02:00
Přemysl Eric Janouch
dcc5b6c719
Use GSettings for a new native window toggle
...
Also, redo desktop files handling.
2022-07-25 19:05:27 +02:00
Přemysl Eric Janouch
817f1b6000
Support colour management on Windows
...
There is also an alternative WcsGetDefaultColorProfile() path
that might be necessary on some broken versions of Microsoft Windows,
which I certainly do not want to support.
2022-07-23 22:59:29 +02:00
Přemysl Eric Janouch
b067c1948b
Use GDK event handling return value constants
2022-07-21 16:03:36 +02:00
Přemysl Eric Janouch
876fda4f55
Handle the long press gesture on browser items
...
Unfortunately, this doesn't work on X11, though Wayland seems fine.
2022-07-21 12:28:01 +02:00
Přemysl Eric Janouch
94f6938b9a
Add a key binding for keeping the zoom/position
2022-07-17 15:26:20 +02:00
Přemysl Eric Janouch
bd2e929b77
Add ability to keep zoom/position when browsing
2022-07-17 13:04:29 +02:00
Přemysl Eric Janouch
9a0647fdfd
Improve the workaround for native GdkWindows
...
Overshooting caused the image to be one pixel taller/wider,
due to using ceil() within get_display_dimensions().
2022-07-17 11:45:02 +02:00
Přemysl Eric Janouch
47b7600f5e
Work around a mysterious no-image zoom issue
2022-07-17 09:57:28 +02:00
Přemysl Eric Janouch
8f98c623ee
Center zoom around pointer or middle of the view
2022-07-17 09:13:12 +02:00
Přemysl Eric Janouch
4efda5347c
Let FivView take care of its drag gesture
...
Making the GtkScrolledWindow's scrollbars draggable again.
2022-07-17 07:16:41 +02:00
Přemysl Eric Janouch
23429d9631
Implement GtkScrollable in FivView
...
This fixes rendering and positioning behaviour when dragging on X11,
where we aim to use a native GdkWindow.
2022-07-17 05:27:06 +02:00
Přemysl Eric Janouch
c55500f51a
Support dragging the view
...
It would also be possible to handle this through press/motion/release
event handlers, though GtkGestureDrag is more convenient for hacking in
support for dragging to widgets not supporting GtkScrollable (yet).
There may be some undesired interactions lurking, besides the jarring
movements when dragging native GdkWindows (these are a pain).
2022-07-15 14:00:31 +02:00
Přemysl Eric Janouch
1fee920902
Make the browser scroll with touchpad on Wayland
...
And generally clear up scroll handling.
2022-07-15 07:35:33 +02:00
Přemysl Eric Janouch
4ca8825e02
Clean up
...
Use gchar when memory is allocated through GLib.
2022-06-05 13:30:53 +02:00
Přemysl Eric Janouch
788485d81e
Redirect warnings to the info bar
...
And speed up thumbnailing of animated images while at it.
Also, fix thumbnailing SVGs with external links.
2022-01-24 05:48:13 +01:00
Přemysl Eric Janouch
991e74b99b
Redirect image open failure messages
...
Pop-up dialogs are quite annoying, as is not being able to
iterate over broken images.
This will also be useful for warnings and asynchronous loading.
2022-01-24 02:48:38 +01:00
Přemysl Eric Janouch
235b14dc11
Fix a case in orientation mirroring
2022-01-23 04:15:48 +01:00
Přemysl Eric Janouch
6ce5c7c2b6
Scale SVGs accurately in the viewing widget
2022-01-23 04:15:48 +01:00
Přemysl Eric Janouch
f632510d2a
Put reloading the image as its own action
2022-01-12 10:58:33 +01:00
Přemysl Eric Janouch
25dcc3b136
Handle view bindings through an action signal
...
This makes them adjustable.
2022-01-09 07:48:44 +01:00
Přemysl Eric Janouch
6a878fd3c4
Bump more copyright years
2022-01-07 09:53:58 +01:00
Přemysl Eric Janouch
3274b64f5a
Fix SVG thumbnailing
...
They're not loaded as image surfaces.
2022-01-07 09:43:28 +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
380ddd540b
Convert all loading to use GFile
...
Now we're able to make use of GVfs, with some caveats.
2021-12-30 22:32:29 +01:00