@@ -106,15 +106,20 @@ fn (mut cv ContainerView) generate_layout(mut _ Window) Layout {
106106 on_click: cv.on_click
107107 on_char: cv.on_char
108108 on_keydown: cv.on_keydown
109- on_mouse_move: cv.on_mouse_move
110- // on_mouse_move_shape: if cv.tooltip != unsafe { nil } {
111- // cv.on_mouse_move_shape
112- // } else {
113- // unsafe { nil }
114- // }
115- on_mouse_up: cv.on_mouse_up
116- on_hover: cv.on_hover
117- amend_layout: cv.amend_layout
109+ on_mouse_move: if cv.tooltip != unsafe { nil } {
110+ fn [cv] (layout & Layout, mut e Event, mut w Window) {
111+ cv.on_mouse_move_tooltip (layout.shape, mut e, mut w)
112+ if cv.on_mouse_move != unsafe { nil } {
113+ cv.on_mouse_move (layout, mut e, mut w)
114+ }
115+ e.is_handled = true
116+ }
117+ } else {
118+ cv.on_mouse_move
119+ }
120+ on_mouse_up: cv.on_mouse_up
121+ on_hover: cv.on_hover
122+ amend_layout: cv.amend_layout
118123 }
119124 }
120125
@@ -371,10 +376,10 @@ pub fn circle(cfg ContainerCfg) View {
371376 return circle
372377}
373378
374- fn (mut cfg ContainerView) on_mouse_move_shape (shape & Shape, mut e Event, mut w Window) {
375- if cfg .tooltip != unsafe { nil } {
376- if cfg .tooltip.content.len > 0 {
377- w.animation_add (mut cfg .tooltip.animation_tooltip ())
379+ fn (cv ContainerView) on_mouse_move_tooltip (shape & Shape, mut e Event, mut w Window) {
380+ if cv .tooltip != unsafe { nil } {
381+ if cv .tooltip.content.len > 0 {
382+ w.animation_add (mut cv .tooltip.animation_tooltip ())
378383 gui_tooltip.bounds = DrawClip{
379384 x: shape.x
380385 y: shape.y
0 commit comments