summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-04-05 18:29:57 +0200
committerHampusM <hampus@hampusmat.com>2026-04-05 18:29:57 +0200
commit171c03cf11b55d2a64e99f46babb2dac35b72b03 (patch)
tree0d200b6438c001c38e4ecd34e917773ed5673610
parentd193aa46ec80a58a6a6ad619c38619e434a6137a (diff)
feat(engine): add windowing::mouse::Buttons::all_current fn
-rw-r--r--engine/src/windowing/mouse.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/engine/src/windowing/mouse.rs b/engine/src/windowing/mouse.rs
index 3b08443..0ea04e2 100644
--- a/engine/src/windowing/mouse.rs
+++ b/engine/src/windowing/mouse.rs
@@ -46,6 +46,15 @@ impl Buttons
button_data.previous_state
}
+ /// Returns a iterator that yields buttons and their current states. Only buttons with
+ /// states is included.
+ pub fn all_current(&self) -> impl Iterator<Item = (Button, ButtonState)>
+ {
+ self.map
+ .iter()
+ .map(|(button, button_data)| (button.clone(), button_data.current_state))
+ }
+
pub fn set(&mut self, button: Button, button_state: ButtonState)
{
let button_data = self.map.entry(button).or_default();