slider events and value setting
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
use glam::Vec2;
|
||||
|
||||
use super::drawing::RenderPrimitive;
|
||||
|
||||
use crate::{
|
||||
any::AnyTrait,
|
||||
drawing,
|
||||
event::{
|
||||
CallbackData, CallbackDataCommon, CallbackMetadata, Event, EventAlterables, EventListener,
|
||||
EventListenerCollection, EventListenerKind, EventListenerVec, EventRefs, MouseWheelEvent,
|
||||
self, CallbackData, CallbackDataCommon, CallbackMetadata, Event, EventAlterables,
|
||||
EventListenerKind, EventListenerVec, EventRefs, MouseWheelEvent,
|
||||
},
|
||||
layout::{Layout, WidgetID},
|
||||
transform_stack::TransformStack,
|
||||
@@ -338,7 +339,10 @@ impl WidgetState {
|
||||
params,
|
||||
MousePress,
|
||||
user_data,
|
||||
CallbackMetadata::MouseButton(e.button)
|
||||
CallbackMetadata::MouseButton(event::MouseButton {
|
||||
index: e.index,
|
||||
pos: e.pos
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -352,15 +356,13 @@ impl WidgetState {
|
||||
params,
|
||||
MouseRelease,
|
||||
user_data,
|
||||
CallbackMetadata::MouseButton(e.button)
|
||||
CallbackMetadata::MouseButton(event::MouseButton {
|
||||
index: e.index,
|
||||
pos: e.pos,
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
Event::MouseWheel(e) => {
|
||||
if hovered && self.process_wheel(params, e) {
|
||||
return EventResult::Consumed;
|
||||
}
|
||||
}
|
||||
Event::MouseMotion(e) => {
|
||||
if self.data.set_device_hovered(e.device, hovered) {
|
||||
if self.data.is_hovered() {
|
||||
@@ -396,9 +398,14 @@ impl WidgetState {
|
||||
params,
|
||||
MouseMotion,
|
||||
user_data,
|
||||
CallbackMetadata::None
|
||||
CallbackMetadata::MousePosition(event::MousePosition { pos: e.pos })
|
||||
);
|
||||
}
|
||||
Event::MouseWheel(e) => {
|
||||
if hovered && self.process_wheel(params, e) {
|
||||
return EventResult::Consumed;
|
||||
}
|
||||
}
|
||||
Event::MouseLeave(e) => {
|
||||
if self.data.set_device_hovered(e.device, false) {
|
||||
call_event!(
|
||||
|
||||
Reference in New Issue
Block a user