From 3fe933f781b81a6a69e1550047d2bd8d0e9462ab Mon Sep 17 00:00:00 2001 From: Markus Moenig Date: Mon, 15 Jan 2024 14:34:58 +0700 Subject: [PATCH] Changed window icon mechanics --- Cargo.lock | 140 ------------------------------- creator/Cargo.toml | 3 - creator/embedded/window_logo.png | Bin 0 -> 8544 bytes creator/src/editor.rs | 25 +++--- 4 files changed, 13 insertions(+), 155 deletions(-) create mode 100644 creator/embedded/window_logo.png diff --git a/Cargo.lock b/Cargo.lock index ddde5a61..cce5d7bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -177,12 +177,6 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" -[[package]] -name = "bit_field" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" - [[package]] name = "bitflags" version = "1.3.2" @@ -335,12 +329,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "color_quant" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" - [[package]] name = "com-rs" version = "0.2.1" @@ -429,7 +417,6 @@ dependencies = [ name = "creator" version = "0.8.7" dependencies = [ - "image", "lazy_static", "open", "png", @@ -474,12 +461,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - [[package]] name = "crypto-common" version = "0.1.6" @@ -573,22 +554,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "exr" -version = "1.71.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8" -dependencies = [ - "bit_field", - "flume", - "half", - "lebe", - "miniz_oxide", - "rayon-core", - "smallvec", - "zune-inflate", -] - [[package]] name = "fastrand" version = "2.0.1" @@ -614,15 +579,6 @@ dependencies = [ "miniz_oxide", ] -[[package]] -name = "flume" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" -dependencies = [ - "spin", -] - [[package]] name = "fnv" version = "1.0.7" @@ -796,16 +752,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "gif" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045" -dependencies = [ - "color_quant", - "weezl", -] - [[package]] name = "gimli" version = "0.28.0" @@ -941,15 +887,6 @@ dependencies = [ "system-deps", ] -[[package]] -name = "half" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0" -dependencies = [ - "crunchy", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -1020,24 +957,6 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" -[[package]] -name = "image" -version = "0.24.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23" -dependencies = [ - "bytemuck", - "byteorder", - "color_quant", - "exr", - "gif", - "jpeg-decoder", - "num-traits", - "png", - "qoi", - "tiff", -] - [[package]] name = "indexmap" version = "1.9.3" @@ -1121,15 +1040,6 @@ dependencies = [ "libc", ] -[[package]] -name = "jpeg-decoder" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" -dependencies = [ - "rayon", -] - [[package]] name = "js-sys" version = "0.3.64" @@ -1162,12 +1072,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" -[[package]] -name = "lebe" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" - [[package]] name = "libc" version = "0.2.149" @@ -1689,15 +1593,6 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f89dff0959d98c9758c88826cc002e2c3d0b9dfac4139711d1f30de442f1139b" -[[package]] -name = "qoi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" -dependencies = [ - "bytemuck", -] - [[package]] name = "quote" version = "1.0.33" @@ -2071,15 +1966,6 @@ dependencies = [ "wayland-protocols", ] -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] - [[package]] name = "spirv" version = "0.2.0+1.5.4" @@ -2215,17 +2101,6 @@ dependencies = [ "syn 2.0.38", ] -[[package]] -name = "tiff" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211" -dependencies = [ - "flate2", - "jpeg-decoder", - "weezl", -] - [[package]] name = "tiny-skia" version = "0.8.4" @@ -2670,12 +2545,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "weezl" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" - [[package]] name = "wgpu" version = "0.16.3" @@ -3042,12 +2911,3 @@ name = "xml-rs" version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" - -[[package]] -name = "zune-inflate" -version = "0.2.54" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" -dependencies = [ - "simd-adler32", -] diff --git a/creator/Cargo.toml b/creator/Cargo.toml index 2c7ced40..d59be237 100644 --- a/creator/Cargo.toml +++ b/creator/Cargo.toml @@ -18,9 +18,6 @@ rust-embed = { version = "8", default-features = true, features = ["include-excl png = "0.17" open = "5.0.1" -[target.'cfg(not(target_os = "macos"))'.dependencies] -image_rs = { version = "0.24.8", package = "image" } - [package.metadata.bundle] name = "Eldiron" identifier = "com.moenig.eldiron" diff --git a/creator/embedded/window_logo.png b/creator/embedded/window_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..114fdb8aedcc196b86006e0f1b7263d8fe87d68e GIT binary patch literal 8544 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 C3lfO{ literal 0 HcmV?d00001 diff --git a/creator/src/editor.rs b/creator/src/editor.rs index aaf113ed..a2915d81 100644 --- a/creator/src/editor.rs +++ b/creator/src/editor.rs @@ -52,19 +52,20 @@ impl TheTrait for Editor { } } - fn window_title(&self) -> String { - "Eldiron Creator".to_string() - } - - #[cfg(not(target_os = "macos"))] fn window_icon(&self) -> Option<(Vec, u32, u32)> { - if let Some(image) = image_rs::load_from_memory(include_bytes!("../../build/windows/Eldiron.ico")) { - let image = image.into_rgba8(); - - let (width, height) = image.dimensions(); - - let icon = (image.into_raw(), width, height); - Some(icon) + if let Some(file) = Embedded::get("window_logo.png") { + let data = std::io::Cursor::new(file.data); + + let decoder = png::Decoder::new(data); + if let Ok(mut reader) = decoder.read_info() { + let mut buf = vec![0; reader.output_buffer_size()]; + let info = reader.next_frame(&mut buf).unwrap(); + let bytes = &buf[..info.buffer_size()]; + + Some((bytes.to_vec(), info.width, info.height)) + } else { + None + } } else { None }