Update to current `parley` `main` (#870)

This updates to the version using the updated objc2 and binding crates
for Fontique.

It also has a minor API change.
This commit is contained in:
Bruce Mitchener 2025-02-19 09:50:26 +07:00 committed by GitHub
parent f8a7690d54
commit f63e7096dd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 109 additions and 99 deletions

198
Cargo.lock generated
View File

@ -58,9 +58,9 @@ dependencies = [
"accesskit", "accesskit",
"accesskit_consumer", "accesskit_consumer",
"hashbrown", "hashbrown",
"objc2", "objc2 0.5.2",
"objc2-app-kit", "objc2-app-kit",
"objc2-foundation", "objc2-foundation 0.2.2",
] ]
[[package]] [[package]]
@ -512,7 +512,7 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f"
dependencies = [ dependencies = [
"objc2", "objc2 0.5.2",
] ]
[[package]] [[package]]
@ -741,18 +741,6 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "core-text"
version = "20.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5"
dependencies = [
"core-foundation",
"core-graphics",
"foreign-types",
"libc",
]
[[package]] [[package]]
name = "counter" name = "counter"
version = "0.1.0" version = "0.1.0"
@ -1025,15 +1013,6 @@ version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f"
[[package]]
name = "font-types"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3971f9a5ca983419cdc386941ba3b9e1feba01a0ab888adf78739feb2798492"
dependencies = [
"bytemuck",
]
[[package]] [[package]]
name = "font-types" name = "font-types"
version = "0.8.2" version = "0.8.2"
@ -1056,19 +1035,18 @@ dependencies = [
[[package]] [[package]]
name = "fontique" name = "fontique"
version = "0.2.0" version = "0.2.0"
source = "git+https://github.com/linebender/parley?rev=16b62518d467487ee15cb230fdb28530d89a8cf6#16b62518d467487ee15cb230fdb28530d89a8cf6" source = "git+https://github.com/linebender/parley?rev=d4bb51b0e684681bd07be95fe0e5ad20068a10a3#d4bb51b0e684681bd07be95fe0e5ad20068a10a3"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"core-foundation",
"core-text",
"fontconfig-cache-parser", "fontconfig-cache-parser",
"hashbrown", "hashbrown",
"icu_locid", "icu_locid",
"memmap2", "memmap2",
"objc2", "objc2-core-foundation",
"objc2-foundation", "objc2-core-text",
"objc2-foundation 0.3.0",
"peniko", "peniko",
"read-fonts 0.22.7", "read-fonts",
"roxmltree", "roxmltree",
"smallvec", "smallvec",
"windows", "windows",
@ -2186,6 +2164,15 @@ dependencies = [
"objc2-encode", "objc2-encode",
] ]
[[package]]
name = "objc2"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3531f65190d9cff863b77a99857e74c314dd16bf56c538c4b57c7cbc3f3a6e59"
dependencies = [
"objc2-encode",
]
[[package]] [[package]]
name = "objc2-app-kit" name = "objc2-app-kit"
version = "0.2.2" version = "0.2.2"
@ -2195,10 +2182,10 @@ dependencies = [
"bitflags 2.8.0", "bitflags 2.8.0",
"block2", "block2",
"libc", "libc",
"objc2", "objc2 0.5.2",
"objc2-core-data", "objc2-core-data",
"objc2-core-image", "objc2-core-image",
"objc2-foundation", "objc2-foundation 0.2.2",
"objc2-quartz-core", "objc2-quartz-core",
] ]
@ -2210,9 +2197,9 @@ checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.8.0",
"block2", "block2",
"objc2", "objc2 0.5.2",
"objc2-core-location", "objc2-core-location",
"objc2-foundation", "objc2-foundation 0.2.2",
] ]
[[package]] [[package]]
@ -2222,8 +2209,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889"
dependencies = [ dependencies = [
"block2", "block2",
"objc2", "objc2 0.5.2",
"objc2-foundation", "objc2-foundation 0.2.2",
] ]
[[package]] [[package]]
@ -2234,8 +2221,17 @@ checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.8.0",
"block2", "block2",
"objc2", "objc2 0.5.2",
"objc2-foundation", "objc2-foundation 0.2.2",
]
[[package]]
name = "objc2-core-foundation"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "daeaf60f25471d26948a1c2f840e3f7d86f4109e3af4e8e4b5cd70c39690d925"
dependencies = [
"bitflags 2.8.0",
] ]
[[package]] [[package]]
@ -2245,8 +2241,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80"
dependencies = [ dependencies = [
"block2", "block2",
"objc2", "objc2 0.5.2",
"objc2-foundation", "objc2-foundation 0.2.2",
"objc2-metal", "objc2-metal",
] ]
@ -2257,16 +2253,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781"
dependencies = [ dependencies = [
"block2", "block2",
"objc2", "objc2 0.5.2",
"objc2-contacts", "objc2-contacts",
"objc2-foundation", "objc2-foundation 0.2.2",
]
[[package]]
name = "objc2-core-text"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fde15abfe00bf9f1eda220addbdfa6c62b0e5595e98208e8cdbc2ec0f6970a6"
dependencies = [
"bitflags 2.8.0",
"objc2-core-foundation",
] ]
[[package]] [[package]]
name = "objc2-encode" name = "objc2-encode"
version = "4.0.3" version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
[[package]] [[package]]
name = "objc2-foundation" name = "objc2-foundation"
@ -2278,7 +2284,17 @@ dependencies = [
"block2", "block2",
"dispatch", "dispatch",
"libc", "libc",
"objc2", "objc2 0.5.2",
]
[[package]]
name = "objc2-foundation"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a21c6c9014b82c39515db5b396f91645182611c97d24637cf56ac01e5f8d998"
dependencies = [
"bitflags 2.8.0",
"objc2 0.6.0",
] ]
[[package]] [[package]]
@ -2288,9 +2304,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398"
dependencies = [ dependencies = [
"block2", "block2",
"objc2", "objc2 0.5.2",
"objc2-app-kit", "objc2-app-kit",
"objc2-foundation", "objc2-foundation 0.2.2",
] ]
[[package]] [[package]]
@ -2301,8 +2317,8 @@ checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.8.0",
"block2", "block2",
"objc2", "objc2 0.5.2",
"objc2-foundation", "objc2-foundation 0.2.2",
] ]
[[package]] [[package]]
@ -2313,8 +2329,8 @@ checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.8.0",
"block2", "block2",
"objc2", "objc2 0.5.2",
"objc2-foundation", "objc2-foundation 0.2.2",
"objc2-metal", "objc2-metal",
] ]
@ -2324,8 +2340,8 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc"
dependencies = [ dependencies = [
"objc2", "objc2 0.5.2",
"objc2-foundation", "objc2-foundation 0.2.2",
] ]
[[package]] [[package]]
@ -2336,12 +2352,12 @@ checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.8.0",
"block2", "block2",
"objc2", "objc2 0.5.2",
"objc2-cloud-kit", "objc2-cloud-kit",
"objc2-core-data", "objc2-core-data",
"objc2-core-image", "objc2-core-image",
"objc2-core-location", "objc2-core-location",
"objc2-foundation", "objc2-foundation 0.2.2",
"objc2-link-presentation", "objc2-link-presentation",
"objc2-quartz-core", "objc2-quartz-core",
"objc2-symbols", "objc2-symbols",
@ -2356,8 +2372,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe"
dependencies = [ dependencies = [
"block2", "block2",
"objc2", "objc2 0.5.2",
"objc2-foundation", "objc2-foundation 0.2.2",
] ]
[[package]] [[package]]
@ -2368,9 +2384,9 @@ checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.8.0",
"block2", "block2",
"objc2", "objc2 0.5.2",
"objc2-core-location", "objc2-core-location",
"objc2-foundation", "objc2-foundation 0.2.2",
] ]
[[package]] [[package]]
@ -2454,13 +2470,13 @@ dependencies = [
[[package]] [[package]]
name = "parley" name = "parley"
version = "0.2.0" version = "0.2.0"
source = "git+https://github.com/linebender/parley?rev=16b62518d467487ee15cb230fdb28530d89a8cf6#16b62518d467487ee15cb230fdb28530d89a8cf6" source = "git+https://github.com/linebender/parley?rev=d4bb51b0e684681bd07be95fe0e5ad20068a10a3#d4bb51b0e684681bd07be95fe0e5ad20068a10a3"
dependencies = [ dependencies = [
"accesskit", "accesskit",
"fontique", "fontique",
"hashbrown", "hashbrown",
"peniko", "peniko",
"skrifa 0.22.3", "skrifa",
"swash", "swash",
] ]
@ -2762,16 +2778,6 @@ dependencies = [
"xilem_web", "xilem_web",
] ]
[[package]]
name = "read-fonts"
version = "0.22.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69aacb76b5c29acfb7f90155d39759a29496aebb49395830e928a9703d2eec2f"
dependencies = [
"bytemuck",
"font-types 0.7.3",
]
[[package]] [[package]]
name = "read-fonts" name = "read-fonts"
version = "0.25.3" version = "0.25.3"
@ -2779,7 +2785,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6f9e8a4f503e5c8750e4cd3b32a4e090035c46374b305a15c70bad833dca05f" checksum = "f6f9e8a4f503e5c8750e4cd3b32a4e090035c46374b305a15c70bad833dca05f"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"font-types 0.8.2", "font-types",
] ]
[[package]] [[package]]
@ -2910,9 +2916,9 @@ dependencies = [
[[package]] [[package]]
name = "roxmltree" name = "roxmltree"
version = "0.19.0" version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f" checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97"
[[package]] [[package]]
name = "rustc-demangle" name = "rustc-demangle"
@ -3138,22 +3144,12 @@ checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e"
[[package]] [[package]]
name = "skrifa" name = "skrifa"
version = "0.22.3" version = "0.26.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe" checksum = "e92bf3f3af711d696eff796a4f28136927d40eb8108002b6f7919dc0cee27a5d"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"read-fonts 0.22.7", "read-fonts",
]
[[package]]
name = "skrifa"
version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6667e349abb2e6e850b31bc638a11f7fadd7e4cf113b71947c46bf6d5fe0dbc9"
dependencies = [
"bytemuck",
"read-fonts 0.25.3",
] ]
[[package]] [[package]]
@ -3303,11 +3299,13 @@ dependencies = [
[[package]] [[package]]
name = "swash" name = "swash"
version = "0.1.19" version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cbd59f3f359ddd2c95af4758c18270eddd9c730dde98598023cdabff472c2ca2" checksum = "f0e25b48fd1c222c9fdb61148e2203b750f9840c07922fd61b87c6015560b8f6"
dependencies = [ dependencies = [
"skrifa 0.22.3", "skrifa",
"yazi",
"zeno",
] ]
[[package]] [[package]]
@ -3816,7 +3814,7 @@ dependencies = [
"log", "log",
"peniko", "peniko",
"png", "png",
"skrifa 0.26.4", "skrifa",
"static_assertions", "static_assertions",
"thiserror 2.0.11", "thiserror 2.0.11",
"vello_encoding", "vello_encoding",
@ -3834,7 +3832,7 @@ dependencies = [
"bytemuck", "bytemuck",
"guillotiere", "guillotiere",
"peniko", "peniko",
"skrifa 0.26.4", "skrifa",
"smallvec", "smallvec",
] ]
@ -4542,9 +4540,9 @@ dependencies = [
"libc", "libc",
"memmap2", "memmap2",
"ndk", "ndk",
"objc2", "objc2 0.5.2",
"objc2-app-kit", "objc2-app-kit",
"objc2-foundation", "objc2-foundation 0.2.2",
"objc2-ui-kit", "objc2-ui-kit",
"orbclient", "orbclient",
"percent-encoding", "percent-encoding",
@ -4704,6 +4702,12 @@ version = "0.8.25"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4"
[[package]]
name = "yazi"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5"
[[package]] [[package]]
name = "yoke" name = "yoke"
version = "0.7.5" version = "0.7.5"
@ -4827,6 +4831,12 @@ dependencies = [
"zvariant", "zvariant",
] ]
[[package]]
name = "zeno"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc0de2315dc13d00e5df3cd6b8d2124a6eaec6a2d4b6a1c5f37b7efad17fcc17"
[[package]] [[package]]
name = "zerocopy" name = "zerocopy"
version = "0.7.35" version = "0.7.35"

View File

@ -90,7 +90,7 @@ tree_arena = { version = "0.1.0", path = "tree_arena" }
vello = "0.4.0" vello = "0.4.0"
wgpu = "23.0.1" wgpu = "23.0.1"
kurbo = "0.11.1" kurbo = "0.11.1"
parley = { git = "https://github.com/linebender/parley", rev = "16b62518d467487ee15cb230fdb28530d89a8cf6", features = [ parley = { git = "https://github.com/linebender/parley", rev = "d4bb51b0e684681bd07be95fe0e5ad20068a10a3", features = [
"accesskit", "accesskit",
] } ] }
peniko = "0.3.1" peniko = "0.3.1"

View File

@ -115,7 +115,7 @@ impl Widget for CustomWidget {
let mut text_layout = text_layout_builder.build(&self.0); let mut text_layout = text_layout_builder.build(&self.0);
text_layout.break_all_lines(None); text_layout.break_all_lines(None);
text_layout.align(None, Alignment::Start); text_layout.align(None, Alignment::Start, false);
// We can pass a transform matrix to rotate the text we render // We can pass a transform matrix to rotate the text we render
masonry::core::render_text( masonry::core::render_text(

View File

@ -386,7 +386,7 @@ impl Widget for Label {
}; };
if self.alignment_changed { if self.alignment_changed {
self.text_layout self.text_layout
.align(Some(alignment_width), self.alignment); .align(Some(alignment_width), self.alignment, false);
} }
let text_size = Size::new(alignment_width.into(), self.text_layout.height().into()); let text_size = Size::new(alignment_width.into(), self.text_layout.height().into());

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:b49b0f26b281e6cd84f39c828fc2152dd291c866bf77e95bb4a33fddaf93b99c oid sha256:e45499fec47872d35b99df075fb93ccb1277ad2220e9554afef80c236071f199
size 9754 size 9709