desktop: Update winit to 0.29.10 and egui to 0.25.0
This commit is contained in:
parent
5169d9db3d
commit
f65060e8c9
|
@ -56,6 +56,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
|
checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
|
"getrandom",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"serde",
|
"serde",
|
||||||
"version_check",
|
"version_check",
|
||||||
|
@ -107,20 +108,23 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "android-activity"
|
name = "android-activity"
|
||||||
version = "0.4.3"
|
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 = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0"
|
checksum = "39b801912a977c3fd52d80511fe1c0c8480c6f957f21ae2ce1b92ffe970cf4b9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"android-properties",
|
"android-properties",
|
||||||
"bitflags 1.3.2",
|
"bitflags 2.4.1",
|
||||||
"cc",
|
"cc",
|
||||||
|
"cesu8",
|
||||||
|
"jni 0.21.1",
|
||||||
"jni-sys",
|
"jni-sys",
|
||||||
"libc",
|
"libc",
|
||||||
"log",
|
"log",
|
||||||
"ndk",
|
"ndk 0.8.0",
|
||||||
"ndk-context",
|
"ndk-context",
|
||||||
"ndk-sys",
|
"ndk-sys 0.5.0+25.2.9519653",
|
||||||
"num_enum 0.6.1",
|
"num_enum 0.7.2",
|
||||||
|
"thiserror",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -214,7 +218,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "aafb29b107435aa276664c1db8954ac27a6e105cdad3c88287a199eb0e313c08"
|
checksum = "aafb29b107435aa276664c1db8954ac27a6e105cdad3c88287a199eb0e313c08"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clipboard-win",
|
"clipboard-win",
|
||||||
"core-graphics",
|
"core-graphics 0.22.3",
|
||||||
"image",
|
"image",
|
||||||
"log",
|
"log",
|
||||||
"objc",
|
"objc",
|
||||||
|
@ -224,7 +228,7 @@ dependencies = [
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"winapi",
|
"winapi",
|
||||||
"wl-clipboard-rs",
|
"wl-clipboard-rs",
|
||||||
"x11rb",
|
"x11rb 0.12.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -248,6 +252,12 @@ dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "as-raw-xcb-connection"
|
||||||
|
version = "1.0.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ash"
|
name = "ash"
|
||||||
version = "0.37.3+1.3.251"
|
version = "0.37.3+1.3.251"
|
||||||
|
@ -283,9 +293,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "async-io"
|
name = "async-io"
|
||||||
version = "2.2.2"
|
version = "2.3.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6afaa937395a620e33dc6a742c593c01aced20aa376ffb0f628121198578ccc7"
|
checksum = "fb41eb19024a91746eba0773aa5e16036045bbf45733766661099e182ea6a744"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-lock",
|
"async-lock",
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
|
@ -481,21 +491,21 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "block-sys"
|
name = "block-sys"
|
||||||
version = "0.1.0-beta.1"
|
version = "0.2.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146"
|
checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"objc-sys",
|
"objc-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "block2"
|
name = "block2"
|
||||||
version = "0.2.0-alpha.6"
|
version = "0.3.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42"
|
checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"block-sys",
|
"block-sys",
|
||||||
"objc2-encode",
|
"objc2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -596,16 +606,28 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "calloop"
|
name = "calloop"
|
||||||
version = "0.10.6"
|
version = "0.12.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8"
|
checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 1.3.2",
|
"bitflags 2.4.1",
|
||||||
"log",
|
"log",
|
||||||
"nix 0.25.1",
|
"polling 3.3.2",
|
||||||
"slotmap",
|
"rustix",
|
||||||
|
"slab",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"vec_map",
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "calloop-wayland-source"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
|
||||||
|
dependencies = [
|
||||||
|
"calloop",
|
||||||
|
"rustix",
|
||||||
|
"wayland-backend",
|
||||||
|
"wayland-client",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -893,6 +915,19 @@ dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "core-graphics"
|
||||||
|
version = "0.23.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags 1.3.2",
|
||||||
|
"core-foundation",
|
||||||
|
"core-graphics-types",
|
||||||
|
"foreign-types 0.5.0",
|
||||||
|
"libc",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "core-graphics-types"
|
name = "core-graphics-types"
|
||||||
version = "0.1.3"
|
version = "0.1.3"
|
||||||
|
@ -947,7 +982,7 @@ dependencies = [
|
||||||
"js-sys",
|
"js-sys",
|
||||||
"libc",
|
"libc",
|
||||||
"mach2",
|
"mach2",
|
||||||
"ndk",
|
"ndk 0.7.0",
|
||||||
"ndk-context",
|
"ndk-context",
|
||||||
"oboe",
|
"oboe",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
|
@ -1093,6 +1128,12 @@ dependencies = [
|
||||||
"windows-sys 0.48.0",
|
"windows-sys 0.48.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cursor-icon"
|
||||||
|
version = "1.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "d3d12"
|
name = "d3d12"
|
||||||
version = "0.7.0"
|
version = "0.7.0"
|
||||||
|
@ -1366,9 +1407,8 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ecolor"
|
name = "ecolor"
|
||||||
version = "0.24.1"
|
version = "0.25.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "git+https://github.com/ruffle-rs/egui?branch=consume_keys#bdecb2cbbc5b43e77e98b0524c3678a07a0b4e04"
|
||||||
checksum = "4b7637fc2e74d17e52931bac90ff4fc061ac776ada9c7fa272f24cdca5991972"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -1376,9 +1416,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "egui"
|
name = "egui"
|
||||||
version = "0.24.1"
|
version = "0.25.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "git+https://github.com/ruffle-rs/egui?branch=consume_keys#bdecb2cbbc5b43e77e98b0524c3678a07a0b4e04"
|
||||||
checksum = "c55bcb864b764eb889515a38b8924757657a250738ad15126637ee2df291ee6b"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"accesskit",
|
"accesskit",
|
||||||
"ahash",
|
"ahash",
|
||||||
|
@ -1390,9 +1429,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "egui-wgpu"
|
name = "egui-wgpu"
|
||||||
version = "0.24.1"
|
version = "0.25.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "git+https://github.com/ruffle-rs/egui?branch=consume_keys#bdecb2cbbc5b43e77e98b0524c3678a07a0b4e04"
|
||||||
checksum = "2d8ea73b329649be625fac2c9b190a2a8f9a66f98610c4b09124b596c6695053"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
"egui",
|
"egui",
|
||||||
|
@ -1406,14 +1444,13 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "egui-winit"
|
name = "egui-winit"
|
||||||
version = "0.24.1"
|
version = "0.25.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "git+https://github.com/ruffle-rs/egui?branch=consume_keys#bdecb2cbbc5b43e77e98b0524c3678a07a0b4e04"
|
||||||
checksum = "3b673606b6606b12b95e3a3194d7882bf5cff302db36a520b8144c7c342e4e84"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arboard",
|
"arboard",
|
||||||
"egui",
|
"egui",
|
||||||
"log",
|
"log",
|
||||||
"raw-window-handle",
|
"raw-window-handle 0.5.2",
|
||||||
"smithay-clipboard",
|
"smithay-clipboard",
|
||||||
"web-time",
|
"web-time",
|
||||||
"webbrowser",
|
"webbrowser",
|
||||||
|
@ -1422,9 +1459,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "egui_extras"
|
name = "egui_extras"
|
||||||
version = "0.24.2"
|
version = "0.25.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "git+https://github.com/ruffle-rs/egui?branch=consume_keys#bdecb2cbbc5b43e77e98b0524c3678a07a0b4e04"
|
||||||
checksum = "97624eaf17a16058265d3a3e712e167798655baf7c8f693de25be75cdd6c57b5"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"egui",
|
"egui",
|
||||||
"enum-map",
|
"enum-map",
|
||||||
|
@ -1442,9 +1478,8 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "emath"
|
name = "emath"
|
||||||
version = "0.24.1"
|
version = "0.25.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "git+https://github.com/ruffle-rs/egui?branch=consume_keys#bdecb2cbbc5b43e77e98b0524c3678a07a0b4e04"
|
||||||
checksum = "a045c6c0b44b35e98513fc1e9d183ab42881ac27caccb9fa345465601f56cce4"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -1547,9 +1582,8 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "epaint"
|
name = "epaint"
|
||||||
version = "0.24.1"
|
version = "0.25.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "git+https://github.com/ruffle-rs/egui?branch=consume_keys#bdecb2cbbc5b43e77e98b0524c3678a07a0b4e04"
|
||||||
checksum = "7d1b9e000d21bab9b535ce78f9f7745be28b3f777f6c7223936561c5c7fefab8"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ab_glyph",
|
"ab_glyph",
|
||||||
"ahash",
|
"ahash",
|
||||||
|
@ -1866,7 +1900,7 @@ checksum = "98b88c54a38407f7352dd2c4238830115a6377741098ffd1f997c813d0e088a6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"fontconfig-parser",
|
"fontconfig-parser",
|
||||||
"log",
|
"log",
|
||||||
"memmap2 0.9.3",
|
"memmap2",
|
||||||
"slotmap",
|
"slotmap",
|
||||||
"tinyvec",
|
"tinyvec",
|
||||||
"ttf-parser",
|
"ttf-parser",
|
||||||
|
@ -2135,6 +2169,16 @@ dependencies = [
|
||||||
"winapi",
|
"winapi",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "gethostname"
|
||||||
|
version = "0.4.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"windows-targets 0.48.5",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "getrandom"
|
name = "getrandom"
|
||||||
version = "0.2.12"
|
version = "0.2.12"
|
||||||
|
@ -2495,6 +2539,17 @@ dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "icrate"
|
||||||
|
version = "0.0.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319"
|
||||||
|
dependencies = [
|
||||||
|
"block2",
|
||||||
|
"dispatch",
|
||||||
|
"objc2",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ident_case"
|
name = "ident_case"
|
||||||
version = "1.0.1"
|
version = "1.0.1"
|
||||||
|
@ -2589,9 +2644,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
|
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"js-sys",
|
|
||||||
"wasm-bindgen",
|
|
||||||
"web-sys",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -3076,15 +3128,6 @@ version = "2.7.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
|
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "memmap2"
|
|
||||||
version = "0.5.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "memmap2"
|
name = "memmap2"
|
||||||
version = "0.9.3"
|
version = "0.9.3"
|
||||||
|
@ -3094,15 +3137,6 @@ dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "memoffset"
|
|
||||||
version = "0.6.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
|
|
||||||
dependencies = [
|
|
||||||
"autocfg",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "memoffset"
|
name = "memoffset"
|
||||||
version = "0.7.1"
|
version = "0.7.1"
|
||||||
|
@ -3159,18 +3193,6 @@ dependencies = [
|
||||||
"simd-adler32",
|
"simd-adler32",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "mio"
|
|
||||||
version = "0.8.10"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
"log",
|
|
||||||
"wasi",
|
|
||||||
"windows-sys 0.48.0",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mocket"
|
name = "mocket"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
@ -3263,9 +3285,25 @@ checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 1.3.2",
|
"bitflags 1.3.2",
|
||||||
"jni-sys",
|
"jni-sys",
|
||||||
"ndk-sys",
|
"ndk-sys 0.4.1+23.1.7779620",
|
||||||
"num_enum 0.5.11",
|
"num_enum 0.5.11",
|
||||||
"raw-window-handle",
|
"raw-window-handle 0.5.2",
|
||||||
|
"thiserror",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ndk"
|
||||||
|
version = "0.8.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags 2.4.1",
|
||||||
|
"jni-sys",
|
||||||
|
"log",
|
||||||
|
"ndk-sys 0.5.0+25.2.9519653",
|
||||||
|
"num_enum 0.7.2",
|
||||||
|
"raw-window-handle 0.5.2",
|
||||||
|
"raw-window-handle 0.6.0",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -3284,6 +3322,15 @@ dependencies = [
|
||||||
"jni-sys",
|
"jni-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ndk-sys"
|
||||||
|
version = "0.5.0+25.2.9519653"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
|
||||||
|
dependencies = [
|
||||||
|
"jni-sys",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nellymoser-rs"
|
name = "nellymoser-rs"
|
||||||
version = "0.1.2"
|
version = "0.1.2"
|
||||||
|
@ -3325,20 +3372,6 @@ dependencies = [
|
||||||
"bitflags 1.3.2",
|
"bitflags 1.3.2",
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"libc",
|
"libc",
|
||||||
"memoffset 0.6.5",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "nix"
|
|
||||||
version = "0.25.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
|
|
||||||
dependencies = [
|
|
||||||
"autocfg",
|
|
||||||
"bitflags 1.3.2",
|
|
||||||
"cfg-if",
|
|
||||||
"libc",
|
|
||||||
"memoffset 0.6.5",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -3350,7 +3383,7 @@ dependencies = [
|
||||||
"bitflags 1.3.2",
|
"bitflags 1.3.2",
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"libc",
|
"libc",
|
||||||
"memoffset 0.7.1",
|
"memoffset",
|
||||||
"pin-utils",
|
"pin-utils",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -3463,11 +3496,11 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num_enum"
|
name = "num_enum"
|
||||||
version = "0.6.1"
|
version = "0.7.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1"
|
checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"num_enum_derive 0.6.1",
|
"num_enum_derive 0.7.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -3476,7 +3509,7 @@ version = "0.5.11"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
|
checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro-crate",
|
"proc-macro-crate 1.3.1",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 1.0.109",
|
"syn 1.0.109",
|
||||||
|
@ -3484,11 +3517,11 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num_enum_derive"
|
name = "num_enum_derive"
|
||||||
version = "0.6.1"
|
version = "0.7.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6"
|
checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro-crate",
|
"proc-macro-crate 3.0.0",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.48",
|
"syn 2.0.48",
|
||||||
|
@ -3532,29 +3565,25 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "objc-sys"
|
name = "objc-sys"
|
||||||
version = "0.2.0-beta.2"
|
version = "0.3.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7"
|
checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "objc2"
|
name = "objc2"
|
||||||
version = "0.3.0-beta.3.patch-leaks.3"
|
version = "0.4.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468"
|
checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"block2",
|
|
||||||
"objc-sys",
|
"objc-sys",
|
||||||
"objc2-encode",
|
"objc2-encode",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "objc2-encode"
|
name = "objc2-encode"
|
||||||
version = "2.0.0-pre.2"
|
version = "3.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512"
|
checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666"
|
||||||
dependencies = [
|
|
||||||
"objc-sys",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "objc_exception"
|
name = "objc_exception"
|
||||||
|
@ -3590,7 +3619,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8868cc237ee02e2d9618539a23a8d228b9bb3fc2e7a5b11eed3831de77c395d0"
|
checksum = "8868cc237ee02e2d9618539a23a8d228b9bb3fc2e7a5b11eed3831de77c395d0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"jni 0.20.0",
|
"jni 0.20.0",
|
||||||
"ndk",
|
"ndk 0.7.0",
|
||||||
"ndk-context",
|
"ndk-context",
|
||||||
"num-derive 0.3.3",
|
"num-derive 0.3.3",
|
||||||
"num-traits",
|
"num-traits",
|
||||||
|
@ -3944,6 +3973,15 @@ dependencies = [
|
||||||
"toml_edit 0.19.15",
|
"toml_edit 0.19.15",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro-crate"
|
||||||
|
version = "3.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6b2685dd208a3771337d8d386a89840f0f43cd68be8dae90a5f8c2384effc9cd"
|
||||||
|
dependencies = [
|
||||||
|
"toml_edit 0.21.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro-hack"
|
name = "proc-macro-hack"
|
||||||
version = "0.5.20+deprecated"
|
version = "0.5.20+deprecated"
|
||||||
|
@ -4070,6 +4108,12 @@ version = "0.5.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
|
checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "raw-window-handle"
|
||||||
|
version = "0.6.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rayon"
|
name = "rayon"
|
||||||
version = "1.8.0"
|
version = "1.8.0"
|
||||||
|
@ -4225,7 +4269,7 @@ dependencies = [
|
||||||
"objc",
|
"objc",
|
||||||
"objc-foundation",
|
"objc-foundation",
|
||||||
"objc_id",
|
"objc_id",
|
||||||
"raw-window-handle",
|
"raw-window-handle 0.5.2",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
"wasm-bindgen-futures",
|
"wasm-bindgen-futures",
|
||||||
"web-sys",
|
"web-sys",
|
||||||
|
@ -4471,7 +4515,7 @@ dependencies = [
|
||||||
"naga_oil",
|
"naga_oil",
|
||||||
"ouroboros",
|
"ouroboros",
|
||||||
"profiling",
|
"profiling",
|
||||||
"raw-window-handle",
|
"raw-window-handle 0.5.2",
|
||||||
"ruffle_render",
|
"ruffle_render",
|
||||||
"swf",
|
"swf",
|
||||||
"tracing",
|
"tracing",
|
||||||
|
@ -4727,13 +4771,13 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sctk-adwaita"
|
name = "sctk-adwaita"
|
||||||
version = "0.5.4"
|
version = "0.8.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09"
|
checksum = "82b2eaf3a5b264a521b988b2e73042e742df700c4f962cde845d1541adb46550"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ab_glyph",
|
"ab_glyph",
|
||||||
"log",
|
"log",
|
||||||
"memmap2 0.5.10",
|
"memmap2",
|
||||||
"smithay-client-toolkit",
|
"smithay-client-toolkit",
|
||||||
"tiny-skia",
|
"tiny-skia",
|
||||||
]
|
]
|
||||||
|
@ -4913,31 +4957,47 @@ checksum = "2593d31f82ead8df961d8bd23a64c2ccf2eb5dd34b0a34bfb4dd54011c72009e"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "smithay-client-toolkit"
|
name = "smithay-client-toolkit"
|
||||||
version = "0.16.1"
|
version = "0.18.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9"
|
checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 1.3.2",
|
"bitflags 2.4.1",
|
||||||
"calloop",
|
"calloop",
|
||||||
"dlib",
|
"calloop-wayland-source",
|
||||||
"lazy_static",
|
"cursor-icon",
|
||||||
|
"libc",
|
||||||
"log",
|
"log",
|
||||||
"memmap2 0.5.10",
|
"memmap2",
|
||||||
"nix 0.24.3",
|
"rustix",
|
||||||
"pkg-config",
|
"thiserror",
|
||||||
"wayland-client 0.29.5",
|
"wayland-backend",
|
||||||
|
"wayland-client",
|
||||||
|
"wayland-csd-frame",
|
||||||
"wayland-cursor",
|
"wayland-cursor",
|
||||||
"wayland-protocols 0.29.5",
|
"wayland-protocols",
|
||||||
|
"wayland-protocols-wlr",
|
||||||
|
"wayland-scanner",
|
||||||
|
"xkeysym",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "smithay-clipboard"
|
name = "smithay-clipboard"
|
||||||
version = "0.6.6"
|
version = "0.7.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8"
|
checksum = "0bb62b280ce5a5cba847669933a0948d00904cf83845c944eae96a4738cea1a6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"libc",
|
||||||
"smithay-client-toolkit",
|
"smithay-client-toolkit",
|
||||||
"wayland-client 0.29.5",
|
"wayland-backend",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "smol_str"
|
||||||
|
version = "0.2.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
|
||||||
|
dependencies = [
|
||||||
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -5276,23 +5336,23 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tiny-skia"
|
name = "tiny-skia"
|
||||||
version = "0.8.4"
|
version = "0.11.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67"
|
checksum = "b6a067b809476893fce6a254cf285850ff69c847e6cfbade6a20b655b6c7e80d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrayref",
|
"arrayref",
|
||||||
"arrayvec",
|
"arrayvec",
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"png",
|
"log",
|
||||||
"tiny-skia-path",
|
"tiny-skia-path",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tiny-skia-path"
|
name = "tiny-skia-path"
|
||||||
version = "0.8.4"
|
version = "0.11.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c"
|
checksum = "5de35e8a90052baaaf61f171680ac2f8e925a1e43ea9d2e3a00514772250e541"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrayref",
|
"arrayref",
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
|
@ -5662,20 +5722,15 @@ version = "0.2.15"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "vec_map"
|
|
||||||
version = "0.8.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "vergen"
|
name = "vergen"
|
||||||
version = "8.2.10"
|
version = "8.3.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1a78365c3f8ca9dc5428a9f5c6349558c3f9f3eeb65e3fc00b6a981379462947"
|
checksum = "ec0d895592fa7710eba03fe072e614e3dc6a61ab76ae7ae10d2eb4a7ed5b00ca"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"cargo_metadata",
|
"cargo_metadata",
|
||||||
|
"cfg-if",
|
||||||
"regex",
|
"regex",
|
||||||
"rustversion",
|
"rustversion",
|
||||||
"time",
|
"time",
|
||||||
|
@ -5818,23 +5873,7 @@ dependencies = [
|
||||||
"nix 0.26.4",
|
"nix 0.26.4",
|
||||||
"scoped-tls",
|
"scoped-tls",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"wayland-sys 0.31.1",
|
"wayland-sys",
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wayland-client"
|
|
||||||
version = "0.29.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags 1.3.2",
|
|
||||||
"downcast-rs",
|
|
||||||
"libc",
|
|
||||||
"nix 0.24.3",
|
|
||||||
"scoped-tls",
|
|
||||||
"wayland-commons",
|
|
||||||
"wayland-scanner 0.29.5",
|
|
||||||
"wayland-sys 0.29.5",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -5846,44 +5885,31 @@ dependencies = [
|
||||||
"bitflags 2.4.1",
|
"bitflags 2.4.1",
|
||||||
"nix 0.26.4",
|
"nix 0.26.4",
|
||||||
"wayland-backend",
|
"wayland-backend",
|
||||||
"wayland-scanner 0.31.0",
|
"wayland-scanner",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wayland-commons"
|
name = "wayland-csd-frame"
|
||||||
version = "0.29.5"
|
version = "0.3.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902"
|
checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"nix 0.24.3",
|
"bitflags 2.4.1",
|
||||||
"once_cell",
|
"cursor-icon",
|
||||||
"smallvec",
|
"wayland-backend",
|
||||||
"wayland-sys 0.29.5",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wayland-cursor"
|
name = "wayland-cursor"
|
||||||
version = "0.29.5"
|
version = "0.31.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661"
|
checksum = "a44aa20ae986659d6c77d64d808a046996a932aa763913864dc40c359ef7ad5b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"nix 0.24.3",
|
"nix 0.26.4",
|
||||||
"wayland-client 0.29.5",
|
"wayland-client",
|
||||||
"xcursor",
|
"xcursor",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wayland-protocols"
|
|
||||||
version = "0.29.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6"
|
|
||||||
dependencies = [
|
|
||||||
"bitflags 1.3.2",
|
|
||||||
"wayland-client 0.29.5",
|
|
||||||
"wayland-commons",
|
|
||||||
"wayland-scanner 0.29.5",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wayland-protocols"
|
name = "wayland-protocols"
|
||||||
version = "0.31.0"
|
version = "0.31.0"
|
||||||
|
@ -5892,8 +5918,21 @@ checksum = "e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.4.1",
|
"bitflags 2.4.1",
|
||||||
"wayland-backend",
|
"wayland-backend",
|
||||||
"wayland-client 0.31.1",
|
"wayland-client",
|
||||||
"wayland-scanner 0.31.0",
|
"wayland-scanner",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wayland-protocols-plasma"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags 2.4.1",
|
||||||
|
"wayland-backend",
|
||||||
|
"wayland-client",
|
||||||
|
"wayland-protocols",
|
||||||
|
"wayland-scanner",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -5904,20 +5943,9 @@ checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.4.1",
|
"bitflags 2.4.1",
|
||||||
"wayland-backend",
|
"wayland-backend",
|
||||||
"wayland-client 0.31.1",
|
"wayland-client",
|
||||||
"wayland-protocols 0.31.0",
|
"wayland-protocols",
|
||||||
"wayland-scanner 0.31.0",
|
"wayland-scanner",
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wayland-scanner"
|
|
||||||
version = "0.29.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"xml-rs",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -5931,17 +5959,6 @@ dependencies = [
|
||||||
"quote",
|
"quote",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wayland-sys"
|
|
||||||
version = "0.29.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4"
|
|
||||||
dependencies = [
|
|
||||||
"dlib",
|
|
||||||
"lazy_static",
|
|
||||||
"pkg-config",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wayland-sys"
|
name = "wayland-sys"
|
||||||
version = "0.31.1"
|
version = "0.31.1"
|
||||||
|
@ -5950,6 +5967,7 @@ checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dlib",
|
"dlib",
|
||||||
"log",
|
"log",
|
||||||
|
"once_cell",
|
||||||
"pkg-config",
|
"pkg-config",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -5991,7 +6009,7 @@ dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"ndk-context",
|
"ndk-context",
|
||||||
"objc",
|
"objc",
|
||||||
"raw-window-handle",
|
"raw-window-handle 0.5.2",
|
||||||
"url",
|
"url",
|
||||||
"web-sys",
|
"web-sys",
|
||||||
]
|
]
|
||||||
|
@ -6015,7 +6033,7 @@ dependencies = [
|
||||||
"naga",
|
"naga",
|
||||||
"parking_lot",
|
"parking_lot",
|
||||||
"profiling",
|
"profiling",
|
||||||
"raw-window-handle",
|
"raw-window-handle 0.5.2",
|
||||||
"serde",
|
"serde",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"static_assertions",
|
"static_assertions",
|
||||||
|
@ -6040,7 +6058,7 @@ dependencies = [
|
||||||
"naga",
|
"naga",
|
||||||
"parking_lot",
|
"parking_lot",
|
||||||
"profiling",
|
"profiling",
|
||||||
"raw-window-handle",
|
"raw-window-handle 0.5.2",
|
||||||
"ron",
|
"ron",
|
||||||
"rustc-hash",
|
"rustc-hash",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -6082,7 +6100,7 @@ dependencies = [
|
||||||
"parking_lot",
|
"parking_lot",
|
||||||
"profiling",
|
"profiling",
|
||||||
"range-alloc",
|
"range-alloc",
|
||||||
"raw-window-handle",
|
"raw-window-handle 0.5.2",
|
||||||
"renderdoc-sys",
|
"renderdoc-sys",
|
||||||
"rustc-hash",
|
"rustc-hash",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
|
@ -6418,37 +6436,51 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winit"
|
name = "winit"
|
||||||
version = "0.28.7"
|
version = "0.29.10"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94"
|
checksum = "4c824f11941eeae66ec71111cc2674373c772f482b58939bb4066b642aa2ffcf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"ahash",
|
||||||
"android-activity",
|
"android-activity",
|
||||||
"bitflags 1.3.2",
|
"atomic-waker",
|
||||||
|
"bitflags 2.4.1",
|
||||||
|
"bytemuck",
|
||||||
|
"calloop",
|
||||||
"cfg_aliases",
|
"cfg_aliases",
|
||||||
"core-foundation",
|
"core-foundation",
|
||||||
"core-graphics",
|
"core-graphics 0.23.1",
|
||||||
"dispatch",
|
"cursor-icon",
|
||||||
"instant",
|
"icrate",
|
||||||
|
"js-sys",
|
||||||
"libc",
|
"libc",
|
||||||
"log",
|
"log",
|
||||||
"mio",
|
"memmap2",
|
||||||
"ndk",
|
"ndk 0.8.0",
|
||||||
|
"ndk-sys 0.5.0+25.2.9519653",
|
||||||
"objc2",
|
"objc2",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"orbclient",
|
"orbclient",
|
||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"raw-window-handle",
|
"raw-window-handle 0.5.2",
|
||||||
|
"raw-window-handle 0.6.0",
|
||||||
"redox_syscall 0.3.5",
|
"redox_syscall 0.3.5",
|
||||||
|
"rustix",
|
||||||
"sctk-adwaita",
|
"sctk-adwaita",
|
||||||
"smithay-client-toolkit",
|
"smithay-client-toolkit",
|
||||||
|
"smol_str",
|
||||||
|
"unicode-segmentation",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
"wayland-client 0.29.5",
|
"wasm-bindgen-futures",
|
||||||
"wayland-commons",
|
"wayland-backend",
|
||||||
"wayland-protocols 0.29.5",
|
"wayland-client",
|
||||||
"wayland-scanner 0.29.5",
|
"wayland-protocols",
|
||||||
|
"wayland-protocols-plasma",
|
||||||
"web-sys",
|
"web-sys",
|
||||||
"windows-sys 0.45.0",
|
"web-time",
|
||||||
|
"windows-sys 0.48.0",
|
||||||
"x11-dl",
|
"x11-dl",
|
||||||
|
"x11rb 0.13.0",
|
||||||
|
"xkbcommon-dl",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -6494,8 +6526,8 @@ dependencies = [
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tree_magic_mini",
|
"tree_magic_mini",
|
||||||
"wayland-backend",
|
"wayland-backend",
|
||||||
"wayland-client 0.31.1",
|
"wayland-client",
|
||||||
"wayland-protocols 0.31.0",
|
"wayland-protocols",
|
||||||
"wayland-protocols-wlr",
|
"wayland-protocols-wlr",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -6516,11 +6548,26 @@ version = "0.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a"
|
checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gethostname",
|
"gethostname 0.3.0",
|
||||||
"nix 0.26.4",
|
"nix 0.26.4",
|
||||||
"winapi",
|
"winapi",
|
||||||
"winapi-wsapoll",
|
"winapi-wsapoll",
|
||||||
"x11rb-protocol",
|
"x11rb-protocol 0.12.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "x11rb"
|
||||||
|
version = "0.13.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a"
|
||||||
|
dependencies = [
|
||||||
|
"as-raw-xcb-connection",
|
||||||
|
"gethostname 0.4.3",
|
||||||
|
"libc",
|
||||||
|
"libloading 0.8.1",
|
||||||
|
"once_cell",
|
||||||
|
"rustix",
|
||||||
|
"x11rb-protocol 0.13.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -6532,12 +6579,37 @@ dependencies = [
|
||||||
"nix 0.26.4",
|
"nix 0.26.4",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "x11rb-protocol"
|
||||||
|
version = "0.13.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "xcursor"
|
name = "xcursor"
|
||||||
version = "0.3.5"
|
version = "0.3.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
|
checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "xkbcommon-dl"
|
||||||
|
version = "0.4.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags 2.4.1",
|
||||||
|
"dlib",
|
||||||
|
"log",
|
||||||
|
"once_cell",
|
||||||
|
"xkeysym",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "xkeysym"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "xml-rs"
|
name = "xml-rs"
|
||||||
version = "0.8.19"
|
version = "0.8.19"
|
||||||
|
|
|
@ -46,7 +46,7 @@ tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
||||||
naga = { version = "0.14.2", features = ["validate", "wgsl-out"] }
|
naga = { version = "0.14.2", features = ["validate", "wgsl-out"] }
|
||||||
naga_oil = "0.11.0"
|
naga_oil = "0.11.0"
|
||||||
wgpu = "0.18.0"
|
wgpu = "0.18.0"
|
||||||
egui = "0.24.1"
|
egui = "0.25.0"
|
||||||
|
|
||||||
[workspace.lints.rust]
|
[workspace.lints.rust]
|
||||||
# Clippy nightly often adds new/buggy lints that we want to ignore.
|
# Clippy nightly often adds new/buggy lints that we want to ignore.
|
||||||
|
@ -99,3 +99,9 @@ inherits = "release"
|
||||||
# is not yet in the latest wgpu release. TODO: Remove when it is.
|
# is not yet in the latest wgpu release. TODO: Remove when it is.
|
||||||
wgpu = { git = "https://github.com/gfx-rs/wgpu", branch = "v0.18" }
|
wgpu = { git = "https://github.com/gfx-rs/wgpu", branch = "v0.18" }
|
||||||
naga = { git = "https://github.com/gfx-rs/wgpu", branch = "v0.18" }
|
naga = { git = "https://github.com/gfx-rs/wgpu", branch = "v0.18" }
|
||||||
|
|
||||||
|
# https://github.com/emilk/egui/pull/3812
|
||||||
|
egui = { git = "https://github.com/ruffle-rs/egui", branch = "consume_keys"}
|
||||||
|
egui_extras = { git = "https://github.com/ruffle-rs/egui", branch = "consume_keys"}
|
||||||
|
egui-winit = { git = "https://github.com/ruffle-rs/egui", branch = "consume_keys"}
|
||||||
|
egui-wgpu = { git = "https://github.com/ruffle-rs/egui", branch = "consume_keys"}
|
||||||
|
|
|
@ -55,7 +55,7 @@ hashbrown = { version = "0.14.3", features = ["raw"] }
|
||||||
scopeguard = "1.2.0"
|
scopeguard = "1.2.0"
|
||||||
fluent-templates = "0.8.0"
|
fluent-templates = "0.8.0"
|
||||||
egui = { workspace = true, optional = true }
|
egui = { workspace = true, optional = true }
|
||||||
egui_extras = { version = "0.24.2", optional = true }
|
egui_extras = { version = "0.25.0", optional = true }
|
||||||
png = { version = "0.17.11", optional = true }
|
png = { version = "0.17.11", optional = true }
|
||||||
flv-rs = { path = "../flv" }
|
flv-rs = { path = "../flv" }
|
||||||
async-channel = "2.1.1"
|
async-channel = "2.1.1"
|
||||||
|
|
|
@ -14,10 +14,10 @@ workspace = true
|
||||||
clap = { version = "4.4.17", features = ["derive"] }
|
clap = { version = "4.4.17", features = ["derive"] }
|
||||||
cpal = "0.15.2"
|
cpal = "0.15.2"
|
||||||
egui = { workspace = true }
|
egui = { workspace = true }
|
||||||
egui_extras = { version = "0.24.2", features = ["image"] }
|
egui_extras = { version = "0.25.0", features = ["image"] }
|
||||||
egui-wgpu = { version = "0.24.1", features = ["winit"] }
|
egui-wgpu = { version = "0.25.0", features = ["winit"] }
|
||||||
image = { version = "0.24", features = ["png"] }
|
image = { version = "0.24", features = ["png"] }
|
||||||
egui-winit = "0.24.1"
|
egui-winit = "0.25.0"
|
||||||
fontdb = "0.16"
|
fontdb = "0.16"
|
||||||
ruffle_core = { path = "../core", features = ["audio", "clap", "mp3", "nellymoser", "default_compatibility_rules", "egui"] }
|
ruffle_core = { path = "../core", features = ["audio", "clap", "mp3", "nellymoser", "default_compatibility_rules", "egui"] }
|
||||||
ruffle_render = { path = "../render", features = ["clap"] }
|
ruffle_render = { path = "../render", features = ["clap"] }
|
||||||
|
@ -26,7 +26,7 @@ ruffle_video_software = { path = "../video/software", optional = true }
|
||||||
tracing = { workspace = true}
|
tracing = { workspace = true}
|
||||||
tracing-subscriber = { workspace = true }
|
tracing-subscriber = { workspace = true }
|
||||||
generational-arena = "0.2.9"
|
generational-arena = "0.2.9"
|
||||||
winit = "0.28.7"
|
winit = "0.29.10"
|
||||||
webbrowser = "0.8.12"
|
webbrowser = "0.8.12"
|
||||||
url = "2.5.0"
|
url = "2.5.0"
|
||||||
arboard = { version = "3.3.0", features = ["wayland-data-control"] }
|
arboard = { version = "3.3.0", features = ["wayland-data-control"] }
|
||||||
|
|
|
@ -3,8 +3,8 @@ use crate::custom_event::RuffleEvent;
|
||||||
use crate::gui::{GuiController, MENU_HEIGHT};
|
use crate::gui::{GuiController, MENU_HEIGHT};
|
||||||
use crate::player::{PlayerController, PlayerOptions};
|
use crate::player::{PlayerController, PlayerOptions};
|
||||||
use crate::util::{
|
use crate::util::{
|
||||||
get_screen_size, parse_url, pick_file, plot_stats_in_tracy, winit_key_to_char,
|
get_screen_size, parse_url, pick_file, plot_stats_in_tracy, winit_to_ruffle_key_code,
|
||||||
winit_to_ruffle_key_code, winit_to_ruffle_text_control,
|
winit_to_ruffle_text_control,
|
||||||
};
|
};
|
||||||
use anyhow::{Context, Error};
|
use anyhow::{Context, Error};
|
||||||
use ruffle_core::{PlayerEvent, StageDisplayState};
|
use ruffle_core::{PlayerEvent, StageDisplayState};
|
||||||
|
@ -14,8 +14,9 @@ use std::rc::Rc;
|
||||||
use std::time::{Duration, Instant};
|
use std::time::{Duration, Instant};
|
||||||
use url::Url;
|
use url::Url;
|
||||||
use winit::dpi::{LogicalSize, PhysicalPosition, PhysicalSize, Size};
|
use winit::dpi::{LogicalSize, PhysicalPosition, PhysicalSize, Size};
|
||||||
use winit::event::{ElementState, KeyboardInput, ModifiersState, VirtualKeyCode, WindowEvent};
|
use winit::event::{ElementState, KeyEvent, Modifiers, WindowEvent};
|
||||||
use winit::event_loop::{ControlFlow, EventLoop, EventLoopBuilder};
|
use winit::event_loop::{ControlFlow, EventLoop, EventLoopBuilder};
|
||||||
|
use winit::keyboard::{Key, NamedKey};
|
||||||
use winit::window::{Fullscreen, Icon, Window, WindowBuilder};
|
use winit::window::{Fullscreen, Icon, Window, WindowBuilder};
|
||||||
|
|
||||||
pub struct App {
|
pub struct App {
|
||||||
|
@ -35,7 +36,7 @@ impl App {
|
||||||
let icon =
|
let icon =
|
||||||
Icon::from_rgba(icon_bytes.to_vec(), 32, 32).context("Couldn't load app icon")?;
|
Icon::from_rgba(icon_bytes.to_vec(), 32, 32).context("Couldn't load app icon")?;
|
||||||
|
|
||||||
let event_loop = EventLoopBuilder::with_user_event().build();
|
let event_loop = EventLoopBuilder::with_user_event().build()?;
|
||||||
|
|
||||||
let min_window_size = (16, if opt.no_gui { 16 } else { MENU_HEIGHT + 16 }).into();
|
let min_window_size = (16, if opt.no_gui { 16 } else { MENU_HEIGHT + 16 }).into();
|
||||||
let max_window_size = get_screen_size(&event_loop);
|
let max_window_size = get_screen_size(&event_loop);
|
||||||
|
@ -78,7 +79,7 @@ impl App {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn run(mut self) -> ! {
|
pub fn run(mut self) -> Result<(), Error> {
|
||||||
enum LoadingState {
|
enum LoadingState {
|
||||||
Loading,
|
Loading,
|
||||||
WaitingForResize,
|
WaitingForResize,
|
||||||
|
@ -89,7 +90,7 @@ impl App {
|
||||||
let mut time = Instant::now();
|
let mut time = Instant::now();
|
||||||
let mut next_frame_time = None;
|
let mut next_frame_time = None;
|
||||||
let mut minimized = false;
|
let mut minimized = false;
|
||||||
let mut modifiers = ModifiersState::empty();
|
let mut modifiers = Modifiers::default();
|
||||||
let mut fullscreen_down = false;
|
let mut fullscreen_down = false;
|
||||||
|
|
||||||
if self.opt.movie_url.is_none() {
|
if self.opt.movie_url.is_none() {
|
||||||
|
@ -100,10 +101,10 @@ impl App {
|
||||||
|
|
||||||
// Poll UI events.
|
// Poll UI events.
|
||||||
let event_loop = self.event_loop.take().expect("App already running");
|
let event_loop = self.event_loop.take().expect("App already running");
|
||||||
event_loop.run(move |event, _window_target, control_flow| {
|
event_loop.run(move |event, elwt| {
|
||||||
let mut check_redraw = false;
|
let mut check_redraw = false;
|
||||||
match event {
|
match event {
|
||||||
winit::event::Event::LoopDestroyed => {
|
winit::event::Event::LoopExiting => {
|
||||||
if let Some(mut player) = self.player.get() {
|
if let Some(mut player) = self.player.get() {
|
||||||
player.flush_shared_objects();
|
player.flush_shared_objects();
|
||||||
}
|
}
|
||||||
|
@ -112,9 +113,9 @@ impl App {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Core loop
|
// Core loop
|
||||||
winit::event::Event::MainEventsCleared
|
// [NA] This used to be called `MainEventsCleared`, but I think the behaviour is different now.
|
||||||
if matches!(loaded, LoadingState::Loaded) =>
|
// We should look at changing our tick to happen somewhere else if we see any behavioural problems.
|
||||||
{
|
winit::event::Event::AboutToWait if matches!(loaded, LoadingState::Loaded) => {
|
||||||
let new_time = Instant::now();
|
let new_time = Instant::now();
|
||||||
let dt = new_time.duration_since(time).as_micros();
|
let dt = new_time.duration_since(time).as_micros();
|
||||||
if dt > 0 {
|
if dt > 0 {
|
||||||
|
@ -130,7 +131,10 @@ impl App {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Render
|
// Render
|
||||||
winit::event::Event::RedrawRequested(_) => {
|
winit::event::Event::WindowEvent {
|
||||||
|
event: WindowEvent::RedrawRequested,
|
||||||
|
..
|
||||||
|
} => {
|
||||||
// Don't render when minimized to avoid potential swap chain errors in `wgpu`.
|
// Don't render when minimized to avoid potential swap chain errors in `wgpu`.
|
||||||
if !minimized {
|
if !minimized {
|
||||||
if let Some(mut player) = self.player.get() {
|
if let Some(mut player) = self.player.get() {
|
||||||
|
@ -156,7 +160,7 @@ impl App {
|
||||||
};
|
};
|
||||||
match event {
|
match event {
|
||||||
WindowEvent::CloseRequested => {
|
WindowEvent::CloseRequested => {
|
||||||
*control_flow = ControlFlow::Exit;
|
elwt.exit();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
WindowEvent::Resized(size) => {
|
WindowEvent::Resized(size) => {
|
||||||
|
@ -211,7 +215,7 @@ impl App {
|
||||||
MouseButton::Left => RuffleMouseButton::Left,
|
MouseButton::Left => RuffleMouseButton::Left,
|
||||||
MouseButton::Right => RuffleMouseButton::Right,
|
MouseButton::Right => RuffleMouseButton::Right,
|
||||||
MouseButton::Middle => RuffleMouseButton::Middle,
|
MouseButton::Middle => RuffleMouseButton::Middle,
|
||||||
MouseButton::Other(_) => RuffleMouseButton::Unknown,
|
_ => RuffleMouseButton::Unknown,
|
||||||
};
|
};
|
||||||
let event = match state {
|
let event = match state {
|
||||||
ElementState::Pressed => PlayerEvent::MouseDown { x, y, button },
|
ElementState::Pressed => PlayerEvent::MouseDown { x, y, button },
|
||||||
|
@ -260,14 +264,14 @@ impl App {
|
||||||
WindowEvent::ModifiersChanged(new_modifiers) => {
|
WindowEvent::ModifiersChanged(new_modifiers) => {
|
||||||
modifiers = new_modifiers;
|
modifiers = new_modifiers;
|
||||||
}
|
}
|
||||||
WindowEvent::KeyboardInput { input, .. } => {
|
WindowEvent::KeyboardInput { event, .. } => {
|
||||||
// Handle fullscreen keyboard shortcuts: Alt+Return, Escape.
|
// Handle fullscreen keyboard shortcuts: Alt+Return, Escape.
|
||||||
match input {
|
match event {
|
||||||
KeyboardInput {
|
KeyEvent {
|
||||||
state: ElementState::Pressed,
|
state: ElementState::Pressed,
|
||||||
virtual_keycode: Some(VirtualKeyCode::Return),
|
logical_key: Key::Named(NamedKey::Enter),
|
||||||
..
|
..
|
||||||
} if modifiers.alt() => {
|
} if modifiers.state().alt_key() => {
|
||||||
if !fullscreen_down {
|
if !fullscreen_down {
|
||||||
if let Some(mut player) = self.player.get() {
|
if let Some(mut player) = self.player.get() {
|
||||||
player.update(|uc| {
|
player.update(|uc| {
|
||||||
|
@ -278,16 +282,16 @@ impl App {
|
||||||
fullscreen_down = true;
|
fullscreen_down = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
KeyboardInput {
|
KeyEvent {
|
||||||
state: ElementState::Released,
|
state: ElementState::Released,
|
||||||
virtual_keycode: Some(VirtualKeyCode::Return),
|
logical_key: Key::Named(NamedKey::Enter),
|
||||||
..
|
..
|
||||||
} if fullscreen_down => {
|
} if fullscreen_down => {
|
||||||
fullscreen_down = false;
|
fullscreen_down = false;
|
||||||
}
|
}
|
||||||
KeyboardInput {
|
KeyEvent {
|
||||||
state: ElementState::Pressed,
|
state: ElementState::Pressed,
|
||||||
virtual_keycode: Some(VirtualKeyCode::Escape),
|
logical_key: Key::Named(NamedKey::Escape),
|
||||||
..
|
..
|
||||||
} => {
|
} => {
|
||||||
if let Some(mut player) = self.player.get() {
|
if let Some(mut player) = self.player.get() {
|
||||||
|
@ -304,38 +308,42 @@ impl App {
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(key) = input.virtual_keycode {
|
let key_code = winit_to_ruffle_key_code(&event);
|
||||||
let key_code = winit_to_ruffle_key_code(key);
|
// [NA] TODO: This event used to give a single char. `last()` is functionally the same,
|
||||||
let key_char = winit_key_to_char(key, modifiers.shift());
|
// but we may want to be better at this in the future.
|
||||||
match input.state {
|
let key_char = event.text.clone().and_then(|text| text.chars().last());
|
||||||
|
let mut allow_text = true;
|
||||||
|
|
||||||
|
match &event.state {
|
||||||
ElementState::Pressed => {
|
ElementState::Pressed => {
|
||||||
self.player.handle_event(PlayerEvent::KeyDown {
|
self.player
|
||||||
key_code,
|
.handle_event(PlayerEvent::KeyDown { key_code, key_char });
|
||||||
key_char,
|
|
||||||
});
|
|
||||||
if let Some(control_code) =
|
if let Some(control_code) =
|
||||||
winit_to_ruffle_text_control(key, modifiers)
|
winit_to_ruffle_text_control(&event, &modifiers)
|
||||||
{
|
{
|
||||||
self.player.handle_event(PlayerEvent::TextControl {
|
self.player.handle_event(PlayerEvent::TextControl {
|
||||||
code: control_code,
|
code: control_code,
|
||||||
});
|
});
|
||||||
|
allow_text = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ElementState::Released => {
|
ElementState::Released => {
|
||||||
self.player.handle_event(PlayerEvent::KeyUp {
|
self.player
|
||||||
key_code,
|
.handle_event(PlayerEvent::KeyUp { key_code, key_char });
|
||||||
key_char,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
check_redraw = true;
|
check_redraw = true;
|
||||||
|
|
||||||
|
if allow_text {
|
||||||
|
if let Some(text) = event.text {
|
||||||
|
for codepoint in text.chars() {
|
||||||
|
self.player
|
||||||
|
.handle_event(PlayerEvent::TextInput { codepoint });
|
||||||
}
|
}
|
||||||
}
|
|
||||||
WindowEvent::ReceivedCharacter(codepoint) => {
|
|
||||||
let event = PlayerEvent::TextInput { codepoint };
|
|
||||||
self.player.handle_event(event);
|
|
||||||
check_redraw = true;
|
check_redraw = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -385,7 +393,7 @@ impl App {
|
||||||
self.window.scale_factor(),
|
self.window.scale_factor(),
|
||||||
);
|
);
|
||||||
|
|
||||||
self.window.set_inner_size(window_size);
|
let _ = self.window.request_inner_size(window_size);
|
||||||
self.window.set_fullscreen(if self.opt.fullscreen {
|
self.window.set_fullscreen(if self.opt.fullscreen {
|
||||||
Some(Fullscreen::Borderless(None))
|
Some(Fullscreen::Borderless(None))
|
||||||
} else {
|
} else {
|
||||||
|
@ -441,7 +449,7 @@ impl App {
|
||||||
}
|
}
|
||||||
|
|
||||||
winit::event::Event::UserEvent(RuffleEvent::ExitRequested) => {
|
winit::event::Event::UserEvent(RuffleEvent::ExitRequested) => {
|
||||||
*control_flow = ControlFlow::Exit;
|
elwt.exit();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -458,7 +466,7 @@ impl App {
|
||||||
}
|
}
|
||||||
|
|
||||||
// After polling events, sleep the event loop until the next event or the next frame.
|
// After polling events, sleep the event loop until the next event or the next frame.
|
||||||
*control_flow = if matches!(loaded, LoadingState::Loaded) {
|
elwt.set_control_flow(if matches!(loaded, LoadingState::Loaded) {
|
||||||
if let Some(next_frame_time) = next_frame_time {
|
if let Some(next_frame_time) = next_frame_time {
|
||||||
ControlFlow::WaitUntil(next_frame_time)
|
ControlFlow::WaitUntil(next_frame_time)
|
||||||
} else {
|
} else {
|
||||||
|
@ -468,7 +476,8 @@ impl App {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ControlFlow::Wait
|
ControlFlow::Wait
|
||||||
};
|
|
||||||
});
|
});
|
||||||
|
})?;
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,6 @@ use winit::window::{Theme, Window};
|
||||||
/// Integration layer connecting wgpu+winit to egui.
|
/// Integration layer connecting wgpu+winit to egui.
|
||||||
pub struct GuiController {
|
pub struct GuiController {
|
||||||
descriptors: Arc<Descriptors>,
|
descriptors: Arc<Descriptors>,
|
||||||
egui_ctx: egui::Context,
|
|
||||||
egui_winit: egui_winit::State,
|
egui_winit: egui_winit::State,
|
||||||
egui_renderer: egui_wgpu::renderer::Renderer,
|
egui_renderer: egui_wgpu::renderer::Renderer,
|
||||||
gui: RuffleGui,
|
gui: RuffleGui,
|
||||||
|
@ -92,7 +91,8 @@ impl GuiController {
|
||||||
egui_ctx.set_visuals(egui::Visuals::light());
|
egui_ctx.set_visuals(egui::Visuals::light());
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut egui_winit = egui_winit::State::new(ViewportId::ROOT, window.as_ref(), None, None);
|
let mut egui_winit =
|
||||||
|
egui_winit::State::new(egui_ctx, ViewportId::ROOT, window.as_ref(), None, None);
|
||||||
egui_winit.set_max_texture_side(descriptors.limits.max_texture_dimension_2d as usize);
|
egui_winit.set_max_texture_side(descriptors.limits.max_texture_dimension_2d as usize);
|
||||||
|
|
||||||
let movie_view_renderer = Arc::new(MovieViewRenderer::new(
|
let movie_view_renderer = Arc::new(MovieViewRenderer::new(
|
||||||
|
@ -107,13 +107,12 @@ impl GuiController {
|
||||||
let gui = RuffleGui::new(event_loop, opt.movie_url.clone(), PlayerOptions::from(opt));
|
let gui = RuffleGui::new(event_loop, opt.movie_url.clone(), PlayerOptions::from(opt));
|
||||||
let system_fonts =
|
let system_fonts =
|
||||||
load_system_fonts(font_database, gui.locale.to_owned()).unwrap_or_default();
|
load_system_fonts(font_database, gui.locale.to_owned()).unwrap_or_default();
|
||||||
egui_ctx.set_fonts(system_fonts);
|
egui_winit.egui_ctx().set_fonts(system_fonts);
|
||||||
|
|
||||||
egui_extras::install_image_loaders(&egui_ctx);
|
egui_extras::install_image_loaders(egui_winit.egui_ctx());
|
||||||
|
|
||||||
Ok(Self {
|
Ok(Self {
|
||||||
descriptors: Arc::new(descriptors),
|
descriptors: Arc::new(descriptors),
|
||||||
egui_ctx,
|
|
||||||
egui_winit,
|
egui_winit,
|
||||||
egui_renderer,
|
egui_renderer,
|
||||||
gui,
|
gui,
|
||||||
|
@ -163,10 +162,10 @@ impl GuiController {
|
||||||
Theme::Dark => egui::Visuals::dark(),
|
Theme::Dark => egui::Visuals::dark(),
|
||||||
Theme::Light => egui::Visuals::light(),
|
Theme::Light => egui::Visuals::light(),
|
||||||
};
|
};
|
||||||
self.egui_ctx.set_visuals(visuals);
|
self.egui_winit.egui_ctx().set_visuals(visuals);
|
||||||
}
|
}
|
||||||
|
|
||||||
let response = self.egui_winit.on_window_event(&self.egui_ctx, event);
|
let response = self.egui_winit.on_window_event(&self.window, event);
|
||||||
if response.repaint {
|
if response.repaint {
|
||||||
self.window.request_redraw();
|
self.window.request_redraw();
|
||||||
}
|
}
|
||||||
|
@ -203,7 +202,7 @@ impl GuiController {
|
||||||
|
|
||||||
let raw_input = self.egui_winit.take_egui_input(&self.window);
|
let raw_input = self.egui_winit.take_egui_input(&self.window);
|
||||||
let show_menu = self.window.fullscreen().is_none() && !self.no_gui;
|
let show_menu = self.window.fullscreen().is_none() && !self.no_gui;
|
||||||
let mut full_output = self.egui_ctx.run(raw_input, |context| {
|
let mut full_output = self.egui_winit.egui_ctx().run(raw_input, |context| {
|
||||||
self.gui.update(
|
self.gui.update(
|
||||||
context,
|
context,
|
||||||
show_menu,
|
show_menu,
|
||||||
|
@ -222,7 +221,7 @@ impl GuiController {
|
||||||
.repaint_delay;
|
.repaint_delay;
|
||||||
|
|
||||||
// If we're not in a UI, tell egui which cursor we prefer to use instead
|
// If we're not in a UI, tell egui which cursor we prefer to use instead
|
||||||
if !self.egui_ctx.wants_pointer_input() {
|
if !self.egui_winit.egui_ctx().wants_pointer_input() {
|
||||||
if let Some(player) = player.as_deref() {
|
if let Some(player) = player.as_deref() {
|
||||||
full_output.platform_output.cursor_icon = player
|
full_output.platform_output.cursor_icon = player
|
||||||
.ui()
|
.ui()
|
||||||
|
@ -231,14 +230,12 @@ impl GuiController {
|
||||||
.cursor();
|
.cursor();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.egui_winit.handle_platform_output(
|
self.egui_winit
|
||||||
&self.window,
|
.handle_platform_output(&self.window, full_output.platform_output);
|
||||||
&self.egui_ctx,
|
|
||||||
full_output.platform_output,
|
|
||||||
);
|
|
||||||
|
|
||||||
let clipped_primitives = self
|
let clipped_primitives = self
|
||||||
.egui_ctx
|
.egui_winit
|
||||||
|
.egui_ctx()
|
||||||
.tessellate(full_output.shapes, full_output.pixels_per_point);
|
.tessellate(full_output.shapes, full_output.pixels_per_point);
|
||||||
|
|
||||||
let scale_factor = self.window.scale_factor() as f32;
|
let scale_factor = self.window.scale_factor() as f32;
|
||||||
|
|
|
@ -159,7 +159,7 @@ fn main() -> Result<(), Error> {
|
||||||
let result = if opt.timedemo {
|
let result = if opt.timedemo {
|
||||||
time_demo::run_timedemo(opt)
|
time_demo::run_timedemo(opt)
|
||||||
} else {
|
} else {
|
||||||
App::new(opt).map(|app| app.run())
|
App::new(opt).and_then(|app| app.run())
|
||||||
};
|
};
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
if let Err(error) = &result {
|
if let Err(error) = &result {
|
||||||
|
|
|
@ -5,39 +5,40 @@ use ruffle_core::events::{KeyCode, TextControlCode};
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use url::Url;
|
use url::Url;
|
||||||
use winit::dpi::PhysicalSize;
|
use winit::dpi::PhysicalSize;
|
||||||
use winit::event::{ModifiersState, VirtualKeyCode};
|
use winit::event::{KeyEvent, Modifiers};
|
||||||
use winit::event_loop::EventLoop;
|
use winit::event_loop::EventLoop;
|
||||||
|
use winit::keyboard::{Key, KeyLocation, NamedKey};
|
||||||
|
|
||||||
/// Converts a `VirtualKeyCode` and `ModifiersState` to a Ruffle `TextControlCode`.
|
/// Converts a winit event to a Ruffle `TextControlCode`.
|
||||||
/// Returns `None` if there is no match.
|
/// Returns `None` if there is no match.
|
||||||
/// TODO: Handle Ctrl+Arrows and Home/End keys
|
/// TODO: Handle Ctrl+Arrows and Home/End keys
|
||||||
pub fn winit_to_ruffle_text_control(
|
pub fn winit_to_ruffle_text_control(
|
||||||
key: VirtualKeyCode,
|
event: &KeyEvent,
|
||||||
modifiers: ModifiersState,
|
modifiers: &Modifiers,
|
||||||
) -> Option<TextControlCode> {
|
) -> Option<TextControlCode> {
|
||||||
let shift = modifiers.contains(ModifiersState::SHIFT);
|
let shift = modifiers.state().shift_key();
|
||||||
let ctrl_cmd = modifiers.contains(ModifiersState::CTRL)
|
let ctrl_cmd = modifiers.state().control_key()
|
||||||
|| (modifiers.contains(ModifiersState::LOGO) && cfg!(target_os = "macos"));
|
|| (modifiers.state().super_key() && cfg!(target_os = "macos"));
|
||||||
if ctrl_cmd {
|
if ctrl_cmd {
|
||||||
match key {
|
match event.logical_key.as_ref() {
|
||||||
VirtualKeyCode::A => Some(TextControlCode::SelectAll),
|
Key::Character("a") => Some(TextControlCode::SelectAll),
|
||||||
VirtualKeyCode::C => Some(TextControlCode::Copy),
|
Key::Character("c") => Some(TextControlCode::Copy),
|
||||||
VirtualKeyCode::V => Some(TextControlCode::Paste),
|
Key::Character("v") => Some(TextControlCode::Paste),
|
||||||
VirtualKeyCode::X => Some(TextControlCode::Cut),
|
Key::Character("x") => Some(TextControlCode::Cut),
|
||||||
_ => None,
|
_ => None,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
match key {
|
match event.logical_key.as_ref() {
|
||||||
VirtualKeyCode::Back => Some(TextControlCode::Backspace),
|
Key::Named(NamedKey::Backspace) => Some(TextControlCode::Backspace),
|
||||||
VirtualKeyCode::Delete => Some(TextControlCode::Delete),
|
Key::Named(NamedKey::Delete) => Some(TextControlCode::Delete),
|
||||||
VirtualKeyCode::Left => {
|
Key::Named(NamedKey::ArrowLeft) => {
|
||||||
if shift {
|
if shift {
|
||||||
Some(TextControlCode::SelectLeft)
|
Some(TextControlCode::SelectLeft)
|
||||||
} else {
|
} else {
|
||||||
Some(TextControlCode::MoveLeft)
|
Some(TextControlCode::MoveLeft)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
VirtualKeyCode::Right => {
|
Key::Named(NamedKey::ArrowRight) => {
|
||||||
if shift {
|
if shift {
|
||||||
Some(TextControlCode::SelectRight)
|
Some(TextControlCode::SelectRight)
|
||||||
} else {
|
} else {
|
||||||
|
@ -49,241 +50,121 @@ pub fn winit_to_ruffle_text_control(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Convert a winit `VirtualKeyCode` into a Ruffle `KeyCode`.
|
/// Convert a winit event into a Ruffle `KeyCode`.
|
||||||
/// Return `KeyCode::Unknown` if there is no matching Flash key code.
|
/// Return `KeyCode::Unknown` if there is no matching Flash key code.
|
||||||
pub fn winit_to_ruffle_key_code(key_code: VirtualKeyCode) -> KeyCode {
|
pub fn winit_to_ruffle_key_code(event: &KeyEvent) -> KeyCode {
|
||||||
match key_code {
|
match event.logical_key.as_ref() {
|
||||||
VirtualKeyCode::Back => KeyCode::Backspace,
|
Key::Named(NamedKey::Backspace) => KeyCode::Backspace,
|
||||||
VirtualKeyCode::Tab => KeyCode::Tab,
|
Key::Named(NamedKey::Tab) => KeyCode::Tab,
|
||||||
VirtualKeyCode::Return => KeyCode::Return,
|
Key::Named(NamedKey::Enter) => KeyCode::Return,
|
||||||
VirtualKeyCode::LShift | VirtualKeyCode::RShift => KeyCode::Shift,
|
Key::Named(NamedKey::Shift) => KeyCode::Shift,
|
||||||
VirtualKeyCode::LControl | VirtualKeyCode::RControl => KeyCode::Control,
|
Key::Named(NamedKey::Control) => KeyCode::Control,
|
||||||
VirtualKeyCode::LAlt | VirtualKeyCode::RAlt => KeyCode::Alt,
|
Key::Named(NamedKey::Alt) => KeyCode::Alt,
|
||||||
VirtualKeyCode::Capital => KeyCode::CapsLock,
|
Key::Named(NamedKey::CapsLock) => KeyCode::CapsLock,
|
||||||
VirtualKeyCode::Escape => KeyCode::Escape,
|
Key::Named(NamedKey::Escape) => KeyCode::Escape,
|
||||||
VirtualKeyCode::Space => KeyCode::Space,
|
Key::Named(NamedKey::Space) => KeyCode::Space,
|
||||||
VirtualKeyCode::Key0 => KeyCode::Key0,
|
Key::Character("0") if event.location == KeyLocation::Numpad => KeyCode::Numpad0,
|
||||||
VirtualKeyCode::Key1 => KeyCode::Key1,
|
Key::Character("1") if event.location == KeyLocation::Numpad => KeyCode::Numpad1,
|
||||||
VirtualKeyCode::Key2 => KeyCode::Key2,
|
Key::Character("2") if event.location == KeyLocation::Numpad => KeyCode::Numpad2,
|
||||||
VirtualKeyCode::Key3 => KeyCode::Key3,
|
Key::Character("3") if event.location == KeyLocation::Numpad => KeyCode::Numpad3,
|
||||||
VirtualKeyCode::Key4 => KeyCode::Key4,
|
Key::Character("4") if event.location == KeyLocation::Numpad => KeyCode::Numpad4,
|
||||||
VirtualKeyCode::Key5 => KeyCode::Key5,
|
Key::Character("5") if event.location == KeyLocation::Numpad => KeyCode::Numpad5,
|
||||||
VirtualKeyCode::Key6 => KeyCode::Key6,
|
Key::Character("6") if event.location == KeyLocation::Numpad => KeyCode::Numpad6,
|
||||||
VirtualKeyCode::Key7 => KeyCode::Key7,
|
Key::Character("7") if event.location == KeyLocation::Numpad => KeyCode::Numpad7,
|
||||||
VirtualKeyCode::Key8 => KeyCode::Key8,
|
Key::Character("8") if event.location == KeyLocation::Numpad => KeyCode::Numpad8,
|
||||||
VirtualKeyCode::Key9 => KeyCode::Key9,
|
Key::Character("9") if event.location == KeyLocation::Numpad => KeyCode::Numpad9,
|
||||||
VirtualKeyCode::A => KeyCode::A,
|
Key::Character("0") => KeyCode::Key0,
|
||||||
VirtualKeyCode::B => KeyCode::B,
|
Key::Character("1") => KeyCode::Key1,
|
||||||
VirtualKeyCode::C => KeyCode::C,
|
Key::Character("2") => KeyCode::Key2,
|
||||||
VirtualKeyCode::D => KeyCode::D,
|
Key::Character("3") => KeyCode::Key3,
|
||||||
VirtualKeyCode::E => KeyCode::E,
|
Key::Character("4") => KeyCode::Key4,
|
||||||
VirtualKeyCode::F => KeyCode::F,
|
Key::Character("5") => KeyCode::Key5,
|
||||||
VirtualKeyCode::G => KeyCode::G,
|
Key::Character("6") => KeyCode::Key6,
|
||||||
VirtualKeyCode::H => KeyCode::H,
|
Key::Character("7") => KeyCode::Key7,
|
||||||
VirtualKeyCode::I => KeyCode::I,
|
Key::Character("8") => KeyCode::Key8,
|
||||||
VirtualKeyCode::J => KeyCode::J,
|
Key::Character("9") => KeyCode::Key9,
|
||||||
VirtualKeyCode::K => KeyCode::K,
|
Key::Character("a") => KeyCode::A,
|
||||||
VirtualKeyCode::L => KeyCode::L,
|
Key::Character("b") => KeyCode::B,
|
||||||
VirtualKeyCode::M => KeyCode::M,
|
Key::Character("c") => KeyCode::C,
|
||||||
VirtualKeyCode::N => KeyCode::N,
|
Key::Character("d") => KeyCode::D,
|
||||||
VirtualKeyCode::O => KeyCode::O,
|
Key::Character("e") => KeyCode::E,
|
||||||
VirtualKeyCode::P => KeyCode::P,
|
Key::Character("f") => KeyCode::F,
|
||||||
VirtualKeyCode::Q => KeyCode::Q,
|
Key::Character("g") => KeyCode::G,
|
||||||
VirtualKeyCode::R => KeyCode::R,
|
Key::Character("h") => KeyCode::H,
|
||||||
VirtualKeyCode::S => KeyCode::S,
|
Key::Character("i") => KeyCode::I,
|
||||||
VirtualKeyCode::T => KeyCode::T,
|
Key::Character("j") => KeyCode::J,
|
||||||
VirtualKeyCode::U => KeyCode::U,
|
Key::Character("k") => KeyCode::K,
|
||||||
VirtualKeyCode::V => KeyCode::V,
|
Key::Character("l") => KeyCode::L,
|
||||||
VirtualKeyCode::W => KeyCode::W,
|
Key::Character("m") => KeyCode::M,
|
||||||
VirtualKeyCode::X => KeyCode::X,
|
Key::Character("n") => KeyCode::N,
|
||||||
VirtualKeyCode::Y => KeyCode::Y,
|
Key::Character("o") => KeyCode::O,
|
||||||
VirtualKeyCode::Z => KeyCode::Z,
|
Key::Character("p") => KeyCode::P,
|
||||||
VirtualKeyCode::Semicolon => KeyCode::Semicolon,
|
Key::Character("q") => KeyCode::Q,
|
||||||
VirtualKeyCode::Equals => KeyCode::Equals,
|
Key::Character("r") => KeyCode::R,
|
||||||
VirtualKeyCode::Comma => KeyCode::Comma,
|
Key::Character("s") => KeyCode::S,
|
||||||
VirtualKeyCode::Minus => KeyCode::Minus,
|
Key::Character("t") => KeyCode::T,
|
||||||
VirtualKeyCode::Period => KeyCode::Period,
|
Key::Character("u") => KeyCode::U,
|
||||||
VirtualKeyCode::Slash => KeyCode::Slash,
|
Key::Character("v") => KeyCode::V,
|
||||||
VirtualKeyCode::Grave => KeyCode::Grave,
|
Key::Character("w") => KeyCode::W,
|
||||||
VirtualKeyCode::LBracket => KeyCode::LBracket,
|
Key::Character("x") => KeyCode::X,
|
||||||
VirtualKeyCode::Backslash => KeyCode::Backslash,
|
Key::Character("y") => KeyCode::Y,
|
||||||
VirtualKeyCode::RBracket => KeyCode::RBracket,
|
Key::Character("z") => KeyCode::Z,
|
||||||
VirtualKeyCode::Apostrophe => KeyCode::Apostrophe,
|
Key::Character(";") => KeyCode::Semicolon,
|
||||||
VirtualKeyCode::Numpad0 => KeyCode::Numpad0,
|
Key::Character("=") => KeyCode::Equals,
|
||||||
VirtualKeyCode::Numpad1 => KeyCode::Numpad1,
|
Key::Character(",") => KeyCode::Comma,
|
||||||
VirtualKeyCode::Numpad2 => KeyCode::Numpad2,
|
Key::Character("-") if event.location == KeyLocation::Numpad => KeyCode::NumpadMinus,
|
||||||
VirtualKeyCode::Numpad3 => KeyCode::Numpad3,
|
Key::Character("-") => KeyCode::Minus,
|
||||||
VirtualKeyCode::Numpad4 => KeyCode::Numpad4,
|
Key::Character(".") if event.location == KeyLocation::Numpad => KeyCode::NumpadPeriod,
|
||||||
VirtualKeyCode::Numpad5 => KeyCode::Numpad5,
|
Key::Character(".") => KeyCode::Period,
|
||||||
VirtualKeyCode::Numpad6 => KeyCode::Numpad6,
|
Key::Character("/") if event.location == KeyLocation::Numpad => KeyCode::NumpadSlash,
|
||||||
VirtualKeyCode::Numpad7 => KeyCode::Numpad7,
|
Key::Character("/") => KeyCode::Slash,
|
||||||
VirtualKeyCode::Numpad8 => KeyCode::Numpad8,
|
Key::Character("`") => KeyCode::Grave,
|
||||||
VirtualKeyCode::Numpad9 => KeyCode::Numpad9,
|
Key::Character("[") => KeyCode::LBracket,
|
||||||
VirtualKeyCode::NumpadMultiply => KeyCode::Multiply,
|
Key::Character("\\") => KeyCode::Backslash,
|
||||||
VirtualKeyCode::NumpadAdd => KeyCode::Plus,
|
Key::Character("]") => KeyCode::RBracket,
|
||||||
VirtualKeyCode::NumpadSubtract => KeyCode::NumpadMinus,
|
Key::Character("'") => KeyCode::Apostrophe,
|
||||||
VirtualKeyCode::NumpadDecimal => KeyCode::NumpadPeriod,
|
Key::Character("*") => KeyCode::Multiply,
|
||||||
VirtualKeyCode::NumpadDivide => KeyCode::NumpadSlash,
|
Key::Character("+") => KeyCode::Plus,
|
||||||
VirtualKeyCode::PageUp => KeyCode::PgUp,
|
Key::Named(NamedKey::PageUp) => KeyCode::PgUp,
|
||||||
VirtualKeyCode::PageDown => KeyCode::PgDown,
|
Key::Named(NamedKey::PageDown) => KeyCode::PgDown,
|
||||||
VirtualKeyCode::End => KeyCode::End,
|
Key::Named(NamedKey::End) => KeyCode::End,
|
||||||
VirtualKeyCode::Home => KeyCode::Home,
|
Key::Named(NamedKey::Home) => KeyCode::Home,
|
||||||
VirtualKeyCode::Left => KeyCode::Left,
|
Key::Named(NamedKey::ArrowLeft) => KeyCode::Left,
|
||||||
VirtualKeyCode::Up => KeyCode::Up,
|
Key::Named(NamedKey::ArrowUp) => KeyCode::Up,
|
||||||
VirtualKeyCode::Right => KeyCode::Right,
|
Key::Named(NamedKey::ArrowRight) => KeyCode::Right,
|
||||||
VirtualKeyCode::Down => KeyCode::Down,
|
Key::Named(NamedKey::ArrowDown) => KeyCode::Down,
|
||||||
VirtualKeyCode::Insert => KeyCode::Insert,
|
Key::Named(NamedKey::Insert) => KeyCode::Insert,
|
||||||
VirtualKeyCode::Delete => KeyCode::Delete,
|
Key::Named(NamedKey::Delete) => KeyCode::Delete,
|
||||||
VirtualKeyCode::Pause => KeyCode::Pause,
|
Key::Named(NamedKey::Pause) => KeyCode::Pause,
|
||||||
VirtualKeyCode::Scroll => KeyCode::ScrollLock,
|
Key::Named(NamedKey::ScrollLock) => KeyCode::ScrollLock,
|
||||||
VirtualKeyCode::F1 => KeyCode::F1,
|
Key::Named(NamedKey::F1) => KeyCode::F1,
|
||||||
VirtualKeyCode::F2 => KeyCode::F2,
|
Key::Named(NamedKey::F2) => KeyCode::F2,
|
||||||
VirtualKeyCode::F3 => KeyCode::F3,
|
Key::Named(NamedKey::F3) => KeyCode::F3,
|
||||||
VirtualKeyCode::F4 => KeyCode::F4,
|
Key::Named(NamedKey::F4) => KeyCode::F4,
|
||||||
VirtualKeyCode::F5 => KeyCode::F5,
|
Key::Named(NamedKey::F5) => KeyCode::F5,
|
||||||
VirtualKeyCode::F6 => KeyCode::F6,
|
Key::Named(NamedKey::F6) => KeyCode::F6,
|
||||||
VirtualKeyCode::F7 => KeyCode::F7,
|
Key::Named(NamedKey::F7) => KeyCode::F7,
|
||||||
VirtualKeyCode::F8 => KeyCode::F8,
|
Key::Named(NamedKey::F8) => KeyCode::F8,
|
||||||
VirtualKeyCode::F9 => KeyCode::F9,
|
Key::Named(NamedKey::F9) => KeyCode::F9,
|
||||||
VirtualKeyCode::F10 => KeyCode::F10,
|
Key::Named(NamedKey::F10) => KeyCode::F10,
|
||||||
VirtualKeyCode::F11 => KeyCode::F11,
|
Key::Named(NamedKey::F11) => KeyCode::F11,
|
||||||
VirtualKeyCode::F12 => KeyCode::F12,
|
Key::Named(NamedKey::F12) => KeyCode::F12,
|
||||||
VirtualKeyCode::F13 => KeyCode::F13,
|
Key::Named(NamedKey::F13) => KeyCode::F13,
|
||||||
VirtualKeyCode::F14 => KeyCode::F14,
|
Key::Named(NamedKey::F14) => KeyCode::F14,
|
||||||
VirtualKeyCode::F15 => KeyCode::F15,
|
Key::Named(NamedKey::F15) => KeyCode::F15,
|
||||||
VirtualKeyCode::F16 => KeyCode::F16,
|
Key::Named(NamedKey::F16) => KeyCode::F16,
|
||||||
VirtualKeyCode::F17 => KeyCode::F17,
|
Key::Named(NamedKey::F17) => KeyCode::F17,
|
||||||
VirtualKeyCode::F18 => KeyCode::F18,
|
Key::Named(NamedKey::F18) => KeyCode::F18,
|
||||||
VirtualKeyCode::F19 => KeyCode::F19,
|
Key::Named(NamedKey::F19) => KeyCode::F19,
|
||||||
VirtualKeyCode::F20 => KeyCode::F20,
|
Key::Named(NamedKey::F20) => KeyCode::F20,
|
||||||
VirtualKeyCode::F21 => KeyCode::F21,
|
Key::Named(NamedKey::F21) => KeyCode::F21,
|
||||||
VirtualKeyCode::F22 => KeyCode::F22,
|
Key::Named(NamedKey::F22) => KeyCode::F22,
|
||||||
VirtualKeyCode::F23 => KeyCode::F23,
|
Key::Named(NamedKey::F23) => KeyCode::F23,
|
||||||
VirtualKeyCode::F24 => KeyCode::F24,
|
Key::Named(NamedKey::F24) => KeyCode::F24,
|
||||||
_ => KeyCode::Unknown,
|
_ => KeyCode::Unknown,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Return a character for the given key code and shift state.
|
|
||||||
pub fn winit_key_to_char(key_code: VirtualKeyCode, is_shift_down: bool) -> Option<char> {
|
|
||||||
// We need to know the character that a keypress outputs for both key down and key up events,
|
|
||||||
// but the winit keyboard API does not provide a way to do this (winit/#753).
|
|
||||||
// CharacterReceived events are insufficent because they only fire on key down, not on key up.
|
|
||||||
// This is a half-measure to map from keyboard keys back to a character, but does will not work fully
|
|
||||||
// for international layouts.
|
|
||||||
Some(match (key_code, is_shift_down) {
|
|
||||||
(VirtualKeyCode::Space, _) => ' ',
|
|
||||||
(VirtualKeyCode::Key0, _) => '0',
|
|
||||||
(VirtualKeyCode::Key1, _) => '1',
|
|
||||||
(VirtualKeyCode::Key2, _) => '2',
|
|
||||||
(VirtualKeyCode::Key3, _) => '3',
|
|
||||||
(VirtualKeyCode::Key4, _) => '4',
|
|
||||||
(VirtualKeyCode::Key5, _) => '5',
|
|
||||||
(VirtualKeyCode::Key6, _) => '6',
|
|
||||||
(VirtualKeyCode::Key7, _) => '7',
|
|
||||||
(VirtualKeyCode::Key8, _) => '8',
|
|
||||||
(VirtualKeyCode::Key9, _) => '9',
|
|
||||||
(VirtualKeyCode::A, false) => 'a',
|
|
||||||
(VirtualKeyCode::A, true) => 'A',
|
|
||||||
(VirtualKeyCode::B, false) => 'b',
|
|
||||||
(VirtualKeyCode::B, true) => 'B',
|
|
||||||
(VirtualKeyCode::C, false) => 'c',
|
|
||||||
(VirtualKeyCode::C, true) => 'C',
|
|
||||||
(VirtualKeyCode::D, false) => 'd',
|
|
||||||
(VirtualKeyCode::D, true) => 'D',
|
|
||||||
(VirtualKeyCode::E, false) => 'e',
|
|
||||||
(VirtualKeyCode::E, true) => 'E',
|
|
||||||
(VirtualKeyCode::F, false) => 'f',
|
|
||||||
(VirtualKeyCode::F, true) => 'F',
|
|
||||||
(VirtualKeyCode::G, false) => 'g',
|
|
||||||
(VirtualKeyCode::G, true) => 'G',
|
|
||||||
(VirtualKeyCode::H, false) => 'h',
|
|
||||||
(VirtualKeyCode::H, true) => 'H',
|
|
||||||
(VirtualKeyCode::I, false) => 'i',
|
|
||||||
(VirtualKeyCode::I, true) => 'I',
|
|
||||||
(VirtualKeyCode::J, false) => 'j',
|
|
||||||
(VirtualKeyCode::J, true) => 'J',
|
|
||||||
(VirtualKeyCode::K, false) => 'k',
|
|
||||||
(VirtualKeyCode::K, true) => 'K',
|
|
||||||
(VirtualKeyCode::L, false) => 'l',
|
|
||||||
(VirtualKeyCode::L, true) => 'L',
|
|
||||||
(VirtualKeyCode::M, false) => 'm',
|
|
||||||
(VirtualKeyCode::M, true) => 'M',
|
|
||||||
(VirtualKeyCode::N, false) => 'n',
|
|
||||||
(VirtualKeyCode::N, true) => 'N',
|
|
||||||
(VirtualKeyCode::O, false) => 'o',
|
|
||||||
(VirtualKeyCode::O, true) => 'O',
|
|
||||||
(VirtualKeyCode::P, false) => 'p',
|
|
||||||
(VirtualKeyCode::P, true) => 'P',
|
|
||||||
(VirtualKeyCode::Q, false) => 'q',
|
|
||||||
(VirtualKeyCode::Q, true) => 'Q',
|
|
||||||
(VirtualKeyCode::R, false) => 'r',
|
|
||||||
(VirtualKeyCode::R, true) => 'R',
|
|
||||||
(VirtualKeyCode::S, false) => 's',
|
|
||||||
(VirtualKeyCode::S, true) => 'S',
|
|
||||||
(VirtualKeyCode::T, false) => 't',
|
|
||||||
(VirtualKeyCode::T, true) => 'T',
|
|
||||||
(VirtualKeyCode::U, false) => 'u',
|
|
||||||
(VirtualKeyCode::U, true) => 'U',
|
|
||||||
(VirtualKeyCode::V, false) => 'v',
|
|
||||||
(VirtualKeyCode::V, true) => 'V',
|
|
||||||
(VirtualKeyCode::W, false) => 'w',
|
|
||||||
(VirtualKeyCode::W, true) => 'W',
|
|
||||||
(VirtualKeyCode::X, false) => 'x',
|
|
||||||
(VirtualKeyCode::X, true) => 'X',
|
|
||||||
(VirtualKeyCode::Y, false) => 'y',
|
|
||||||
(VirtualKeyCode::Y, true) => 'Y',
|
|
||||||
(VirtualKeyCode::Z, false) => 'z',
|
|
||||||
(VirtualKeyCode::Z, true) => 'Z',
|
|
||||||
|
|
||||||
(VirtualKeyCode::Semicolon, false) => ';',
|
|
||||||
(VirtualKeyCode::Semicolon, true) => ':',
|
|
||||||
(VirtualKeyCode::Equals, false) => '=',
|
|
||||||
(VirtualKeyCode::Equals, true) => '+',
|
|
||||||
(VirtualKeyCode::Comma, false) => ',',
|
|
||||||
(VirtualKeyCode::Comma, true) => '<',
|
|
||||||
(VirtualKeyCode::Minus, false) => '-',
|
|
||||||
(VirtualKeyCode::Minus, true) => '_',
|
|
||||||
(VirtualKeyCode::Period, false) => '.',
|
|
||||||
(VirtualKeyCode::Period, true) => '>',
|
|
||||||
(VirtualKeyCode::Slash, false) => '/',
|
|
||||||
(VirtualKeyCode::Slash, true) => '?',
|
|
||||||
(VirtualKeyCode::Grave, false) => '`',
|
|
||||||
(VirtualKeyCode::Grave, true) => '~',
|
|
||||||
(VirtualKeyCode::LBracket, false) => '[',
|
|
||||||
(VirtualKeyCode::LBracket, true) => '{',
|
|
||||||
(VirtualKeyCode::Backslash, false) => '\\',
|
|
||||||
(VirtualKeyCode::Backslash, true) => '|',
|
|
||||||
(VirtualKeyCode::RBracket, false) => ']',
|
|
||||||
(VirtualKeyCode::RBracket, true) => '}',
|
|
||||||
(VirtualKeyCode::Apostrophe, false) => '\'',
|
|
||||||
(VirtualKeyCode::Apostrophe, true) => '"',
|
|
||||||
(VirtualKeyCode::NumpadMultiply, _) => '*',
|
|
||||||
(VirtualKeyCode::NumpadAdd, _) => '+',
|
|
||||||
(VirtualKeyCode::NumpadSubtract, _) => '-',
|
|
||||||
(VirtualKeyCode::NumpadDecimal, _) => '.',
|
|
||||||
(VirtualKeyCode::NumpadDivide, _) => '/',
|
|
||||||
|
|
||||||
(VirtualKeyCode::Numpad0, false) => '0',
|
|
||||||
(VirtualKeyCode::Numpad1, false) => '1',
|
|
||||||
(VirtualKeyCode::Numpad2, false) => '2',
|
|
||||||
(VirtualKeyCode::Numpad3, false) => '3',
|
|
||||||
(VirtualKeyCode::Numpad4, false) => '4',
|
|
||||||
(VirtualKeyCode::Numpad5, false) => '5',
|
|
||||||
(VirtualKeyCode::Numpad6, false) => '6',
|
|
||||||
(VirtualKeyCode::Numpad7, false) => '7',
|
|
||||||
(VirtualKeyCode::Numpad8, false) => '8',
|
|
||||||
(VirtualKeyCode::Numpad9, false) => '9',
|
|
||||||
(VirtualKeyCode::NumpadEnter, _) => '\r',
|
|
||||||
|
|
||||||
(VirtualKeyCode::Tab, _) => '\t',
|
|
||||||
(VirtualKeyCode::Return, _) => '\r',
|
|
||||||
(VirtualKeyCode::Back, _) => '\u{0008}',
|
|
||||||
|
|
||||||
_ => return None,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get_screen_size(event_loop: &EventLoop<RuffleEvent>) -> PhysicalSize<u32> {
|
pub fn get_screen_size(event_loop: &EventLoop<RuffleEvent>) -> PhysicalSize<u32> {
|
||||||
let mut min_x = 0;
|
let mut min_x = 0;
|
||||||
let mut min_y = 0;
|
let mut min_y = 0;
|
||||||
|
|
Loading…
Reference in New Issue