fix dioxusmousebuttons

This commit is contained in:
Evan Simkowitz committed 2023-08-23 14:02:25 -04:00
1 parent e0f42f8173
commit b771386c13
1 file changed
+6 -5
+6 -5
View File
@@ -11,8 +11,9 @@ use dioxus_html::geometry::{
ClientPoint, Coordinates, ElementPoint, PagePoint, ScreenPoint, WheelDelta, ClientPoint, Coordinates, ElementPoint, PagePoint, ScreenPoint, WheelDelta,
}; };
use dioxus_html::input_data::keyboard_types::{Code, Key, Location, Modifiers}; use dioxus_html::input_data::keyboard_types::{Code, Key, Location, Modifiers};
use dioxus_html::input_data::MouseButtonSet as DioxusMouseButtons; use dioxus_html::input_data::{
use dioxus_html::input_data::{MouseButton as DioxusMouseButton, MouseButtonSet}; MouseButton as DioxusMouseButton, MouseButtonSet as DioxusMouseButtons,
};
use dioxus_html::point_interaction::{PointData, PointInteraction}; use dioxus_html::point_interaction::{PointData, PointInteraction};
use dioxus_html::{event_bubbles, FocusData, KeyboardData, MouseData, WheelData}; use dioxus_html::{event_bubbles, FocusData, KeyboardData, MouseData, WheelData};
use std::any::Any; use std::any::Any;
@@ -115,7 +116,7 @@ impl InnerInputState {
EventData::Mouse(ref mut m) => { EventData::Mouse(ref mut m) => {
let mut held_buttons = match &self.mouse { let mut held_buttons = match &self.mouse {
Some(previous_data) => previous_data.held_buttons(), Some(previous_data) => previous_data.held_buttons(),
None => MouseButtonSet::empty(), None => DioxusMouseButtons::empty(),
}; };
match evt.0 { match evt.0 {
@@ -306,7 +307,7 @@ impl InnerInputState {
// a mouse button is pressed if a button was not down and is now down // a mouse button is pressed if a button was not down and is now down
let previous_buttons = previous_mouse let previous_buttons = previous_mouse
.map_or(MouseButtonSet::empty(), |previous_data| { .map_or(DioxusMouseButtons::empty(), |previous_data| {
previous_data.held_buttons() previous_data.held_buttons()
}); });
let was_pressed = !(mouse_data.held_buttons() - previous_buttons).is_empty(); let was_pressed = !(mouse_data.held_buttons() - previous_buttons).is_empty();
@@ -718,7 +719,7 @@ fn get_event(evt: TermEvent) -> Option<(&'static str, EventData)> {
// held mouse buttons get set later by maintaining state, as crossterm does not provide them // held mouse buttons get set later by maintaining state, as crossterm does not provide them
EventData::Mouse(MouseData::new(PointData::new( EventData::Mouse(MouseData::new(PointData::new(
button, button,
MouseButtonSet::empty(), DioxusMouseButtons::empty(),
coordinates, coordinates,
modifiers, modifiers,
))) )))