@@ -84,7 +84,6 @@ impl Element for EventHandler {
fn dispatch_event(
&mut self,
event: &Event,
- bounds: RectF,
_: RectF,
visible_bounds: RectF,
_: &mut Self::LayoutState,
@@ -92,7 +91,7 @@ impl Element for EventHandler {
cx: &mut EventContext,
) -> bool {
if let Some(capture) = self.capture.as_mut() {
- if capture(event, bounds, cx) {
+ if capture(event, visible_bounds, cx) {
return true;
}
}
@@ -103,7 +102,7 @@ impl Element for EventHandler {
match event {
Event::LeftMouseDown { position, .. } => {
if let Some(callback) = self.mouse_down.as_mut() {
- if bounds.contains_point(*position) {
+ if visible_bounds.contains_point(*position) {
return callback(cx);
}
}
@@ -111,7 +110,7 @@ impl Element for EventHandler {
}
Event::RightMouseDown { position, .. } => {
if let Some(callback) = self.right_mouse_down.as_mut() {
- if bounds.contains_point(*position) {
+ if visible_bounds.contains_point(*position) {
return callback(cx);
}
}
@@ -123,7 +122,7 @@ impl Element for EventHandler {
..
} => {
if let Some(callback) = self.navigate_mouse_down.as_mut() {
- if bounds.contains_point(*position) {
+ if visible_bounds.contains_point(*position) {
return callback(*direction, cx);
}
}
@@ -271,12 +271,6 @@ impl Element for Flex {
_: &mut Self::PaintState,
cx: &mut EventContext,
) -> bool {
- if let Some(position) = event.position() {
- if !bounds.contains_point(position) {
- return false;
- }
- }
-
let mut handled = false;
for child in &mut self.children {
handled = child.dispatch_event(event, cx) || handled;
@@ -99,8 +99,8 @@ impl Element for MouseEventHandler {
fn dispatch_event(
&mut self,
event: &Event,
- bounds: RectF,
_: RectF,
+ visible_bounds: RectF,
_: &mut Self::LayoutState,
_: &mut Self::PaintState,
cx: &mut EventContext,
@@ -113,8 +113,8 @@ impl Element for MouseEventHandler {
let handled_in_child = self.child.dispatch_event(event, cx);
let hit_bounds = RectF::from_points(
- bounds.origin() - vec2f(self.padding.left, self.padding.top),
- bounds.lower_right() + vec2f(self.padding.right, self.padding.bottom),
+ visible_bounds.origin() - vec2f(self.padding.left, self.padding.top),
+ visible_bounds.lower_right() + vec2f(self.padding.right, self.padding.bottom),
)
.round_out();