summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cargo/config.toml1
-rw-r--r--Cargo.lock147
-rw-r--r--Cargo.toml2
-rw-r--r--crates/material_theme/Cargo.toml2
-rw-r--r--crates/material_theme/src/button.rs1
-rw-r--r--crates/material_theme/src/rule.rs2
6 files changed, 84 insertions, 71 deletions
diff --git a/.cargo/config.toml b/.cargo/config.toml
index 80a170c..6950c4a 100644
--- a/.cargo/config.toml
+++ b/.cargo/config.toml
@@ -1,4 +1,5 @@
[alias]
+dev = "hot --features iced/hot"
lint = "clippy --no-deps -- -D warnings"
lint-all = "clippy --no-deps -- -D clippy::pedantic"
diff --git a/Cargo.lock b/Cargo.lock
index 10b6d0b..4821045 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -422,9 +422,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]]
name = "autocfg"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
[[package]]
name = "av1-grain"
@@ -442,9 +442,9 @@ dependencies = [
[[package]]
name = "avif-serialize"
-version = "0.8.3"
+version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98922d6a4cfbcb08820c69d8eeccc05bb1f29bfa06b4f5b1dbfe9a868bd7608e"
+checksum = "19135c0c7a60bfee564dbe44ab5ce0557c6bf3884e5291a50be76a15640c4fbd"
dependencies = [
"arrayvec",
]
@@ -590,9 +590,9 @@ checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b"
[[package]]
name = "bumpalo"
-version = "3.18.1"
+version = "3.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee"
+checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
[[package]]
name = "bytemuck"
@@ -1185,9 +1185,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
[[package]]
name = "embed-resource"
-version = "3.0.3"
+version = "3.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8fe7d068ca6b3a5782ca5ec9afc244acd99dd441e4686a83b1c3973aba1d489"
+checksum = "0963f530273dc3022ab2bdc3fcd6d488e850256f2284a82b7413cb9481ee85dd"
dependencies = [
"cc",
"memchr",
@@ -1261,12 +1261,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "errno"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18"
+checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
dependencies = [
"libc",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -1661,9 +1661,9 @@ dependencies = [
[[package]]
name = "gif"
-version = "0.13.1"
+version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2"
+checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b"
dependencies = [
"color_quant",
"weezl",
@@ -1984,7 +1984,7 @@ dependencies = [
[[package]]
name = "iced"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"iced_core",
"iced_debug",
@@ -2044,7 +2044,7 @@ dependencies = [
[[package]]
name = "iced_core"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"bitflags 2.9.1",
"bytes",
@@ -2072,7 +2072,7 @@ dependencies = [
[[package]]
name = "iced_debug"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"iced_core",
"iced_futures",
@@ -2111,7 +2111,7 @@ dependencies = [
[[package]]
name = "iced_futures"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"futures",
"iced_core",
@@ -2125,7 +2125,7 @@ dependencies = [
[[package]]
name = "iced_graphics"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"bitflags 2.9.1",
"bytemuck",
@@ -2146,7 +2146,7 @@ dependencies = [
[[package]]
name = "iced_program"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"iced_graphics",
"iced_runtime",
@@ -2155,7 +2155,7 @@ dependencies = [
[[package]]
name = "iced_renderer"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"iced_graphics",
"iced_tiny_skia",
@@ -2167,7 +2167,7 @@ dependencies = [
[[package]]
name = "iced_runtime"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"bytes",
"iced_core",
@@ -2180,7 +2180,7 @@ dependencies = [
[[package]]
name = "iced_tiny_skia"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"bytemuck",
"cosmic-text",
@@ -2197,7 +2197,7 @@ dependencies = [
[[package]]
name = "iced_wgpu"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"bitflags 2.9.1",
"bytemuck",
@@ -2218,7 +2218,7 @@ dependencies = [
[[package]]
name = "iced_widget"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"iced_renderer",
"iced_runtime",
@@ -2236,7 +2236,7 @@ dependencies = [
[[package]]
name = "iced_winit"
version = "0.14.0-dev"
-source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#e0106e377b710160c2e022f3f8446040394afa7d"
+source = "git+https://github.com/pml68/iced?branch=feat%2Frehighlight-on-redraw#acebcd131939fc226d0ee1efc020a67cbee063da"
dependencies = [
"iced_debug",
"iced_program",
@@ -2382,9 +2382,9 @@ dependencies = [
[[package]]
name = "image-webp"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14d75c7014ddab93c232bc6bb9f64790d3dfd1d605199acd4b40b6d69e691e9f"
+checksum = "f6970fe7a5300b4b42e62c52efa0187540a5bef546c60edaf554ef595d2e6f0b"
dependencies = [
"byteorder-lite",
"quick-error",
@@ -2497,9 +2497,9 @@ dependencies = [
[[package]]
name = "jpeg-decoder"
-version = "0.3.1"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
+checksum = "00810f1d8b74be64b13dbf3db89ac67740615d6c891f0e7b6179326533011a07"
[[package]]
name = "js-sys"
@@ -2574,9 +2574,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
[[package]]
name = "libc"
-version = "0.2.173"
+version = "0.2.174"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8cfeafaffdbc32176b64fb251369d52ea9f0a8fbc6f8759edffef7b525d64bb"
+checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
[[package]]
name = "libfuzzer-sys"
@@ -2600,9 +2600,9 @@ dependencies = [
[[package]]
name = "liblzma"
-version = "0.4.1"
+version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66352d7a8ac12d4877b6e6ea5a9b7650ee094257dc40889955bea5bc5b08c1d0"
+checksum = "0791ab7e08ccc8e0ce893f6906eb2703ed8739d8e89b57c0714e71bad09024c8"
dependencies = [
"liblzma-sys",
]
@@ -3069,18 +3069,19 @@ dependencies = [
[[package]]
name = "num_enum"
-version = "0.7.3"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179"
+checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a"
dependencies = [
"num_enum_derive",
+ "rustversion",
]
[[package]]
name = "num_enum_derive"
-version = "0.7.3"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56"
+checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -3666,18 +3667,18 @@ dependencies = [
[[package]]
name = "profiling"
-version = "1.0.16"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d"
+checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773"
dependencies = [
"profiling-procmacros",
]
[[package]]
name = "profiling-procmacros"
-version = "1.0.16"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a65f2e60fbf1063868558d69c6beacf412dc755f9fc020f514b7955fc914fe30"
+checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b"
dependencies = [
"quote",
"syn",
@@ -3743,9 +3744,9 @@ dependencies = [
[[package]]
name = "r-efi"
-version = "5.2.0"
+version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
+checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
[[package]]
name = "rand"
@@ -3855,9 +3856,9 @@ dependencies = [
[[package]]
name = "ravif"
-version = "0.11.12"
+version = "0.11.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6a5f31fcf7500f9401fea858ea4ab5525c99f2322cfcee732c0e6c74208c0c6"
+checksum = "5825c26fddd16ab9f515930d49028a630efec172e903483c94796cfe31893e6b"
dependencies = [
"avif-serialize",
"imgref",
@@ -4141,9 +4142,9 @@ dependencies = [
[[package]]
name = "rustls"
-version = "0.23.27"
+version = "0.23.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321"
+checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643"
dependencies = [
"once_cell",
"rustls-pki-types",
@@ -4422,12 +4423,9 @@ dependencies = [
[[package]]
name = "slab"
-version = "0.4.9"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
-dependencies = [
- "autocfg",
-]
+checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d"
[[package]]
name = "slotmap"
@@ -4618,9 +4616,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.103"
+version = "2.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8"
+checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40"
dependencies = [
"proc-macro2",
"quote",
@@ -5030,9 +5028,9 @@ dependencies = [
[[package]]
name = "tracing-attributes"
-version = "0.1.29"
+version = "0.1.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662"
+checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903"
dependencies = [
"proc-macro2",
"quote",
@@ -5397,9 +5395,9 @@ dependencies = [
[[package]]
name = "wasmtimer"
-version = "0.4.1"
+version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0048ad49a55b9deb3953841fa1fc5858f0efbcb7a18868c899a360269fac1b23"
+checksum = "d8d49b5d6c64e8558d9b1b065014426f35c18de636895d24893dbbd329743446"
dependencies = [
"futures",
"js-sys",
@@ -5751,9 +5749,9 @@ checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
[[package]]
name = "windows-registry"
-version = "0.5.2"
+version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3bab093bdd303a1240bb99b8aba8ea8a69ee19d34c9e2ef9594e708a4878820"
+checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e"
dependencies = [
"windows-link",
"windows-result 0.3.4",
@@ -5834,6 +5832,15 @@ dependencies = [
]
[[package]]
+name = "windows-sys"
+version = "0.60.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
+dependencies = [
+ "windows-targets 0.53.2",
+]
+
+[[package]]
name = "windows-targets"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6214,9 +6221,9 @@ checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d"
[[package]]
name = "xcursor"
-version = "0.3.8"
+version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61"
+checksum = "bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b"
[[package]]
name = "xdg"
@@ -6359,18 +6366,18 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524"
[[package]]
name = "zerocopy"
-version = "0.8.25"
+version = "0.8.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb"
+checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.8.25"
+version = "0.8.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef"
+checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
dependencies = [
"proc-macro2",
"quote",
@@ -6453,9 +6460,9 @@ dependencies = [
[[package]]
name = "zip"
-version = "4.0.0"
+version = "4.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "153a6fff49d264c4babdcfa6b4d534747f520e56e8f0f384f3b808c4b64cc1fd"
+checksum = "95ab361742de920c5535880f89bbd611ee62002bf11341d16a5f057bb8ba6899"
dependencies = [
"aes",
"arbitrary",
@@ -6540,9 +6547,9 @@ dependencies = [
[[package]]
name = "zune-jpeg"
-version = "0.4.17"
+version = "0.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f6fe2e33d02a98ee64423802e16df3de99c43e5cf5ff983767e1128b394c8ac"
+checksum = "7384255a918371b5af158218d131530f694de9ad3815ebdd0453a940485cb0fa"
dependencies = [
"zune-core",
]
diff --git a/Cargo.toml b/Cargo.toml
index fe74a96..61733b6 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -77,7 +77,7 @@ path = "src/main.rs"
[workspace]
members = ["crates/*"]
-default-members = ["crates/material_theme", "."]
+default-members = [".", "crates/material_theme"]
[lints.rust]
missing_debug_implementations = "deny"
diff --git a/crates/material_theme/Cargo.toml b/crates/material_theme/Cargo.toml
index e36860b..b1c608f 100644
--- a/crates/material_theme/Cargo.toml
+++ b/crates/material_theme/Cargo.toml
@@ -17,6 +17,8 @@ default = []
serde = ["dep:serde"]
# Provides support for animating with `iced_anim`.
animate = ["dep:iced_anim"]
+# Enables pixel snapping for crisp edges by default (can cause jitter!)
+crisp = ["iced_widget/crisp"]
# Provides support for `iced_dialog`.
dialog = ["dep:iced_dialog"]
# Provides support for the markdown widget.
diff --git a/crates/material_theme/src/button.rs b/crates/material_theme/src/button.rs
index 3f16bc7..2800ac4 100644
--- a/crates/material_theme/src/button.rs
+++ b/crates/material_theme/src/button.rs
@@ -32,6 +32,7 @@ fn button(
text_color: foreground,
border: border::rounded(400),
shadow: shadow_from_elevation(elevation(elevation_level), shadow_color),
+ snap: cfg!(feature = "crisp"),
};
match status {
diff --git a/crates/material_theme/src/rule.rs b/crates/material_theme/src/rule.rs
index 36e4dd4..77cb0ef 100644
--- a/crates/material_theme/src/rule.rs
+++ b/crates/material_theme/src/rule.rs
@@ -21,6 +21,7 @@ pub fn inset(theme: &Theme) -> Style {
fill_mode: FillMode::Padded(8),
width: 1,
radius: Radius::default(),
+ snap: cfg!(feature = "crisp"),
}
}
pub fn full_width(theme: &Theme) -> Style {
@@ -29,5 +30,6 @@ pub fn full_width(theme: &Theme) -> Style {
fill_mode: FillMode::Full,
width: 1,
radius: Radius::default(),
+ snap: cfg!(feature = "crisp"),
}
}