ssd: increase resize corners

This commit is contained in:
Consolatis 2022-03-09 01:55:50 +01:00 committed by Johan Malm
parent 25fcc3910b
commit 3bb44fc9f2

View file

@ -16,6 +16,9 @@ ssd_extents_create(struct view *view)
int full_height = height + theme->border_width + SSD_HEIGHT; int full_height = height + theme->border_width + SSD_HEIGHT;
int full_width = width + 2 * theme->border_width; int full_width = width + 2 * theme->border_width;
int extended_area = EXTENDED_AREA; int extended_area = EXTENDED_AREA;
int corner_size = extended_area + theme->border_width + BUTTON_WIDTH / 2;
int side_width = full_width + extended_area * 2 - corner_size * 2;
int side_height = full_height + extended_area * 2 - corner_size * 2;
view->ssd.extents.tree = wlr_scene_tree_create(&view->ssd.tree->node); view->ssd.extents.tree = wlr_scene_tree_create(&view->ssd.tree->node);
struct wlr_scene_node *parent = &view->ssd.extents.tree->node; struct wlr_scene_node *parent = &view->ssd.extents.tree->node;
@ -28,33 +31,33 @@ ssd_extents_create(struct view *view)
/* Top */ /* Top */
add_scene_rect(part_list, LAB_SSD_PART_CORNER_TOP_LEFT, parent, add_scene_rect(part_list, LAB_SSD_PART_CORNER_TOP_LEFT, parent,
extended_area, extended_area, corner_size, corner_size,
0, 0, invisible); 0, 0, invisible);
add_scene_rect(part_list, LAB_SSD_PART_TOP, parent, add_scene_rect(part_list, LAB_SSD_PART_TOP, parent,
full_width, extended_area, side_width, extended_area,
extended_area, 0, invisible); corner_size, 0, invisible);
add_scene_rect(part_list, LAB_SSD_PART_CORNER_TOP_RIGHT, parent, add_scene_rect(part_list, LAB_SSD_PART_CORNER_TOP_RIGHT, parent,
extended_area, extended_area, corner_size, corner_size,
extended_area + full_width, 0, invisible); corner_size + side_width, 0, invisible);
/* Sides */ /* Sides */
add_scene_rect(part_list, LAB_SSD_PART_LEFT, parent, add_scene_rect(part_list, LAB_SSD_PART_LEFT, parent,
extended_area, full_height, extended_area, side_height,
0, extended_area, invisible); 0, corner_size, invisible);
add_scene_rect(part_list, LAB_SSD_PART_RIGHT, parent, add_scene_rect(part_list, LAB_SSD_PART_RIGHT, parent,
extended_area, full_height, extended_area, side_height,
extended_area + full_width, extended_area, invisible); corner_size + side_width, corner_size, invisible);
/* Bottom */ /* Bottom */
add_scene_rect(part_list, LAB_SSD_PART_CORNER_BOTTOM_LEFT, parent, add_scene_rect(part_list, LAB_SSD_PART_CORNER_BOTTOM_LEFT, parent,
extended_area, extended_area, corner_size, corner_size,
0, extended_area + full_height, invisible); 0, corner_size + side_height, invisible);
add_scene_rect(part_list, LAB_SSD_PART_BOTTOM, parent, add_scene_rect(part_list, LAB_SSD_PART_BOTTOM, parent,
full_width, extended_area, side_width, extended_area,
extended_area, extended_area + full_height, invisible); extended_area, extended_area + full_height, invisible);
add_scene_rect(part_list, LAB_SSD_PART_CORNER_BOTTOM_RIGHT, parent, add_scene_rect(part_list, LAB_SSD_PART_CORNER_BOTTOM_RIGHT, parent,
extended_area, extended_area, corner_size, corner_size,
extended_area + full_width, extended_area + full_height, invisible); corner_size + side_width, corner_size + side_height, invisible);
} }
void void
@ -75,6 +78,9 @@ ssd_extents_update(struct view *view)
int full_height = height + theme->border_width + SSD_HEIGHT; int full_height = height + theme->border_width + SSD_HEIGHT;
int full_width = width + 2 * theme->border_width; int full_width = width + 2 * theme->border_width;
int extended_area = EXTENDED_AREA; int extended_area = EXTENDED_AREA;
int corner_size = extended_area + theme->border_width + BUTTON_WIDTH / 2;
int side_width = full_width + extended_area * 2 - corner_size * 2;
int side_height = full_height + extended_area * 2 - corner_size * 2;
struct ssd_part *part; struct ssd_part *part;
struct wlr_scene_rect *rect; struct wlr_scene_rect *rect;
@ -82,32 +88,32 @@ ssd_extents_update(struct view *view)
rect = lab_wlr_scene_get_rect(part->node); rect = lab_wlr_scene_get_rect(part->node);
switch (part->type) { switch (part->type) {
case LAB_SSD_PART_TOP: case LAB_SSD_PART_TOP:
wlr_scene_rect_set_size(rect, full_width, extended_area); wlr_scene_rect_set_size(rect, side_width, extended_area);
continue; continue;
case LAB_SSD_PART_CORNER_TOP_RIGHT: case LAB_SSD_PART_CORNER_TOP_RIGHT:
wlr_scene_node_set_position( wlr_scene_node_set_position(
part->node, extended_area + full_width, 0); part->node, corner_size + side_width, 0);
continue; continue;
case LAB_SSD_PART_LEFT: case LAB_SSD_PART_LEFT:
wlr_scene_rect_set_size(rect, extended_area, full_height); wlr_scene_rect_set_size(rect, extended_area, side_height);
continue; continue;
case LAB_SSD_PART_RIGHT: case LAB_SSD_PART_RIGHT:
wlr_scene_rect_set_size(rect, extended_area, full_height); wlr_scene_rect_set_size(rect, extended_area, side_height);
wlr_scene_node_set_position( wlr_scene_node_set_position(
part->node, extended_area + full_width, extended_area); part->node, extended_area + full_width, corner_size);
continue; continue;
case LAB_SSD_PART_CORNER_BOTTOM_LEFT: case LAB_SSD_PART_CORNER_BOTTOM_LEFT:
wlr_scene_node_set_position( wlr_scene_node_set_position(
part->node, 0, extended_area + full_height); part->node, 0, corner_size + side_height);
continue; continue;
case LAB_SSD_PART_BOTTOM: case LAB_SSD_PART_BOTTOM:
wlr_scene_rect_set_size(rect, full_width, extended_area); wlr_scene_rect_set_size(rect, side_width, extended_area);
wlr_scene_node_set_position( wlr_scene_node_set_position(
part->node, extended_area, extended_area + full_height); part->node, corner_size, extended_area + full_height);
continue; continue;
case LAB_SSD_PART_CORNER_BOTTOM_RIGHT: case LAB_SSD_PART_CORNER_BOTTOM_RIGHT:
wlr_scene_node_set_position(part->node, wlr_scene_node_set_position(part->node,
extended_area + full_width, extended_area + full_height); corner_size + side_width, corner_size + side_height);
continue; continue;
default: default:
continue; continue;