provided easy access to layout size and state
This commit is contained in:
parent
5b1ae5553c
commit
dd04899f18
21
gui.c
21
gui.c
@ -3610,6 +3610,9 @@ gui_layout_end(struct gui_layout *layout)
|
||||
struct gui_layout_slot *center;
|
||||
gui_float centerh, centerv;
|
||||
|
||||
GUI_ASSERT(layout);
|
||||
if (!layout) return;
|
||||
|
||||
top = &layout->slots[GUI_SLOT_TOP];
|
||||
bottom = &layout->slots[GUI_SLOT_BOTTOM];
|
||||
left = &layout->slots[GUI_SLOT_LEFT];
|
||||
@ -3632,3 +3635,21 @@ gui_layout_end(struct gui_layout *layout)
|
||||
layout->slots[GUI_SLOT_CENTER].offset = gui_vec2(left->value, top->value);
|
||||
}
|
||||
|
||||
void
|
||||
gui_layout_update_size(struct gui_layout *layout, gui_size width, gui_size height)
|
||||
{
|
||||
GUI_ASSERT(layout);
|
||||
if (!layout) return;
|
||||
layout->width = width;
|
||||
layout->height = height;
|
||||
}
|
||||
|
||||
void
|
||||
gui_layout_update_state(struct gui_layout *layout, gui_uint state)
|
||||
{
|
||||
GUI_ASSERT(layout);
|
||||
if (!layout) return;
|
||||
if (!state) layout->flags |= GUI_LAYOUT_INACTIVE;
|
||||
else layout->flags &= (gui_flags)~GUI_LAYOUT_INACTIVE;
|
||||
}
|
||||
|
||||
|
7
gui.h
7
gui.h
@ -2129,6 +2129,11 @@ struct gui_layout_slot {
|
||||
/* panel filling layout */
|
||||
};
|
||||
|
||||
enum gui_layout_state {
|
||||
GUI_LAYOUT_DEACTIVATE,
|
||||
GUI_LAYOUT_ACTIVATE
|
||||
};
|
||||
|
||||
enum gui_layout_flags {
|
||||
GUI_LAYOUT_INACTIVE = 0x01,
|
||||
/* tiled layout is inactive and cannot be updated by the user */
|
||||
@ -2153,6 +2158,8 @@ void gui_layout_begin(struct gui_layout*, gui_size width, gui_size height, gui_f
|
||||
void gui_layout_slot(struct gui_layout*, enum gui_layout_slot_index,
|
||||
gui_float ratio, enum gui_layout_format, gui_size panel_count);
|
||||
void gui_layout_end(struct gui_layout*);
|
||||
void gui_layout_update_size(struct gui_layout*, gui_size width, gui_size height);
|
||||
void gui_layout_update_state(struct gui_layout*, gui_uint state);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user