mirror of
https://github.com/labwc/labwc.git
synced 2026-02-09 10:07:31 -05:00
src/ssd: Convert button node descriptors to struct ssd_button
This allows for way easier button hover detection and future features like toggling rounded corner buttons on maximize.
This commit is contained in:
parent
f1ada7e407
commit
ca9226a7a6
8 changed files with 103 additions and 74 deletions
21
src/cursor.c
21
src/cursor.c
|
|
@ -274,25 +274,8 @@ process_cursor_motion(struct server *server, uint32_t time)
|
|||
}
|
||||
}
|
||||
|
||||
/* SSD button mouse-over */
|
||||
struct ssd_hover_state *hover = &server->ssd_hover_state;
|
||||
if (ssd_is_button(view_area)) {
|
||||
/* Cursor entered new button area */
|
||||
if (hover->view != view || hover->type != view_area) {
|
||||
if (hover->node) {
|
||||
wlr_scene_node_set_enabled(hover->node, false);
|
||||
}
|
||||
hover->view = view;
|
||||
hover->type = view_area;
|
||||
hover->node = ssd_button_hover_enable(view, view_area);
|
||||
}
|
||||
} else if (hover->node) {
|
||||
/* Cursor left button area */
|
||||
wlr_scene_node_set_enabled(hover->node, false);
|
||||
hover->view = NULL;
|
||||
hover->type = LAB_SSD_NONE;
|
||||
hover->node = NULL;
|
||||
}
|
||||
/* TODO: ssd_hover_state should likely be located in server->seat */
|
||||
ssd_update_button_hover(node, &server->ssd_hover_state);
|
||||
|
||||
if (server->seat.pressed.surface &&
|
||||
server->seat.pressed.surface != surface &&
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue