mirror of
https://github.com/labwc/labwc.git
synced 2026-02-11 04:27:51 -05:00
Create a linked list of SSD for each view
This commit is contained in:
parent
f863e1916d
commit
2a48f2801b
8 changed files with 134 additions and 47 deletions
|
|
@ -213,7 +213,11 @@ struct view {
|
|||
uint32_t configure_serial;
|
||||
} pending_move_resize;
|
||||
|
||||
bool server_side_deco;
|
||||
struct {
|
||||
bool enabled;
|
||||
struct wl_list parts;
|
||||
struct wlr_box box; /* remember geo so we know when to update */
|
||||
} ssd;
|
||||
|
||||
struct wl_listener map;
|
||||
struct wl_listener unmap;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef __LABWC_SSD_H
|
||||
#define __LABWC_SSD_H
|
||||
|
||||
enum ssd_part {
|
||||
enum ssd_part_type {
|
||||
LAB_SSD_NONE = 0,
|
||||
LAB_SSD_BUTTON_CLOSE,
|
||||
LAB_SSD_BUTTON_MAXIMIZE,
|
||||
|
|
@ -14,11 +14,22 @@ enum ssd_part {
|
|||
LAB_SSD_END_MARKER
|
||||
};
|
||||
|
||||
struct ssd_part {
|
||||
struct wlr_box box;
|
||||
enum ssd_part_type type;
|
||||
struct wlr_texture *texture;
|
||||
float *color;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
struct view;
|
||||
|
||||
struct border ssd_thickness(struct view *view);
|
||||
struct wlr_box ssd_max_extents(struct view *view);
|
||||
struct wlr_box ssd_box(struct view *view, enum ssd_part ssd_part);
|
||||
enum ssd_part ssd_at(struct view *view, double lx, double ly);
|
||||
struct wlr_box ssd_box(struct view *view, enum ssd_part_type type);
|
||||
enum ssd_part_type ssd_at(struct view *view, double lx, double ly);
|
||||
void ssd_create(struct view *view);
|
||||
void ssd_destroy(struct view *view);
|
||||
void ssd_update_geometry(struct view *view);
|
||||
|
||||
#endif /* __LABWC_SSD_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue