From a37cdb60f181cea79dc8c413b1b52e2456a73e9d Mon Sep 17 00:00:00 2001 From: vurtun Date: Tue, 9 Jun 2015 17:05:05 +0200 Subject: [PATCH] added user defined panel row widget layout --- demo/demo.c | 37 ++++++--- gui.h | 207 ++++++++++++++++++++++++++++++++---------------- screen/demo.png | Bin 30262 -> 34590 bytes 3 files changed, 163 insertions(+), 81 deletions(-) diff --git a/demo/demo.c b/demo/demo.c index 3249618..772494f 100644 --- a/demo/demo.c +++ b/demo/demo.c @@ -76,18 +76,16 @@ combobox_panel(struct gui_panel_layout *panel, struct show_window *demo) static void widget_panel(struct gui_panel_layout *panel, struct show_window *demo) { - char buffer[MAX_BUFFER]; const char *items[] = {"Fist", "Pistol", "Shotgun", "Railgun", "BFG"}; - gui_panel_row(panel, 30, 1); gui_panel_label(panel, "text left", GUI_TEXT_LEFT); gui_panel_label(panel, "text center", GUI_TEXT_CENTERED); gui_panel_label(panel, "text right", GUI_TEXT_RIGHT); if (gui_panel_button_text(panel, "button", GUI_BUTTON_DEFAULT)) fprintf(stdout, "button pressed!\n"); - if (gui_panel_button_text_triangle(panel, GUI_RIGHT, "button", GUI_TEXT_LEFT, GUI_BUTTON_DEFAULT)) + if (gui_panel_button_text_triangle(panel, GUI_RIGHT, "next", GUI_TEXT_LEFT, GUI_BUTTON_DEFAULT)) fprintf(stdout, "right triangle button pressed!\n"); - if (gui_panel_button_text_triangle(panel, GUI_LEFT, "button", GUI_TEXT_RIGHT, GUI_BUTTON_DEFAULT)) + if (gui_panel_button_text_triangle(panel, GUI_LEFT, "previous", GUI_TEXT_RIGHT, GUI_BUTTON_DEFAULT)) fprintf(stdout, "left triangle button pressed!\n"); demo->toggle = gui_panel_button_toggle(panel, "toggle", demo->toggle); demo->checkbox = gui_panel_check(panel, "checkbox", demo->checkbox); @@ -95,18 +93,33 @@ widget_panel(struct gui_panel_layout *panel, struct show_window *demo) gui_panel_row(panel, 30, 2); if (gui_panel_option(panel, "option 0", demo->option == 0)) demo->option = 0; if (gui_panel_option(panel, "option 1", demo->option == 1)) demo->option = 1; - demo->slider = gui_panel_slider(panel, 0, demo->slider, 10, 1.0f); - sprintf(buffer, "%.2f", demo->slider); - gui_panel_label(panel, buffer, GUI_TEXT_LEFT); - demo->progressbar = gui_panel_progress(panel, demo->progressbar, 100, gui_true); - sprintf(buffer, "%lu", demo->progressbar); - gui_panel_label(panel, buffer, GUI_TEXT_LEFT); + + { + char buffer[MAX_BUFFER]; + const gui_float ratio[] = {0.8f, 0.2f}; + gui_panel_row_templated(panel, 30, 2, ratio); + demo->slider = gui_panel_slider(panel, 0, demo->slider, 10, 1.0f); + sprintf(buffer, "%.2f", demo->slider); + gui_panel_label(panel, buffer, GUI_TEXT_LEFT); + demo->progressbar = gui_panel_progress(panel, demo->progressbar, 100, gui_true); + sprintf(buffer, "%lu", demo->progressbar); + gui_panel_label(panel, buffer, GUI_TEXT_LEFT); + } gui_panel_row(panel, 30, 1); demo->item_current = gui_panel_selector(panel, items, LEN(items), demo->item_current); demo->spinner = gui_panel_spinner(panel, 0, demo->spinner, 250, 10, &demo->spinner_active); - demo->input_length = gui_panel_edit(panel, demo->input_buffer, demo->input_length, - MAX_BUFFER, &demo->input_active, GUI_INPUT_DEFAULT); + + { + const gui_float ratio[] = {0.7f, 0.3f}; + gui_panel_row_templated(panel, 30, 2, ratio); + demo->input_length = gui_panel_edit(panel, demo->input_buffer, demo->input_length, + MAX_BUFFER, &demo->input_active, GUI_INPUT_DEFAULT); + if (gui_panel_button_text(panel, "submit", GUI_BUTTON_DEFAULT)) { + demo->input_length = 0; + fprintf(stdout, "command executed!\n"); + } + } } static void diff --git a/gui.h b/gui.h index 6df465b..49ac81b 100644 --- a/gui.h +++ b/gui.h @@ -21,7 +21,6 @@ #define GUI_STATIC */ - #ifndef GUI_H_ #define GUI_H_ @@ -1630,6 +1629,18 @@ struct gui_panel { /* prev panel pointer for the panel stack*/ }; +#define GUI_UNDEFINED (-1.0f) +struct gui_panel_row_layout { + gui_float height; + /* height of the current row */ + gui_size columns; + /* number of columns in the current row */ + const gui_float *ratio; + /* row widget width ratio */ + gui_float item_ratio; + /* current with of very item */ +}; + struct gui_panel_layout { gui_float x, y, w, h; /* position and size of the panel in the os window */ @@ -1643,16 +1654,14 @@ struct gui_panel_layout { /* flag inidicaing if the panel is visible */ gui_float at_x, at_y; /* index position of the current widget row and column */ - gui_size index; - /* index of the current widget in the current panel row */ gui_float width, height; /* size of the actual useable space inside the panel */ gui_float header_height; /* height of the panel header space */ - gui_float row_height; - /* height of the current row layout */ - gui_size row_columns; - /* number of columns in the current row layout */ + gui_size index; + /* index of the current widget in the current panel row */ + struct gui_panel_row_layout row; + /* currently used panel row layout */ struct gui_rect clip; /* panel clipping rect needed by scrolling */ const struct gui_config *config; @@ -1701,7 +1710,8 @@ GUI_API gui_bool gui_panel_begin_stacked(struct gui_panel_layout*, struct gui_pa GUI_API gui_bool gui_panel_begin_tiled(struct gui_panel_layout*, struct gui_panel*, struct gui_layout*, gui_uint slot, gui_size index, const char*, const struct gui_input*); -/* this function begins the panel build up process and push the panel into a tiled layout container +/* this function begins the panel build up process and push the panel into a tiled + * layout container Input: - tiled layout container to push the panel into - slot inside the panel with either top,button,center,left or right position @@ -1717,6 +1727,13 @@ GUI_API void gui_panel_row(struct gui_panel_layout*, gui_float height, gui_size - panel row layout height in pixel - panel row layout column count */ +GUI_API void gui_panel_row_templated(struct gui_panel_layout*, gui_float height, + gui_size cols, const gui_float *ratio); +/* this function set the current panel row layout + Input: + - panel row layout height in pixel + - panel row layout column count +*/ GUI_API gui_size gui_panel_row_columns(const struct gui_panel_layout *layout, gui_size widget_size); /* this function calculates the number of widget with the same width into the @@ -3713,7 +3730,7 @@ gui_config_default_properties(struct gui_config *config) config->properties[GUI_PROPERTY_SCROLLBAR_WIDTH] = gui_vec2(16, 16); config->properties[GUI_PROPERTY_PADDING] = gui_vec2(15.0f, 10.0f); config->properties[GUI_PROPERTY_SIZE] = gui_vec2(64.0f, 64.0f); - config->properties[GUI_PROPERTY_ITEM_SPACING] = gui_vec2(10.0f, 4.0f); + config->properties[GUI_PROPERTY_ITEM_SPACING] = gui_vec2(4.0f, 4.0f); config->properties[GUI_PROPERTY_ITEM_PADDING] = gui_vec2(4.0f, 4.0f); config->properties[GUI_PROPERTY_SCALER_SIZE] = gui_vec2(16.0f, 16.0f); } @@ -4031,8 +4048,10 @@ gui_panel_begin(struct gui_panel_layout *l, struct gui_panel *p, l->width = p->w; l->height = p->h; l->config = p->config; l->buffer = p->buffer; - l->row_columns = 0; - l->row_height = 0; + l->row.columns = 0; + l->row.height = 0; + l->row.ratio = NULL; + l->row.item_ratio = 0; l->offset = p->offset; out = p->buffer; @@ -4043,7 +4062,7 @@ gui_panel_begin(struct gui_panel_layout *l, struct gui_panel *p, header_w = p->w - 2 * panel_padding.x; gui_command_buffer_push_rect(out, p->x, p->y, p->w, l->header_height, 0, *header); } else l->header_height = 1; - l->row_height = l->header_height + 2 * item_spacing.y; + l->row.height = l->header_height + 2 * item_spacing.y; /* calculate the panel footer */ footer_h = scaler_size.y + item_padding.y; @@ -4275,13 +4294,106 @@ gui_panel_row(struct gui_panel_layout *layout, gui_float height, gui_size cols) /* draw the current row and set the current row layout */ layout->index = 0; - layout->at_y += layout->row_height; - layout->row_columns = cols; - layout->row_height = height + item_spacing.y; + layout->at_y += layout->row.height; + layout->row.ratio = NULL; + layout->row.columns = cols; + layout->row.height = height + item_spacing.y; gui_command_buffer_push_rect(out, layout->at_x, layout->at_y, layout->width, height + panel_padding.y, 0, *color); } +void +gui_panel_row_templated(struct gui_panel_layout *layout, gui_float height, + gui_size cols, const gui_float *ratio) +{ + gui_size i; + gui_size n_undef = 0; + gui_float r = 0; + + GUI_ASSERT(layout); + GUI_ASSERT(layout->config); + GUI_ASSERT(layout->buffer); + if (!layout) return; + if (!layout->valid) return; + + gui_panel_row(layout, height, cols); + layout->row.ratio = ratio; + for (i = 0; i < cols; ++i) { + if (ratio[i] < 0.0f) + n_undef++; + else r += ratio[i]; + } + + r = GUI_SATURATE(1.0f - r); + layout->row.item_ratio = (r > 0) ? r / n_undef : 0; +} + +static void +gui_panel_alloc_space(struct gui_rect *bounds, struct gui_panel_layout *layout) +{ + const struct gui_config *config; + gui_float panel_padding, panel_spacing, panel_space; + gui_float item_offset, item_width, item_spacing; + struct gui_vec2 spacing; + struct gui_vec2 padding; + + GUI_ASSERT(layout); + GUI_ASSERT(layout->config); + GUI_ASSERT(bounds); + if (!layout || !layout->config || !bounds) + return; + + config = layout->config; + spacing = gui_config_property(config, GUI_PROPERTY_ITEM_SPACING); + padding = gui_config_property(config, GUI_PROPERTY_PADDING); + + /* check if the end of the row as hit and begin new row if so*/ + if (layout->index >= layout->row.columns) { + const gui_float *ratio; + const gui_float row_height = layout->row.height - spacing.y; + ratio = layout->row.ratio; + gui_panel_row(layout, row_height, layout->row.columns); + layout->row.ratio = ratio; + } + + /* calculate the total width in the panel */ + panel_padding = 2 * padding.x; + panel_spacing = (gui_float)(layout->row.columns - 1) * spacing.x; + panel_space = layout->width - panel_padding - panel_spacing; + + /* calculate the width of one item inside the panel row */ + if (!layout->row.ratio) { + /* basic standart table layout */ + item_width = panel_space / (gui_float)layout->row.columns; + item_offset = (gui_float)layout->index * item_width; + item_spacing = (gui_float)layout->index * spacing.x; + } else { + /* user provided layout */ + gui_size i; + gui_float ratio = (layout->row.ratio[layout->index] < 0) ? + layout->row.item_ratio : layout->row.ratio[layout->index]; + + item_offset = 0; + item_spacing = (gui_float)layout->index * spacing.x; + if (layout->index < layout->row.columns-1) + item_width = (ratio * panel_space) - spacing.x; + else item_width = (ratio * panel_space); + + for (i = 0; i < layout->index; ++i) { + ratio = (layout->row.ratio[i] < 0) ? + layout->row.item_ratio : layout->row.ratio[i]; + item_offset += ratio * panel_space; + } + } + + /* set the bounds of the newly allocated widget */ + bounds->x = layout->at_x + item_offset + item_spacing + padding.x; + bounds->y = layout->at_y - layout->offset; + bounds->w = item_width; + bounds->h = layout->row.height - spacing.y; + layout->index++; +} + gui_size gui_panel_row_columns(const struct gui_panel_layout *l, gui_size widget_size) { @@ -4313,62 +4425,19 @@ gui_panel_spacing(struct gui_panel_layout *l, gui_size cols) if (!l) return; if (!l->valid) return; - add = (l->index + cols) % l->row_columns; - if (l->index + cols > l->row_columns) { + add = (l->index + cols) % l->row.columns; + if (l->index + cols > l->row.columns) { gui_size i; const struct gui_config *c = l->config; struct gui_vec2 item_spacing = gui_config_property(c, GUI_PROPERTY_ITEM_SPACING); - const gui_float row_height = l->row_height - item_spacing.y; - gui_size rows = (l->index + cols) / l->row_columns; + const gui_float row_height = l->row.height - item_spacing.y; + gui_size rows = (l->index + cols) / l->row.columns; for (i = 0; i < rows; ++i) - gui_panel_row(l, row_height, l->row_columns); + gui_panel_row(l, row_height, l->row.columns); } l->index += add; } -static void -gui_panel_alloc_space(struct gui_rect *bounds, struct gui_panel_layout *layout) -{ - const struct gui_config *config; - gui_float panel_padding, panel_spacing, panel_space; - gui_float item_offset, item_width, item_spacing; - struct gui_vec2 spacing; - struct gui_vec2 padding; - - GUI_ASSERT(layout); - GUI_ASSERT(layout->config); - GUI_ASSERT(bounds); - if (!layout || !layout->config || !bounds) - return; - - config = layout->config; - spacing = gui_config_property(config, GUI_PROPERTY_ITEM_SPACING); - padding = gui_config_property(config, GUI_PROPERTY_PADDING); - - /* check if the end of the row as hit and begin new row if so*/ - if (layout->index >= layout->row_columns) { - const gui_float row_height = layout->row_height - spacing.y; - gui_panel_row(layout, row_height, layout->row_columns); - } - - /* calculate the total width in the panel */ - panel_padding = 2 * padding.x; - panel_spacing = (gui_float)(layout->row_columns - 1) * spacing.x; - panel_space = layout->width - panel_padding - panel_spacing; - - /* calculate the width of one item inside the panel row */ - item_width = panel_space / (gui_float)layout->row_columns; - item_offset = (gui_float)layout->index * item_width; - item_spacing = (gui_float)layout->index * spacing.x; - - /* set the bounds of the newly allocated widget */ - bounds->x = layout->at_x + item_offset + item_spacing + padding.x; - bounds->y = layout->at_y - layout->offset; - bounds->w = item_width; - bounds->h = layout->row_height - spacing.y; - layout->index++; -} - gui_bool gui_panel_widget(struct gui_rect *bounds, struct gui_panel_layout *layout) { @@ -5067,8 +5136,8 @@ gui_panel_table_vline(struct gui_panel_layout *layout, gui_size cols) struct gui_rect bounds; gui_panel_alloc_space(&bounds, layout); - y = layout->at_y + layout->row_height; - h = layout->row_height; + y = layout->at_y + layout->row.height; + h = layout->row.height; gui_command_buffer_push_line(out, bounds.x + bounds.w, y, bounds.x + bounds.w, h, config->colors[GUI_COLOR_TABLE_LINES]); } @@ -5101,11 +5170,11 @@ gui_panel_table_row(struct gui_panel_layout *layout) config = layout->config; item_spacing = gui_config_property(config, GUI_PROPERTY_ITEM_SPACING); - gui_panel_row(layout, layout->row_height - item_spacing.y, layout->row_columns); + gui_panel_row(layout, layout->row.height - item_spacing.y, layout->row.columns); if (layout->tbl_flags & GUI_TABLE_HBODY) - gui_panel_table_hline(layout, (gui_size)(layout->row_height - item_spacing.y)); + gui_panel_table_hline(layout, (gui_size)(layout->row.height - item_spacing.y)); if (layout->tbl_flags & GUI_TABLE_VBODY) - gui_panel_table_vline(layout, layout->row_columns); + gui_panel_table_vline(layout, layout->row.columns); } void @@ -5394,7 +5463,7 @@ gui_panel_end(struct gui_panel_layout *layout, struct gui_panel *panel) GUI_ASSERT(layout); GUI_ASSERT(panel); if (!panel || !layout) return; - layout->at_y += layout->row_height; + layout->at_y += layout->row.height; config = layout->config; out = layout->buffer; diff --git a/screen/demo.png b/screen/demo.png index 8991936b9f9b736f47a1e64016ac3deaf6df4f3e..332c52435ef26642efe3bfdd6d0f0038d537f8f5 100644 GIT binary patch literal 34590 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 ANdN!< literal 30262 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 PqY