type MouseButton = [`Left, `Right, `Middle];
type MouseArea = {
child: &Widget,
on_press: &fn(button: MouseButton) -> Any,
on_release: &fn(button: MouseButton) -> Any,
on_enter: &fn(e: null) -> Any,
on_exit: &fn(e: null) -> Any,
on_move: &fn(pos: {x: f64, y: f64}) -> Any
};
val mouse_area: fn(
?#on_press: fn(button: MouseButton) -> Any,
?#on_release: fn(button: MouseButton) -> Any,
?#on_enter: fn(e: null) -> Any,
?#on_exit: fn(e: null) -> Any,
?#on_move: fn(pos: {x: f64, y: f64}) -> Any,
child: &Widget
) -> Widget