summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2014-06-25 07:53:55 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2014-06-25 07:53:55 +0000
commitfbd8a0b06c7b89cfce7660006d31e318b2b49c51 (patch)
tree773cd885f9e5eee5050a53ff0141661caed4da69
parentd009f0cc6690f4a142c4f483fe62bed129545b94 (diff)
downloadnavit-fbd8a0b06c7b89cfce7660006d31e318b2b49c51.tar.gz
Add:gui_internal:Improve configurability
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5798 ffa7fe5e-494d-0410-b361-a75ebd5db220
-rw-r--r--navit/gui/internal/gui_internal.c17
-rw-r--r--navit/gui/internal/gui_internal_menu.c3
-rw-r--r--navit/gui/internal/gui_internal_priv.h1
3 files changed, 16 insertions, 5 deletions
diff --git a/navit/gui/internal/gui_internal.c b/navit/gui/internal/gui_internal.c
index 4a527fbd3..a3abf2dcc 100644
--- a/navit/gui/internal/gui_internal.c
+++ b/navit/gui/internal/gui_internal.c
@@ -561,9 +561,13 @@ gui_internal_apply_config(struct gui_priv *this)
this->spacing = current_config->spacing;
}
if (!this->fonts[0]) {
- this->fonts[0]=graphics_font_new(this->gra,this->font_size,1);
- this->fonts[1]=graphics_font_new(this->gra,this->font_size*66/100,1);
- this->fonts[2]=graphics_font_new(this->gra,this->font_size*50/100,1);
+ int i,sizes[]={100,66,50};
+ for (i = 0 ; i < 3 ; i++) {
+ if (this->font_name)
+ this->fonts[i]=graphics_named_font_new(this->gra,this->font_name,this->font_size*sizes[i]/100,1);
+ else
+ this->fonts[i]=graphics_font_new(this->gra,this->font_size*sizes[i]/100,1);
+ }
}
}
@@ -3269,7 +3273,10 @@ static struct gui_priv * gui_internal_new(struct navit *nav, struct gui_methods
this->text_foreground_color=*attr->u.color;
else
this->text_foreground_color=color_white;
- this->text_background_color=color_black;
+ if( (attr=attr_search(attrs,NULL,attr_text_background)))
+ this->text_background_color=*attr->u.color;
+ else
+ this->text_background_color=color_black;
if( (attr=attr_search(attrs,NULL,attr_columns)))
this->cols=attr->u.num;
if( (attr=attr_search(attrs,NULL,attr_osd_configuration)))
@@ -3295,6 +3302,8 @@ static struct gui_priv * gui_internal_new(struct navit *nav, struct gui_methods
this->radius=attr->u.num;
else
this->radius=10;
+ if( (attr=attr_search(attrs,NULL,attr_font)))
+ this->font_name=g_strdup(attr->u.str);
this->data.priv=this;
this->data.gui=&gui_internal_methods_ext;
this->data.widget=&gui_internal_widget_methods;
diff --git a/navit/gui/internal/gui_internal_menu.c b/navit/gui/internal/gui_internal_menu.c
index ba9448c1a..b72b00aea 100644
--- a/navit/gui/internal/gui_internal_menu.c
+++ b/navit/gui/internal/gui_internal_menu.c
@@ -208,9 +208,10 @@ gui_internal_top_bar(struct gui_priv *this)
512:Set osd_configuration and zoom to route when setting position
1024:Don't show back button
2048:No highlighting of keyboard
+ 4096:Center menu title
*/
- w=gui_internal_box_new(this, gravity_left_center|orientation_horizontal|(this->flags & 1 ? 0:flags_fill));
+ w=gui_internal_box_new(this, (this->flags & 4096 ? gravity_center : gravity_left_center)|orientation_horizontal|(this->flags & 1 ? 0:flags_fill));
w->bl=this->spacing;
w->spx=this->spacing;
w->background=this->background2;
diff --git a/navit/gui/internal/gui_internal_priv.h b/navit/gui/internal/gui_internal_priv.h
index 75ca8da09..49bab2c70 100644
--- a/navit/gui/internal/gui_internal_priv.h
+++ b/navit/gui/internal/gui_internal_priv.h
@@ -54,6 +54,7 @@ struct gui_priv {
struct color background_color, background2_color, text_foreground_color, text_background_color;
int spacing;
int font_size;
+ char *font_name;
int fullscreen;
struct graphics_font *fonts[3];
/**