cargo: Update to glycin 4.0.0-alpha
This commit is contained in:
parent
95e473207f
commit
05edeb1418
7 changed files with 540 additions and 174 deletions
586
Cargo.lock
generated
586
Cargo.lock
generated
|
|
@ -17,6 +17,12 @@ dependencies = [
|
|||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "aliasable"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.102"
|
||||
|
|
@ -218,6 +224,12 @@ version = "1.5.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
||||
|
||||
[[package]]
|
||||
name = "bit_field"
|
||||
version = "0.10.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.11.0"
|
||||
|
|
@ -255,6 +267,12 @@ version = "1.25.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder-lite"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
|
||||
|
||||
[[package]]
|
||||
name = "cairo-rs"
|
||||
version = "0.22.0"
|
||||
|
|
@ -321,6 +339,12 @@ dependencies = [
|
|||
"num-traits",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "color_quant"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
|
||||
|
||||
[[package]]
|
||||
name = "concurrent-queue"
|
||||
version = "2.5.0"
|
||||
|
|
@ -484,12 +508,47 @@ dependencies = [
|
|||
"pin-project-lite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "exr"
|
||||
version = "1.74.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4300e043a56aa2cb633c01af81ca8f699a321879a7854d3896a0ba89056363be"
|
||||
dependencies = [
|
||||
"bit_field",
|
||||
"half",
|
||||
"lebe",
|
||||
"miniz_oxide 0.8.9",
|
||||
"smallvec",
|
||||
"zune-inflate",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fastrand"
|
||||
version = "2.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
|
||||
|
||||
[[package]]
|
||||
name = "fax"
|
||||
version = "0.2.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "caf1079563223d5d59d83c85886a56e586cfd5c1a26292e971a0fa266531ac5a"
|
||||
|
||||
[[package]]
|
||||
name = "fdeflate"
|
||||
version = "0.3.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c"
|
||||
dependencies = [
|
||||
"simd-adler32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fearless_simd"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b97b65636e5b9ef369943878ac74335ba1c55c1cb6adbf1e2c293c624248d693"
|
||||
|
||||
[[package]]
|
||||
name = "field-offset"
|
||||
version = "0.3.6"
|
||||
|
|
@ -556,6 +615,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -605,6 +665,12 @@ dependencies = [
|
|||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-sink"
|
||||
version = "0.3.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
|
||||
|
||||
[[package]]
|
||||
name = "futures-task"
|
||||
version = "0.3.32"
|
||||
|
|
@ -626,6 +692,7 @@ dependencies = [
|
|||
"futures-core",
|
||||
"futures-io",
|
||||
"futures-macro",
|
||||
"futures-sink",
|
||||
"futures-task",
|
||||
"memchr",
|
||||
"pin-project-lite",
|
||||
|
|
@ -784,6 +851,16 @@ dependencies = [
|
|||
"temp-dir",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gif"
|
||||
version = "0.14.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159"
|
||||
dependencies = [
|
||||
"color_quant",
|
||||
"weezl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gio"
|
||||
version = "0.22.2"
|
||||
|
|
@ -814,6 +891,31 @@ dependencies = [
|
|||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gio-unix"
|
||||
version = "0.22.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f9241b3df1288f8b59027e9499a999c54ec6993111e21644e72d4527fdafdb7c"
|
||||
dependencies = [
|
||||
"gio",
|
||||
"gio-unix-sys",
|
||||
"glib",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gio-unix-sys"
|
||||
version = "0.22.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "44bab97ce39112040216e268f074645f50b31caeb53af708ab5d7e4e67f0dbfd"
|
||||
dependencies = [
|
||||
"gio-sys",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
"system-deps",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glib"
|
||||
version = "0.22.0"
|
||||
|
|
@ -841,7 +943,7 @@ version = "0.22.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8b48a968528354e04603ae96205f00cf7e77347ffde0fc943a2159948d7d6d80"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"heck 0.5.0",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
|
|
@ -859,46 +961,28 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "glycin"
|
||||
version = "3.1.0"
|
||||
version = "4.0.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "923674c1f2b1a28f69ebdc0f572672e63874e17ce0e60c96b8bfaff47a8ef4e9"
|
||||
checksum = "ab0d95230ccbc60d168eca33984e3ee2c75d75bb844eb11eb97907eaffc92886"
|
||||
dependencies = [
|
||||
"async-fs",
|
||||
"async-global-executor",
|
||||
"async-io",
|
||||
"async-lock",
|
||||
"async-task",
|
||||
"blocking",
|
||||
"futures-channel",
|
||||
"futures-lite",
|
||||
"futures-timer",
|
||||
"futures-util",
|
||||
"gdk4",
|
||||
"gio",
|
||||
"glib",
|
||||
"glycin-common",
|
||||
"glycin-utils",
|
||||
"gufo-common",
|
||||
"gufo-exif",
|
||||
"lcms2",
|
||||
"lcms2-sys",
|
||||
"libc",
|
||||
"libseccomp",
|
||||
"memfd",
|
||||
"memmap2",
|
||||
"nix",
|
||||
"static_assertions",
|
||||
"thiserror",
|
||||
"tracing",
|
||||
"yeslogic-fontconfig-sys",
|
||||
"zbus",
|
||||
"glycin-builtin",
|
||||
"glycin-external",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glycin-builtin"
|
||||
version = "4.0.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c5a3cd8219bdee0cd16a26c3728c075604a2a293b211c4e95d0eb2eb55fbe7e"
|
||||
dependencies = [
|
||||
"glycin-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glycin-common"
|
||||
version = "1.0.4"
|
||||
version = "2.0.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "db28cec888051ccbf68f9f352d57ba2a292179863524a0769e54dbb72d152a03"
|
||||
checksum = "daf97898ba7a2356b941983ab1ef5634f2e1567eb290fe801bde60da185e2085"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"gufo-common",
|
||||
|
|
@ -914,19 +998,88 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "glycin-utils"
|
||||
version = "4.1.0"
|
||||
name = "glycin-core"
|
||||
version = "4.0.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b49cd2451bced7416341a5e89d74f547e92b85b67e8f66c8723a7505930a50ab"
|
||||
checksum = "c624b4182686e793e8dd897108b972d66814d925e66a5acefde25d8faaab1b77"
|
||||
dependencies = [
|
||||
"async-fs",
|
||||
"async-global-executor",
|
||||
"async-io",
|
||||
"async-lock",
|
||||
"async-task",
|
||||
"blocking",
|
||||
"futures-channel",
|
||||
"futures-lite",
|
||||
"futures-timer",
|
||||
"futures-util",
|
||||
"gdk4",
|
||||
"gio",
|
||||
"gio-unix",
|
||||
"glib",
|
||||
"glycin-common",
|
||||
"glycin-image-rs",
|
||||
"glycin-utils",
|
||||
"gufo-common",
|
||||
"gufo-exif",
|
||||
"lcms2",
|
||||
"lcms2-sys",
|
||||
"libc",
|
||||
"libseccomp",
|
||||
"nix",
|
||||
"static_assertions",
|
||||
"thiserror",
|
||||
"tracing",
|
||||
"yeslogic-fontconfig-sys",
|
||||
"zbus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glycin-external"
|
||||
version = "4.0.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60368043c6a9d7ffc234d93a410ffc8af46b5e8bf1c3a0fffeb62d9440b2e587"
|
||||
dependencies = [
|
||||
"glycin-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glycin-image-rs"
|
||||
version = "2.2.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c9ea3f09d2ae3a76aa548982abfbef05156007d822a3020ae9d9172b5ccc1793"
|
||||
dependencies = [
|
||||
"glycin-utils",
|
||||
"gufo",
|
||||
"gufo-common",
|
||||
"gufo-exif",
|
||||
"gufo-jpeg",
|
||||
"hayro-jpeg2000",
|
||||
"image",
|
||||
"image-extras",
|
||||
"jpeg-encoder",
|
||||
"log",
|
||||
"zune-jpeg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glycin-utils"
|
||||
version = "5.0.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8c0c35adeb97c0e2324cc6c1a65b65bf8abf3ecea5bfc238d476bdee67a7ea4d"
|
||||
dependencies = [
|
||||
"async-lock",
|
||||
"bitflags",
|
||||
"blocking",
|
||||
"env_logger",
|
||||
"futures-lite",
|
||||
"futures-timer",
|
||||
"futures-util",
|
||||
"glib",
|
||||
"glycin-common",
|
||||
"gufo-common",
|
||||
"half",
|
||||
"image",
|
||||
"libc",
|
||||
"libseccomp",
|
||||
"log",
|
||||
|
|
@ -1060,15 +1213,16 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gufo"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "79cc07454317e1e3baa8c731397f404b183850457a2006fbc9d076a5bb994df7"
|
||||
checksum = "d97d857a79df06e10cd669541ed0a42d471a45a5201ce99535baf99b18c4129a"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"gufo-common",
|
||||
"gufo-exif",
|
||||
"gufo-jpeg",
|
||||
"gufo-png",
|
||||
"gufo-svg",
|
||||
"gufo-tiff",
|
||||
"gufo-webp",
|
||||
"gufo-xmp",
|
||||
|
|
@ -1078,9 +1232,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gufo-common"
|
||||
version = "1.1.0"
|
||||
version = "2.0.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9f23bc0d0e791259ce4fe703c4d988c64317e33477bc4d1d7526ab8eb9fcaab6"
|
||||
checksum = "970e26402b2750cf3fbbf49116dca9fc010c939013125623c94da632f1ba76e8"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"paste",
|
||||
|
|
@ -1091,47 +1245,63 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gufo-exif"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ad61fccc591119491879e7bee63ebbfbd27811b35367b4728a857119fde78843"
|
||||
checksum = "e6a31aca18913da24cf6aaf0d3ffd905608463ffb75d0af42c2f0bf3afc7b987"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"gufo-common",
|
||||
"indexmap",
|
||||
"ouroboros",
|
||||
"thiserror",
|
||||
"tracing",
|
||||
"zerocopy",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gufo-jpeg"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5606b919ea2538d6e761781be87eaf5186427c3d64849c1013359aa3681e68d2"
|
||||
checksum = "004fec8f321842386ba7decc6ee03dde7ed35f29c3586861a5c708cca1e4259b"
|
||||
dependencies = [
|
||||
"gufo-common",
|
||||
"indexmap",
|
||||
"jpeg-encoder",
|
||||
"thiserror",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gufo-png"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "48293353510101aa3791932172f864c9acdf2125d730f50910cac965ea2e66d5"
|
||||
checksum = "810e7750b869abb84c6162ad01a240f388a924d2d469ae30a0c2c11a28e81813"
|
||||
dependencies = [
|
||||
"crc32fast",
|
||||
"encoding_rs",
|
||||
"gufo-common",
|
||||
"hex",
|
||||
"miniz_oxide 0.9.0",
|
||||
"miniz_oxide 0.9.1",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gufo-tiff"
|
||||
version = "0.4.0"
|
||||
name = "gufo-svg"
|
||||
version = "0.5.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "51743619d12e8ead9fdd3cdd2ad3d0ed994a538542857f5115d74d6547a0083b"
|
||||
checksum = "c4d74e7f2578608f76c0eff9c517dabf6a7fa8769b1af36ad994d70ec01d5deb"
|
||||
dependencies = [
|
||||
"gufo-common",
|
||||
"memchr",
|
||||
"thiserror",
|
||||
"xml",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gufo-tiff"
|
||||
version = "0.5.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0a937aa0a245c9602aa9ed4857b6fc8f184cc43cf91e18d982c74c698e20afd5"
|
||||
dependencies = [
|
||||
"gufo-common",
|
||||
"thiserror",
|
||||
|
|
@ -1139,9 +1309,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gufo-webp"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "218ea90042f1766b38b487dfbb261b6f21636e5cfd570e1ac6709119dae92fe2"
|
||||
checksum = "662c18ba5eef44d65c1694ebede033783ab5b48eb81366c1625deaaf75c47a18"
|
||||
dependencies = [
|
||||
"gufo-common",
|
||||
"thiserror",
|
||||
|
|
@ -1149,14 +1319,14 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gufo-xmp"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0-alpha"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "020d604dbaf16f257f9d8bf7c1109551089be459ad8dc54c4205d28fe1688399"
|
||||
checksum = "ea3cc4abbf29cddc6ffc1a4473eec79f11cf742bc113f9bd319ca1d7fcedfc39"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"gufo-common",
|
||||
"thiserror",
|
||||
"xml-rs",
|
||||
"xml",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -1225,6 +1395,23 @@ version = "0.16.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
|
||||
|
||||
[[package]]
|
||||
name = "hayro-jpeg2000"
|
||||
version = "0.3.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c75ab947623ef4ccaa7acf0579edf7cbb5a73838e3839a7be73335e522f433a1"
|
||||
dependencies = [
|
||||
"fearless_simd",
|
||||
"image",
|
||||
"moxcms",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.5.0"
|
||||
|
|
@ -1249,6 +1436,46 @@ version = "2.3.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
|
||||
|
||||
[[package]]
|
||||
name = "image"
|
||||
version = "0.25.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"byteorder-lite",
|
||||
"color_quant",
|
||||
"exr",
|
||||
"gif",
|
||||
"image-webp",
|
||||
"moxcms",
|
||||
"num-traits",
|
||||
"png",
|
||||
"qoi",
|
||||
"tiff",
|
||||
"zune-core",
|
||||
"zune-jpeg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "image-extras"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60d02eb2c9ccbbab470538fce34c7bc3be7b4e59268e65a3171367b296cdb842"
|
||||
dependencies = [
|
||||
"image",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "image-webp"
|
||||
version = "0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3"
|
||||
dependencies = [
|
||||
"byteorder-lite",
|
||||
"quick-error",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "2.13.0"
|
||||
|
|
@ -1301,6 +1528,12 @@ dependencies = [
|
|||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "jpeg-encoder"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b0b36cbb4e6704f12f5b5d7b01dac593982c6550859ebd5a66fb15c9ea27fd5"
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.90"
|
||||
|
|
@ -1346,6 +1579,12 @@ version = "0.1.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
|
||||
|
||||
[[package]]
|
||||
name = "lebe"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8"
|
||||
|
||||
[[package]]
|
||||
name = "libadwaita"
|
||||
version = "0.9.1"
|
||||
|
|
@ -1379,9 +1618,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.183"
|
||||
version = "0.2.186"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
|
||||
checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
|
||||
|
||||
[[package]]
|
||||
name = "libgweather"
|
||||
|
|
@ -1507,18 +1746,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.8.0"
|
||||
version = "2.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
|
||||
|
||||
[[package]]
|
||||
name = "memfd"
|
||||
version = "0.6.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ad38eb12aea514a0466ea40a80fd8cc83637065948eb4a426e4aa46261175227"
|
||||
dependencies = [
|
||||
"rustix",
|
||||
]
|
||||
checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4"
|
||||
|
||||
[[package]]
|
||||
name = "memmap2"
|
||||
|
|
@ -1550,18 +1780,28 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.9.0"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5faa9f23e86bd5768d76def086192ff5f869fb088da12a976ea21e9796b975f6"
|
||||
checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c"
|
||||
dependencies = [
|
||||
"adler2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nix"
|
||||
version = "0.30.1"
|
||||
name = "moxcms"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6"
|
||||
checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b"
|
||||
dependencies = [
|
||||
"num-traits",
|
||||
"pxfm",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nix"
|
||||
version = "0.31.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cfg-if",
|
||||
|
|
@ -1632,6 +1872,30 @@ dependencies = [
|
|||
"pin-project-lite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ouroboros"
|
||||
version = "0.18.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59"
|
||||
dependencies = [
|
||||
"aliasable",
|
||||
"ouroboros_macro",
|
||||
"static_assertions",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ouroboros_macro"
|
||||
version = "0.18.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0"
|
||||
dependencies = [
|
||||
"heck 0.4.1",
|
||||
"proc-macro2",
|
||||
"proc-macro2-diagnostics",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pango"
|
||||
version = "0.22.0"
|
||||
|
|
@ -1691,6 +1955,19 @@ version = "0.3.32"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
|
||||
|
||||
[[package]]
|
||||
name = "png"
|
||||
version = "0.18.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"crc32fast",
|
||||
"fdeflate",
|
||||
"flate2",
|
||||
"miniz_oxide 0.8.9",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "polling"
|
||||
version = "3.11.0"
|
||||
|
|
@ -1748,6 +2025,40 @@ dependencies = [
|
|||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2-diagnostics"
|
||||
version = "0.10.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"version_check",
|
||||
"yansi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pxfm"
|
||||
version = "0.1.29"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f"
|
||||
|
||||
[[package]]
|
||||
name = "qoi"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quick-error"
|
||||
version = "2.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
|
||||
|
||||
[[package]]
|
||||
name = "quick-xml"
|
||||
version = "0.38.4"
|
||||
|
|
@ -2011,7 +2322,7 @@ version = "0.28.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"heck 0.5.0",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
|
|
@ -2035,7 +2346,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "48c8f33736f986f16d69b6cb8b03f55ddcad5c41acc4ccc39dd88e84aa805e7f"
|
||||
dependencies = [
|
||||
"cfg-expr",
|
||||
"heck",
|
||||
"heck 0.5.0",
|
||||
"pkg-config",
|
||||
"toml",
|
||||
"version-compare",
|
||||
|
|
@ -2095,6 +2406,20 @@ dependencies = [
|
|||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tiff"
|
||||
version = "0.11.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52"
|
||||
dependencies = [
|
||||
"fax",
|
||||
"flate2",
|
||||
"half",
|
||||
"quick-error",
|
||||
"weezl",
|
||||
"zune-jpeg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.9.12+spec-1.1.0"
|
||||
|
|
@ -2107,7 +2432,7 @@ dependencies = [
|
|||
"toml_datetime",
|
||||
"toml_parser",
|
||||
"toml_writer",
|
||||
"winnow",
|
||||
"winnow 0.7.14",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2128,7 +2453,7 @@ dependencies = [
|
|||
"indexmap",
|
||||
"toml_datetime",
|
||||
"toml_parser",
|
||||
"winnow",
|
||||
"winnow 0.7.14",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2137,7 +2462,7 @@ version = "1.0.9+spec-1.1.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4"
|
||||
dependencies = [
|
||||
"winnow",
|
||||
"winnow 0.7.14",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -2235,6 +2560,12 @@ version = "0.2.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e"
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
version = "0.9.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
||||
|
||||
[[package]]
|
||||
name = "walkdir"
|
||||
version = "2.5.0"
|
||||
|
|
@ -2342,6 +2673,12 @@ dependencies = [
|
|||
"semver",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "weezl"
|
||||
version = "0.1.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88"
|
||||
|
||||
[[package]]
|
||||
name = "winapi"
|
||||
version = "0.3.9"
|
||||
|
|
@ -2397,6 +2734,15 @@ dependencies = [
|
|||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winnow"
|
||||
version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wit-bindgen"
|
||||
version = "0.51.0"
|
||||
|
|
@ -2413,7 +2759,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"heck",
|
||||
"heck 0.5.0",
|
||||
"wit-parser",
|
||||
]
|
||||
|
||||
|
|
@ -2424,7 +2770,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"heck",
|
||||
"heck 0.5.0",
|
||||
"indexmap",
|
||||
"prettyplease",
|
||||
"syn",
|
||||
|
|
@ -2497,10 +2843,16 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "xml-rs"
|
||||
version = "0.8.28"
|
||||
name = "xml"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f"
|
||||
checksum = "636f85e5ca6488e96401b61eb7de54f4e44755c988af0f52cf90230c312a1a89"
|
||||
|
||||
[[package]]
|
||||
name = "yansi"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
|
||||
|
||||
[[package]]
|
||||
name = "yeslogic-fontconfig-sys"
|
||||
|
|
@ -2515,9 +2867,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zbus"
|
||||
version = "5.14.0"
|
||||
version = "5.16.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca82f95dbd3943a40a53cfded6c2d0a2ca26192011846a1810c4256ef92c60bc"
|
||||
checksum = "eee682d202a77e4a9f3b2c2bdf48a7b28af5c08c34ddf66f98c93e5e39464285"
|
||||
dependencies = [
|
||||
"async-broadcast",
|
||||
"async-executor",
|
||||
|
|
@ -2542,7 +2894,7 @@ dependencies = [
|
|||
"uds_windows",
|
||||
"uuid",
|
||||
"windows-sys",
|
||||
"winnow",
|
||||
"winnow 1.0.3",
|
||||
"zbus_macros",
|
||||
"zbus_names",
|
||||
"zvariant",
|
||||
|
|
@ -2550,9 +2902,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zbus_macros"
|
||||
version = "5.14.0"
|
||||
version = "5.16.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "897e79616e84aac4b2c46e9132a4f63b93105d54fe8c0e8f6bffc21fa8d49222"
|
||||
checksum = "adf1bd45a81a103745b1757754762a26e8cd01e4532e4d6c8ec431624b80d1d6"
|
||||
dependencies = [
|
||||
"proc-macro-crate",
|
||||
"proc-macro2",
|
||||
|
|
@ -2565,29 +2917,29 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zbus_names"
|
||||
version = "4.3.1"
|
||||
version = "4.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ffd8af6d5b78619bab301ff3c560a5bd22426150253db278f164d6cf3b72c50f"
|
||||
checksum = "7074f3e50b894eac91750142016d30d0a89be8e67dbfd9704fb875825760e52d"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"winnow",
|
||||
"winnow 1.0.3",
|
||||
"zvariant",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerocopy"
|
||||
version = "0.8.40"
|
||||
version = "0.8.52"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a789c6e490b576db9f7e6b6d661bcc9799f7c0ac8352f56ea20193b2681532e5"
|
||||
checksum = "ce1022995ff5ff5d841ad7d994facc23098cd40152f2c1d11cd607c6f530653f"
|
||||
dependencies = [
|
||||
"zerocopy-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerocopy-derive"
|
||||
version = "0.8.40"
|
||||
version = "0.8.52"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f65c489a7071a749c849713807783f70672b28094011623e200cb86dcb835953"
|
||||
checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
@ -2601,24 +2953,48 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
|
||||
|
||||
[[package]]
|
||||
name = "zvariant"
|
||||
version = "5.10.0"
|
||||
name = "zune-core"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5708299b21903bbe348e94729f22c49c55d04720a004aa350f1f9c122fd2540b"
|
||||
checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9"
|
||||
|
||||
[[package]]
|
||||
name = "zune-inflate"
|
||||
version = "0.2.54"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
|
||||
dependencies = [
|
||||
"simd-adler32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zune-jpeg"
|
||||
version = "0.5.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296"
|
||||
dependencies = [
|
||||
"zune-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zvariant"
|
||||
version = "5.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a192a0bde63360d77a7523c833d4b4ce6070a927e2c53246e4c540b1a3e27be0"
|
||||
dependencies = [
|
||||
"endi",
|
||||
"enumflags2",
|
||||
"serde",
|
||||
"winnow",
|
||||
"winnow 1.0.3",
|
||||
"zvariant_derive",
|
||||
"zvariant_utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zvariant_derive"
|
||||
version = "5.10.0"
|
||||
version = "5.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b59b012ebe9c46656f9cc08d8da8b4c726510aef12559da3e5f1bf72780752c"
|
||||
checksum = "90bc6cde9c01c511074be97f7ccb6c19d0da89e3f8662e812e999dcfd4638737"
|
||||
dependencies = [
|
||||
"proc-macro-crate",
|
||||
"proc-macro2",
|
||||
|
|
@ -2629,13 +3005,13 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "zvariant_utils"
|
||||
version = "3.3.0"
|
||||
version = "3.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f75c23a64ef8f40f13a6989991e643554d9bef1d682a281160cf0c1bc389c5e9"
|
||||
checksum = "1e8535915cfa75547e559d8c68e8139909a4aeee076831e4ef7fc59d8172c4d6"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"serde",
|
||||
"syn",
|
||||
"winnow",
|
||||
"winnow 1.0.3",
|
||||
]
|
||||
|
|
|
|||
10
Cargo.toml
10
Cargo.toml
|
|
@ -2,7 +2,7 @@
|
|||
name = "loupe"
|
||||
version = "50.0.0"
|
||||
edition = "2024"
|
||||
rust-version = "1.92"
|
||||
rust-version = "1.93"
|
||||
license = "GPL-3.0-or-later"
|
||||
|
||||
[profile.release]
|
||||
|
|
@ -28,14 +28,14 @@ chrono = { version = "0.4.38", default-features = false, features = ["std"] }
|
|||
gettext-rs = { version = "0.7.0", features = ["gettext-system"] }
|
||||
gettext-sys = { version = "0.26.0", features = ["gettext-system"] }
|
||||
gio = { version = "0.22.0", features = ["v2_74"] }
|
||||
glycin = { version = "3.1.0", features = ["gdk4", "unstable-config"] }
|
||||
glycin = { version = "4.0.0-alpha", features = ["gdk4"] }
|
||||
gtk = { package = "gtk4", version = "0.11.0", features = [
|
||||
"v4_14",
|
||||
"xml_validation",
|
||||
] }
|
||||
gufo = { version = "0.4.0", features = ["chrono", "all-image-formats"] }
|
||||
gufo-exif = "0.4.0"
|
||||
gufo-common = { version = "1.1.0", features = ["serde"] }
|
||||
gufo = { version = "0.5.0-alpha", features = ["chrono"] }
|
||||
gufo-exif = "0.5.0-alpha"
|
||||
gufo-common = { version = "2.0.0-alpha", features = ["serde"] }
|
||||
gvdb-macros = "0.1.6"
|
||||
indexmap = "2.0.0"
|
||||
libc = "0.2.158"
|
||||
|
|
|
|||
|
|
@ -65,15 +65,15 @@ pub enum DecoderUpdate {
|
|||
#[derive(Debug, Clone)]
|
||||
pub enum DecoderError {
|
||||
/// Image format not supported or unknown
|
||||
UnsupportedFormat(String, glycin::ErrorCtx),
|
||||
UnsupportedFormat(String, glycin::Error),
|
||||
/// No glycin-loaders installed
|
||||
NoLoadersConfigured(glycin::ErrorCtx),
|
||||
NoLoadersConfigured(glycin::Error),
|
||||
/// Memory limit exceeded
|
||||
OutOfMemory(glycin::ErrorCtx),
|
||||
OutOfMemory(glycin::Error),
|
||||
/// Failed to load image
|
||||
ImageSource(glib::Error, glycin::ErrorCtx),
|
||||
ImageSource(glib::Error, glycin::Error),
|
||||
|
||||
Generic(glycin::ErrorCtx),
|
||||
Generic(glycin::Error),
|
||||
}
|
||||
|
||||
impl UpdateSender {
|
||||
|
|
@ -90,13 +90,13 @@ impl UpdateSender {
|
|||
/// Send occurring errors to renderer
|
||||
pub fn spawn_error_handled<F>(&self, f: F) -> glib::JoinHandle<()>
|
||||
where
|
||||
F: std::future::Future<Output = Result<(), glycin::ErrorCtx>> + Send + 'static,
|
||||
F: std::future::Future<Output = Result<(), glycin::Error>> + Send + 'static,
|
||||
{
|
||||
let update_sender = self.clone();
|
||||
glib::spawn_future(async move {
|
||||
let update_sender = update_sender.clone();
|
||||
|
||||
let result: Result<(), glycin::ErrorCtx> = f.await;
|
||||
let result: Result<(), glycin::Error> = f.await;
|
||||
|
||||
if let Err(err) = result {
|
||||
update_sender.send_error(err);
|
||||
|
|
@ -104,7 +104,7 @@ impl UpdateSender {
|
|||
})
|
||||
}
|
||||
|
||||
pub fn send_error(&self, err: glycin::ErrorCtx) {
|
||||
pub fn send_error(&self, err: glycin::Error) {
|
||||
if let Some(mime_type) = err.unsupported_format() {
|
||||
let mut metadata = Metadata::default();
|
||||
metadata.set_mime_type(mime_type.clone());
|
||||
|
|
@ -115,14 +115,13 @@ impl UpdateSender {
|
|||
))));
|
||||
} else if err.is_out_of_memory() {
|
||||
self.send(DecoderUpdate::Error(Some(DecoderError::OutOfMemory(err))));
|
||||
} else if matches!(err.error(), glycin::Error::NoLoadersConfigured(_)) {
|
||||
} else if err.has_no_processor_configured() {
|
||||
self.send(DecoderUpdate::Error(Some(
|
||||
DecoderError::NoLoadersConfigured(err),
|
||||
)));
|
||||
} else if let glycin::Error::ImageSource(glib_err) = err.error() {
|
||||
} else if let Some(glib_err) = err.failed_image_source() {
|
||||
self.send(DecoderUpdate::Error(Some(DecoderError::ImageSource(
|
||||
glib_err.clone(),
|
||||
err,
|
||||
glib_err, err,
|
||||
))));
|
||||
} else {
|
||||
self.send(DecoderUpdate::Error(Some(DecoderError::Generic(err))));
|
||||
|
|
|
|||
|
|
@ -43,7 +43,11 @@ impl Drop for Glycin {
|
|||
}
|
||||
|
||||
impl Glycin {
|
||||
pub fn new(image: glycin::Image, updater: UpdateSender, tiles: Arc<SharedFrameBuffer>) -> Self {
|
||||
pub fn new(
|
||||
mut image: glycin::Image,
|
||||
updater: UpdateSender,
|
||||
tiles: Arc<SharedFrameBuffer>,
|
||||
) -> Self {
|
||||
let cancellable = image.cancellable();
|
||||
|
||||
let (next_frame_send, next_frame_recv) = async_channel::bounded(2);
|
||||
|
|
|
|||
|
|
@ -61,7 +61,11 @@ impl Drop for Svg {
|
|||
}
|
||||
|
||||
impl Svg {
|
||||
pub fn new(image: glycin::Image, updater: UpdateSender, tiles: Arc<SharedFrameBuffer>) -> Self {
|
||||
pub fn new(
|
||||
mut image: glycin::Image,
|
||||
updater: UpdateSender,
|
||||
tiles: Arc<SharedFrameBuffer>,
|
||||
) -> Self {
|
||||
let current_request: Arc<std::sync::RwLock<Request>> = Default::default();
|
||||
let request_store = current_request.clone();
|
||||
let cancellable = image.cancellable();
|
||||
|
|
@ -187,7 +191,7 @@ impl Svg {
|
|||
#[allow(unused_mut)]
|
||||
let loader = glycin::Loader::new(file.clone());
|
||||
|
||||
let image = loader.load().await?;
|
||||
let mut image = loader.load().await?;
|
||||
let frame_request = glycin::FrameRequest::new().scale(width as u32, height as u32);
|
||||
let frame = image.specific_frame(frame_request).await?;
|
||||
|
||||
|
|
|
|||
|
|
@ -62,19 +62,11 @@ impl Metadata {
|
|||
}
|
||||
|
||||
pub fn set_image_info(&mut self, image_info: ImageDetails) {
|
||||
if let Some(exif_raw) = image_info
|
||||
.metadata_exif()
|
||||
.as_ref()
|
||||
.and_then(|x| x.get_full().ok())
|
||||
{
|
||||
self.set_exif_bytes(exif_raw);
|
||||
if let Some(exif_raw) = image_info.metadata_exif() {
|
||||
self.set_exif_bytes(exif_raw.to_owned());
|
||||
}
|
||||
if let Some(exif_xmp) = image_info
|
||||
.metadata_xmp()
|
||||
.as_ref()
|
||||
.and_then(|x| x.get_full().ok())
|
||||
{
|
||||
self.set_xmp_bytes(exif_xmp);
|
||||
if let Some(exif_xmp) = image_info.metadata_xmp() {
|
||||
self.set_xmp_bytes(exif_xmp.to_owned());
|
||||
}
|
||||
self.image_info = Some(image_info);
|
||||
}
|
||||
|
|
@ -261,8 +253,8 @@ impl Metadata {
|
|||
}
|
||||
|
||||
pub fn exposure_time(&self) -> Option<String> {
|
||||
if let Some((num, denom)) = self.metadata.exposure_time() {
|
||||
let speed = num as f64 / denom as f64;
|
||||
if let Some(exposure_time) = self.metadata.exposure_time() {
|
||||
let speed = exposure_time.as_f64();
|
||||
if speed <= 0.5 {
|
||||
let exposure = format!("{:.0}", 1. / speed);
|
||||
// Translators: Fractional exposure time (photography) in seconds
|
||||
|
|
@ -288,7 +280,7 @@ impl Metadata {
|
|||
pub fn focal_length(&self) -> Option<String> {
|
||||
self.metadata
|
||||
.focal_length()
|
||||
.map(|focal_length| gettext_f(r"{}\u{202F}mm", [focal_length.to_string()]))
|
||||
.map(|focal_length| gettext_f(r"{}\u{202F}mm", [focal_length.as_f32().to_string()]))
|
||||
}
|
||||
|
||||
/// Combined maker and model info
|
||||
|
|
|
|||
|
|
@ -364,7 +364,7 @@ mod imp {
|
|||
Err(err) => Err(err),
|
||||
};
|
||||
match result {
|
||||
Err(err) if matches!(err.error(), glycin::Error::Canceled(_)) => {
|
||||
Err(err) if err.is_cancelled() => {
|
||||
tracing::debug!("Computing edited image canceled");
|
||||
}
|
||||
Err(err) => {
|
||||
|
|
@ -377,17 +377,10 @@ mod imp {
|
|||
}
|
||||
Ok(edit) => {
|
||||
tracing::debug!("Saving edited image to '{}'", new_file.uri());
|
||||
match edit.data().get() {
|
||||
Err(err) => {
|
||||
obj.window_show_error(
|
||||
&gettext("Failed to Save Image"),
|
||||
&format!("Failed to get binary data: {err}"),
|
||||
ErrorType::General,
|
||||
);
|
||||
}
|
||||
Ok(data) => {
|
||||
self.set_saving_status(Some(gettext("Saving Image")));
|
||||
|
||||
// TODO: Clone might be avoidable
|
||||
let data = edit.data().to_vec();
|
||||
let save_result = gio::CancellableFuture::new(
|
||||
new_file.replace_contents_future(
|
||||
data,
|
||||
|
|
@ -414,8 +407,6 @@ mod imp {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self.set_saving_status(None);
|
||||
false
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue