Commit graph

70 commits

Author SHA1 Message Date
Sophie Herold
b3d972c5c3 Update to glycin 2.0 alpha.7 2025-07-07 22:18:36 +02:00
Sophie Herold
020ea74ba9 Use glycin 3.0 so work with 2+ loaders 2025-06-18 20:30:29 +02:00
Sophie Herold
2a5ca41991 NEWS: Fix 47.3 being released as 47.4 2025-01-13 23:01:53 +01:00
Sophie Herold
2adefc5241 code: Fix clippy warnings 2025-01-13 15:02:01 +01:00
Sophie Herold
367fdf207d editing: Preview cropping/rotate/mirror operations 2024-12-22 20:27:33 +01:00
Sophie Herold
be32072d7a image: Keep texture around until new is available
Keep previous texture around during image reloads to avoid flickering.
2024-08-16 13:30:18 +02:00
nibon7
10c6f3a0cb
svg: Fix sandbox selecting
Closes #397
2024-08-10 21:13:43 +08:00
Sophie Herold
e61b3357ea svg: Report frame info
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/442>
2024-08-05 17:30:12 +00:00
Sophie Herold
1ea4a3ad5d metadata: Report if image can be transparent
This feature was not implemented before and would always return true,
triggering a line detection for the background color in large JPEG
images.

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/442>
2024-08-05 17:30:12 +00:00
Sophie Herold
c3547f82fc svg: Handle errors for additional tiles gracefully
Some SVGs run into issues when zooming in due to memory limitations.
These errors are now ignored and the existing tiles are used.

Issue #358
2024-07-29 03:49:14 +02:00
Sophie Herold
3ad5560e2c decoder: Increase animation buffer size to 10 2024-07-17 14:04:39 +02:00
Sophie Herold
c2df5586c1 tiling: Don't completely empty buffer in animation
Previously, this would lead to flickering if the decoder was too slow.
Now, the last frame will be shown until a new one is available.

Closes #382
2024-07-17 14:01:37 +02:00
Sophie Herold
1b70686105 Use glycin devel env auto detection
We don't need to disable the sandbox for development environments
manually anymore. Glycin should take care of that now.
2024-07-05 22:29:06 +02:00
Sophie Herold
afcc24e235 editor: Apply rotation to files 2024-06-21 13:11:29 +02:00
Sophie Herold
4650e6766a cargo: Update to gtk4-rs 0.9 and core 0.20 2024-06-14 17:46:33 +02:00
Sophie Herold
9b95a4706b code: Don't use mod.rs based on Rust Style Guide 2024-05-15 13:17:45 +02:00
Sophie Herold
c15e73274e print: Use new GTK API 2024-05-15 10:51:49 +00:00
Sophie Herold
296817abe4 image/loading: Display first error, ignore second
Usually the first error is the relevant one. So show this one.

Why we get more than one error at all is a bit unclear.
2024-02-29 14:21:26 +01:00
Sophie Herold
006d3dc5b4 cargo: Update to glycin 1.0.beta.2 2024-02-22 20:55:38 +00:00
Sophie Herold
a7116925bf debug: Add more tracing for initial operations 2024-02-08 00:57:33 +01:00
Sophie Herold
3f1c247f41 cargo: Update glycin version 2024-01-29 22:35:42 +01:00
Sophie Herold
c5685b5b5e decoder: Update dimension with frame info
In theory the header information doesn't has to be correct. There are no
known formats where this is the case, but just to be safe.

Closes #305
2024-01-21 14:19:33 +01:00
Sophie Herold
fe43bc3a4c metadata: Centralize many loose ends 2024-01-01 22:43:30 +01:00
Sophie Herold
f14cb540eb decoder: Use glycin 1.0 2023-12-29 20:10:04 +01:00
Sophie Herold
139bd4ebb2 decoder/tiling: Make shared frame buffer a struct 2023-12-26 22:09:07 +01:00
Sophie Herold
6827a9c176 print: Use LpImage for preview 2023-12-26 21:51:39 +01:00
Sophie Herold
d3cd32e090 code: Drop async-std dependeny 2023-12-25 20:53:46 +00:00
Sophie Herold
d138750448 print: Adjust 100% to SVG physical dimensions
Some SVGs store there size in cm or inch. With this change, the 100% in
the print dialog is calculated according to that physical size.

Closes #141
2023-12-22 21:44:36 +01:00
Sophie Herold
2648295a18 code: Reformat with group_imports=StdExternalCrate 2023-12-07 20:33:19 +01:00
Sophie Herold
057ca6a3d0 image/rendering: Use scale instead of scale-factor
`GdkSurface:scale` supports fractional scaling available as
"scale-monitor-framebuffer" on Mutter. Use this value everywhere
instead of the integer scale-factor

Closing #182
2023-12-06 23:39:09 +01:00
Sophie Herold
c0f435386d metadata: Move file info and format to metadata 2023-12-04 18:08:25 +01:00
Sophie Herold
5b3ad7c257 code: Fix typos 2023-11-30 21:58:26 +01:00
Sophie Herold
b56d650086 code: Reformat with new rules 2023-11-29 21:16:11 +01:00
Sophie Herold
55811a2bb7 image: Use macro for object properties 2023-11-29 18:52:31 +01:00
Julian Hofer
cd8188a1bb Simplify async code
- Update Cargo.lock
- Use new gtk-core API
- Remove unneeded async
- Remove unneeded clones

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/310>
2023-11-22 09:12:36 +01:00
Sophie Herold
abdd54def7 decoder: Pass on transformations_applied info
This prevents HEIF images from getting transformations applied
again that already has been applied by the decoder.

Closes #251
2023-11-14 13:53:33 +01:00
Sophie Herold
65e7789863 decoder: Fix animations with variable frame length
Before, the length of the first frame was used for all frames.

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/300>
2023-10-31 00:31:25 +00:00
Sophie Herold
a027513447 decoder: Use glycin for decoding SVGs as well
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/267>
2023-08-06 11:59:33 +00:00
Sophie Herold
55551ae6a2 general: Update copyright notices
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/258>
2023-07-18 17:48:43 +00:00
Sophie Herold
06d688e79e src: Format let-else statements 2023-07-07 19:22:51 +00:00
FineFindus
bc9aff5068 refactor: Use is_some_and 2023-06-26 11:59:17 +00:00
Sophie Herold
1b2dde79b6 decoder: Use glycin for image loading expect SVG
This gives us sandboxed image decoding and others the
option to extend Loupe with other image formats.
2023-06-07 20:21:28 +00:00
Sophie Herold
dbf662ed3a heif: Ignore EXIF rotation info for now
Ideally we would check if HEIF has transformations
but that will only work when libheif 1.16 is supported

Closes #157
2023-05-04 21:02:42 +02:00
Sophie Herold
6db58463bf imageView: Skip unsupported formats when sliding
If an image with unsupported format is opened directly,
the error is shown.

Closes #92

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/212>
2023-05-03 18:58:02 +00:00
Sophie Herold
7c227f75a8 decoder: Cancel file loading on decoder drop
That will probably at least work for scrolling quickly
through images. It will however usually not cancel an ongoing
decoding process.

Issue #155

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/210>
2023-05-03 14:45:07 +00:00
Sophie Herold
9d5dfd8728 window: i18n for filter name and add 'all files'
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/195>
2023-04-21 16:53:12 +02:00
Sophie Herold
7b6ee24651 decoder: Only warn about invalid ICC profile
Before the image failed loading

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/190>
2023-04-20 14:27:34 +00:00
Sophie Herold
2f9fad47a1 src: Update or add auto generated license headers
Closes #55

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/169>
2023-04-19 20:02:01 +02:00
Sophie Herold
e5d5841e5d tiling: Store tiling for each layer and fix bugs
Tilings now have a flexible origin and are stored with the
tile layer. This allows to make the first tile centered
in the viewport, allowing for faster getting a complete
viewport.

This also fixes some rendering bugs caused by forgetting
tiles the were still needed. But not all of them.

Fixes #83, #94
Issue #82

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/179>
2023-04-19 02:16:37 +02:00
Sophie Herold
587599f50b print: Render SVG for correct size
Closes #140

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/165>
2023-04-18 23:52:53 +00:00