diff options
author | mvglasow <michael -at- vonglasow.com> | 2016-01-24 17:51:35 +0100 |
---|---|---|
committer | mvglasow <michael -at- vonglasow.com> | 2016-02-02 09:58:31 +0100 |
commit | dd102f33bd33e5592a33a2f8ae6cda5da790080e (patch) | |
tree | 940eb513764be71a6e1ef82e884d59b39995f78f | |
parent | 5ebf9fa113d39f5a33d595fcee34e8761eda123f (diff) | |
download | navit-dd102f33bd33e5592a33a2f8ae6cda5da790080e.tar.gz |
Add:gui_internal:Use padding if supported by graphics driver
Signed-off-by: mvglasow <michael -at- vonglasow.com>
-rw-r--r-- | navit/gui/internal/gui_internal_menu.c | 46 |
1 files changed, 40 insertions, 6 deletions
diff --git a/navit/gui/internal/gui_internal_menu.c b/navit/gui/internal/gui_internal_menu.c index f38a38049..33def9983 100644 --- a/navit/gui/internal/gui_internal_menu.c +++ b/navit/gui/internal/gui_internal_menu.c @@ -110,6 +110,12 @@ struct widget * gui_internal_menu(struct gui_priv *this, const char *label) { struct widget *menu,*w,*w1,*topbox; + struct padding *padding = NULL; + + if (this->gra) { + padding = graphics_get_data(this->gra, "padding"); + } else + dbg(lvl_warning, "cannot get padding: this->gra is NULL\n"); gui_internal_search_idle_end(this); topbox=gui_internal_box_new_with_label(this, 0, label); @@ -117,8 +123,18 @@ gui_internal_menu(struct gui_priv *this, const char *label) topbox->h=this->root.h; gui_internal_widget_append(&this->root, topbox); menu=gui_internal_box_new(this, gravity_left_center|orientation_vertical); - menu->w=topbox->w; - menu->h=topbox->h; + + if (padding) { + menu->p.x = padding->left; + menu->p.y = padding->top; + menu->w = topbox->w - padding->left - padding->right; + menu->h = topbox->h - padding->top - padding->bottom; + } else { + menu->p.x = 0; + menu->p.y = 0; + menu->w = topbox->w; + menu->h = topbox->h; + } menu->background=this->background; gui_internal_apply_config(this); topbox->menu_data=g_new0(struct menu_data, 1); @@ -149,8 +165,17 @@ gui_internal_menu(struct gui_priv *this, const char *label) } if (this->flags & 192) { menu=gui_internal_box_new(this, gravity_left_center|orientation_vertical); - menu->w=topbox->w; - menu->h=topbox->h; + if (padding) { + menu->p.x = padding->left; + menu->p.y = padding->top; + menu->w = topbox->w - padding->left - padding->right; + menu->h = topbox->h - padding->top - padding->bottom; + } else { + menu->p.x = 0; + menu->p.y = 0; + menu->w = topbox->w; + menu->h = topbox->h; + } w1=gui_internal_time_help(this); gui_internal_widget_append(menu, w1); w1=gui_internal_box_new(this, gravity_center|orientation_horizontal_vertical|flags_expand|flags_fill); @@ -162,8 +187,17 @@ gui_internal_menu(struct gui_priv *this, const char *label) gui_internal_widget_reset_pack(this, topbox); topbox->w=this->root.w; topbox->h=this->root.h; - menu->w=topbox->w; - menu->h=topbox->h; + if (padding) { + menu->p.x = padding->left; + menu->p.y = padding->top; + menu->w = topbox->w - padding->left - padding->right; + menu->h = topbox->h - padding->top - padding->bottom; + } else { + menu->p.x = 0; + menu->p.y = 0; + menu->w = topbox->w; + menu->h = topbox->h; + } return w; } |