feat: add icon

This commit is contained in:
b1n
2024-06-26 03:43:17 +08:00
parent 2b3017cab3
commit 1242262d22
4 changed files with 189 additions and 6 deletions

179
Cargo.lock generated
View File

@@ -232,6 +232,12 @@ 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"
@@ -291,6 +297,12 @@ dependencies = [
"syn 2.0.66",
]
[[package]]
name = "byteorder"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
version = "1.6.0"
@@ -552,6 +564,25 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "crossbeam-deque"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
dependencies = [
"crossbeam-epoch",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-epoch"
version = "0.9.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
dependencies = [
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
version = "0.8.20"
@@ -699,6 +730,12 @@ dependencies = [
"linux-raw-sys 0.6.4",
]
[[package]]
name = "either"
version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
[[package]]
name = "equivalent"
version = "1.0.1"
@@ -740,6 +777,22 @@ dependencies = [
"num-traits",
]
[[package]]
name = "exr"
version = "1.72.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
dependencies = [
"bit_field",
"flume",
"half",
"lebe",
"miniz_oxide",
"rayon-core",
"smallvec",
"zune-inflate",
]
[[package]]
name = "fast-srgb8"
version = "1.0.0"
@@ -787,6 +840,15 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
[[package]]
name = "flume"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
dependencies = [
"spin",
]
[[package]]
name = "font-types"
version = "0.5.5"
@@ -987,6 +1049,16 @@ dependencies = [
"weezl",
]
[[package]]
name = "gif"
version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2"
dependencies = [
"color_quant",
"weezl",
]
[[package]]
name = "gimli"
version = "0.29.0"
@@ -1162,6 +1234,7 @@ dependencies = [
"iced_renderer",
"iced_widget",
"iced_winit",
"image",
"thiserror",
]
@@ -1208,6 +1281,8 @@ dependencies = [
"half",
"iced_core",
"iced_futures",
"image",
"kamadak-exif",
"log",
"once_cell",
"raw-window-handle",
@@ -1308,6 +1383,24 @@ dependencies = [
"winit",
]
[[package]]
name = "image"
version = "0.24.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d"
dependencies = [
"bytemuck",
"byteorder",
"color_quant",
"exr",
"gif 0.13.1",
"jpeg-decoder",
"num-traits",
"png",
"qoi",
"tiff",
]
[[package]]
name = "imagesize"
version = "0.12.0"
@@ -1397,6 +1490,9 @@ name = "jpeg-decoder"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
dependencies = [
"rayon",
]
[[package]]
name = "js-sys"
@@ -1407,6 +1503,15 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "kamadak-exif"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef4fc70d0ab7e5b6bafa30216a6b48705ea964cdfc29c050f2412295eba58077"
dependencies = [
"mutate_once",
]
[[package]]
name = "khronos-egl"
version = "6.0.0"
@@ -1443,6 +1548,12 @@ dependencies = [
"smallvec",
]
[[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.155"
@@ -1588,6 +1699,12 @@ dependencies = [
"simd-adler32",
]
[[package]]
name = "mutate_once"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b"
[[package]]
name = "naga"
version = "0.19.2"
@@ -2239,7 +2356,7 @@ checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58"
[[package]]
name = "pumpbin"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"aes-gcm",
"anyhow",
@@ -2255,6 +2372,15 @@ dependencies = [
"winresource",
]
[[package]]
name = "qoi"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
dependencies = [
"bytemuck",
]
[[package]]
name = "quick-xml"
version = "0.31.0"
@@ -2321,6 +2447,26 @@ version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539"
[[package]]
name = "rayon"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
dependencies = [
"either",
"rayon-core",
]
[[package]]
name = "rayon-core"
version = "1.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
dependencies = [
"crossbeam-deque",
"crossbeam-utils",
]
[[package]]
name = "rctree"
version = "0.5.0"
@@ -2387,7 +2533,7 @@ version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc7980f653f9a7db31acff916a262c3b78c562919263edea29bf41a056e20497"
dependencies = [
"gif",
"gif 0.12.0",
"jpeg-decoder",
"log",
"pico-args",
@@ -2707,6 +2853,15 @@ dependencies = [
"x11rb",
]
[[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.3.0+sdk-1.3.268.0"
@@ -2824,6 +2979,17 @@ dependencies = [
"syn 2.0.66",
]
[[package]]
name = "tiff"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
dependencies = [
"flate2",
"jpeg-decoder",
"weezl",
]
[[package]]
name = "tiny-skia"
version = "0.11.4"
@@ -3928,3 +4094,12 @@ dependencies = [
"quote",
"syn 2.0.66",
]
[[package]]
name = "zune-inflate"
version = "0.2.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
dependencies = [
"simd-adler32",
]

View File

@@ -1,6 +1,6 @@
[package]
name = "pumpbin"
version = "0.1.0"
version = "0.1.1"
authors = ["b1n <b1n@b1n.io>"]
edition = "2021"
description = "PumpBin is an Implant Generation Platform."
@@ -36,7 +36,7 @@ version = "0.13.0-dev"
git = "https://github.com/iced-rs/iced"
rev = "6c1027af8d54ad21e282337b53097eb196d62c00"
default-features = false
features = ["advanced", "svg", "tokio", "wgpu"]
features = ["advanced", "svg", "tokio", "wgpu", "image"]
[target."cfg(windows)".build-dependencies]
winresource = "0.1.17"

View File

@@ -1,5 +1,6 @@
fn main() {
if std::env::var("CARGO_CFG_TARGET_OS").unwrap() == "windows" {
#[cfg(target_os = "windows")]
{
let mut res = winresource::WindowsResource::new();
res.set_icon("logo/icon.ico");
res.compile().unwrap();

View File

@@ -6,7 +6,7 @@ use std::{fmt::Display, fs, iter, ops::Not, path::PathBuf, time::Duration};
use dirs::{desktop_dir, home_dir};
use iced::{
advanced::Application,
advanced::{graphics::image::image_rs::ImageFormat, Application},
executor,
widget::{
button, column, container, horizontal_rule, pick_list, row, scrollable,
@@ -77,6 +77,13 @@ impl Pumpbin {
decorations: true,
transparent: false,
level: Level::Normal,
icon: match window::icon::from_file_data(
include_bytes!("../logo/icon.png"),
Some(ImageFormat::Png),
) {
Ok(x) => Some(x),
Err(_) => None,
},
exit_on_close_request: true,
..Default::default()
},