From e7b4fe00b63bc2bbb5e354c9a111b1ab14fa4e52 Mon Sep 17 00:00:00 2001 From: Jonathan Johnson Date: Mon, 6 Nov 2023 14:30:03 -0800 Subject: [PATCH] Updating to intentional --- Cargo.lock | 73 ++++++++++++++++++++++++++---------------- Cargo.toml | 1 + src/widgets/scroll.rs | 6 ++-- src/widgets/tilemap.rs | 4 +-- 4 files changed, 50 insertions(+), 34 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5cc6cec..11aabe0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -437,9 +437,9 @@ dependencies = [ [[package]] name = "etagere" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf22f748754352918e082e0039335ee92454a5d62bcaf69b5e8daf5907d9644" +checksum = "5bf70b9ea3a235a7432b4f481854815e2d4fb2fe824c1f5fb09b8985dd06b3e9" dependencies = [ "euclid", "svg_fmt", @@ -457,22 +457,20 @@ dependencies = [ [[package]] name = "figures" version = "0.1.0" -source = "git+https://github.com/khonsulabs/figures#29a89d05f9fc8e81c5071fad49456329203d3bfc" +source = "git+https://github.com/khonsulabs/figures#f5b9ca5cf181b748897b269ad47d7a9f2d1f3eac" dependencies = [ "bytemuck", "euclid", + "intentional", "wgpu", "winit", ] [[package]] name = "float_next_after" -version = "0.1.5" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fc612c5837986b7104a87a0df74a5460931f1c5274be12f8d0f40aa2f30d632" -dependencies = [ - "num-traits", -] +checksum = "8bf7cc16383c4b8d58b9905a8509f02926ce3058053c056376248d958c9df1e8" [[package]] name = "flume" @@ -635,6 +633,7 @@ name = "gooey" version = "0.1.0" dependencies = [ "alot", + "intentional", "interner", "kempt", "kludgine", @@ -765,6 +764,12 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "intentional" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "509e910bdc87b3c71b1085ae9659c11ea74f9667f1e15b54a6fe68a307600560" + [[package]] name = "interner" version = "0.2.1" @@ -848,7 +853,7 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" [[package]] name = "kludgine" version = "0.1.0" -source = "git+https://github.com/khonsulabs/kludgine#ce69ff4ecf5995a3120d2fc56f4fa6c16381d6b5" +source = "git+https://github.com/khonsulabs/kludgine#2650642bddb0cdc37b788cda6c552ded11e73b48" dependencies = [ "ahash", "alot", @@ -858,6 +863,7 @@ dependencies = [ "etagere", "figures", "image", + "intentional", "lyon_tessellation", "pollster", "smallvec", @@ -872,9 +878,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libloading" @@ -902,6 +908,17 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +[[package]] +name = "libredox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall 0.4.1", +] + [[package]] name = "linux-raw-sys" version = "0.4.10" @@ -947,9 +964,9 @@ dependencies = [ [[package]] name = "lyon_tessellation" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d2124218d5428149f9e09520b9acc024334a607e671f032d06567b61008977c" +checksum = "23bcac20d47825850fabf1e869bf7c2bbe2daefa0776c3cd2eb7cb74635f6e4a" dependencies = [ "float_next_after", "lyon_path", @@ -1241,11 +1258,11 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "orbclient" -version = "0.3.46" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8378ac0dfbd4e7895f2d2c1f1345cab3836910baf3a300b000d04250f0c8428f" +checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" dependencies = [ - "redox_syscall 0.3.5", + "libredox", ] [[package]] @@ -1493,18 +1510,18 @@ checksum = "4c309e515543e67811222dbc9e3dd7e1056279b782e1dacffe4242b718734fb6" [[package]] name = "serde" -version = "1.0.190" +version = "1.0.191" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" +checksum = "a834c4821019838224821468552240d4d95d14e751986442c816572d39a080c9" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.190" +version = "1.0.191" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" +checksum = "46fa52d5646bce91b680189fe5b1c049d2ea38dabb4e2e7c8d00ca12cfbfbcfd" dependencies = [ "proc-macro2", "quote", @@ -1606,9 +1623,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.38" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", @@ -2331,9 +2348,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.5.18" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32" +checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" dependencies = [ "memchr", ] @@ -2429,18 +2446,18 @@ checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" [[package]] name = "zerocopy" -version = "0.7.24" +version = "0.7.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "092cd76b01a033a9965b9097da258689d9e17c69ded5dcf41bca001dd20ebc6d" +checksum = "8cd369a67c0edfef15010f980c3cbe45d7f651deac2cd67ce097cd801de16557" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.24" +version = "0.7.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a13a20a7c6a90e2034bcc65495799da92efcec6a8dd4f3fcb6f7a48988637ead" +checksum = "c2f140bda219a26ccc0cdb03dba58af72590c53b22642577d88a927bc5c87d6b" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 77a4289..6f78d0d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,6 +12,7 @@ kludgine = { git = "https://github.com/khonsulabs/kludgine", features = [ alot = "0.3" interner = "0.2.1" kempt = "0.2.1" +intentional = "0.1.0" # [patch."https://github.com/khonsulabs/kludgine"] # kludgine = { path = "../kludgine2" } diff --git a/src/widgets/scroll.rs b/src/widgets/scroll.rs index 7860da4..feba6dd 100644 --- a/src/widgets/scroll.rs +++ b/src/widgets/scroll.rs @@ -2,9 +2,9 @@ use std::borrow::Cow; use std::time::Duration; +use intentional::Cast; use kludgine::app::winit::event::{DeviceId, MouseScrollDelta, TouchPhase}; use kludgine::figures::units::{Lp, Px, UPx}; -use kludgine::figures::utils::lossy_f64_to_f32; use kludgine::figures::{ FloatConversion, IntoSigned, IntoUnsigned, Point, Rect, ScreenScale, Size, }; @@ -257,9 +257,7 @@ impl Widget for Scroll { let amount = match delta { /* TODO query line height */ MouseScrollDelta::LineDelta(x, y) => Point::new(x, y) * 16.0, - MouseScrollDelta::PixelDelta(px) => { - Point::new(lossy_f64_to_f32(px.x), lossy_f64_to_f32(px.y)) - } + MouseScrollDelta::PixelDelta(px) => Point::new(px.x.cast(), px.y.cast()), }; self.scroll.map_mut(|scroll| *scroll += amount.cast()); diff --git a/src/widgets/tilemap.rs b/src/widgets/tilemap.rs index 67e7cf0..9d60893 100644 --- a/src/widgets/tilemap.rs +++ b/src/widgets/tilemap.rs @@ -1,6 +1,6 @@ use std::fmt::Debug; -use kludgine::figures::utils::lossy_f64_to_f32; +use intentional::Cast; use crate::context::{EventContext, GraphicsContext, LayoutContext}; use crate::kludgine::app::winit::event::{DeviceId, KeyEvent, MouseScrollDelta, TouchPhase}; @@ -95,7 +95,7 @@ where ) -> EventHandling { let amount = match delta { MouseScrollDelta::LineDelta(_, lines) => lines, - MouseScrollDelta::PixelDelta(px) => lossy_f64_to_f32(px.y) / 16.0, + MouseScrollDelta::PixelDelta(px) => px.y.cast::() / 16.0, }; self.zoom += self.zoom * 0.1 * amount;