diff options
Diffstat (limited to 'src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx')
-rw-r--r-- | src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx b/src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx index f85d187..db18c0d 100644 --- a/src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx +++ b/src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx @@ -1065,12 +1065,10 @@ MapViewerControlObj::SetMapViewScale(uint32_t SessionHandle, uint8_t ScaleID) void MapViewerControlObj::SetMapViewScaleByDelta(uint32_t SessionHandle, int16_t ScaleDelta) { - if (!ScaleDelta) - throw DBus::ErrorInvalidArgs("ScaleDelta must not be 0"); if (ScaleDelta < 0) - navit_zoom_out(m_navit.u.navit,1 << (-ScaleDelta),NULL); + navit_zoom_in(m_navit.u.navit,1 << (-ScaleDelta),NULL); else if (ScaleDelta > 0) - navit_zoom_in(m_navit.u.navit,1 << ScaleDelta,NULL); + navit_zoom_out(m_navit.u.navit,1 << ScaleDelta,NULL); } void @@ -1078,10 +1076,13 @@ MapViewerControlObj::GetMapViewScale(uint8_t& ScaleID, DBusCommonAPIEnumeration& { struct transformation *trans=navit_get_trans(m_navit.u.navit); long scale=transform_get_scale(trans); - if (scale <= 1 || scale >= 2097152) - IsMinMax=1; + if (scale <= 1) + IsMinMax=GENIVI_MAPVIEWER_MIN; else - IsMinMax=0; + if (scale >= 2097152) + IsMinMax=GENIVI_MAPVIEWER_MAX; + else + IsMinMax=GENIVI_MAPVIEWER_MID; ScaleID=0; while (scale > 1) { scale >>=1; |