From 90ee72b9a6e132befaf0a90506c4a0d9ea6cc9c4 Mon Sep 17 00:00:00 2001 From: martin-s Date: Wed, 25 Mar 2009 09:53:28 +0000 Subject: [PATCH] Fix:Core:Made pitch configurable git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@2171 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/navit/attr_def.h | 3 +++ navit/navit/gui/internal/gui_internal.c | 8 +++++++- navit/navit/navit.c | 8 ++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/navit/navit/attr_def.h b/navit/navit/attr_def.h index f60d942..2476621 100644 --- a/navit/navit/attr_def.h +++ b/navit/navit/attr_def.h @@ -105,6 +105,9 @@ ATTR(maxspeed) ATTR(cdf_histsize) ATTR(message_maxage) ATTR(message_maxnum) +ATTR(pitch) +ATTR(roll) +ATTR(yaw) ATTR2(0x00028000,type_boolean_begin) /* boolean */ ATTR(overwrite) diff --git a/navit/navit/gui/internal/gui_internal.c b/navit/navit/gui/internal/gui_internal.c index b590cf7..8b6acfa 100644 --- a/navit/navit/gui/internal/gui_internal.c +++ b/navit/navit/gui/internal/gui_internal.c @@ -253,6 +253,7 @@ struct gui_priv { int flags; int cols; struct attr osd_configuration; + int pitch; }; @@ -2799,7 +2800,7 @@ static void gui_internal_cmd_3d(struct gui_priv *this, struct widget *wm, void *data) { struct transformation *trans=navit_get_trans(this->nav); - transform_set_pitch(trans, 20); + transform_set_pitch(trans, this->pitch); this->redraw=1; } @@ -3724,6 +3725,11 @@ static struct gui_priv * gui_internal_new(struct navit *nav, struct gui_methods this->cols=attr->u.num; if( (attr=attr_search(attrs,NULL,attr_osd_configuration))) this->osd_configuration=*attr; + + if( (attr=attr_search(attrs,NULL,attr_pitch))) + this->pitch=attr->u.num; + else + this->pitch=20; this->data.priv=this; this->data.gui=&gui_internal_methods_ext; this->data.widget=&gui_internal_widget_methods; diff --git a/navit/navit/navit.c b/navit/navit/navit.c index e6528bf..aaf17a3 100644 --- a/navit/navit/navit.c +++ b/navit/navit/navit.c @@ -134,6 +134,7 @@ struct navit { int use_mousewheel; struct messagelist *messages; struct callback *resize_callback,*button_callback,*motion_callback; + int pitch; }; struct gui *main_loop_gui; @@ -1568,6 +1569,13 @@ navit_set_attr_do(struct navit *this_, struct attr *attr, int init) attr_updated=(this_->osd_configuration != attr->u.num); this_->osd_configuration=attr->u.num; break; + case attr_pitch: + attr_updated=(this_->pitch != attr->u.num); + this_->pitch=attr->u.num; + transform_set_pitch(this_->trans, this_->pitch); + if (!init && attr_updated && this_->ready == 3) + navit_draw(this_); + break; case attr_projection: if(this_->trans && transform_get_projection(this_->trans) != attr->u.projection) { navit_projection_set(this_, attr->u.projection); -- 2.7.4