diff options
author | <philippe colliot> | 2015-08-05 14:13:23 +0200 |
---|---|---|
committer | <philippe colliot> | 2015-08-05 14:13:23 +0200 |
commit | 2dd1022d0bf232b2540f1a66ea310c12bc4c2d61 (patch) | |
tree | 0a1b31d5b500781dfe2b2f4bff4e668a1996e8ad | |
parent | f0d502c1548dc8cc0805a0a72f74e46d821c0a9e (diff) | |
download | poi-service-2dd1022d0bf232b2540f1a66ea310c12bc4c2d61.tar.gz |
Restore LM stuff
-rw-r--r-- | src/navigation/map-viewer/mapviewercontrol-plugin/CMakeLists.txt | 15 | ||||
-rw-r--r-- | src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx | 61 |
2 files changed, 75 insertions, 1 deletions
diff --git a/src/navigation/map-viewer/mapviewercontrol-plugin/CMakeLists.txt b/src/navigation/map-viewer/mapviewercontrol-plugin/CMakeLists.txt index 319c741..b7dbaca 100644 --- a/src/navigation/map-viewer/mapviewercontrol-plugin/CMakeLists.txt +++ b/src/navigation/map-viewer/mapviewercontrol-plugin/CMakeLists.txt @@ -30,10 +30,23 @@ cmake_minimum_required(VERSION 2.8) message(STATUS "mapviewer control") +if(${YOCTO_CONFIG}) + add_definitions(-DLM=1) + message(STATUS "Build with layer manager") + include_directories(${STAGING_INCDIR}) + link_directories(${STAGING_LIBDIR}) + set(genivi_mapviewer_mapviewercontrol_LIBS ${PLUGIN_LDFLAGS} "-lilmCommon" "-lilmClient" "-lilmControl") + +else() + add_definitions(-DLM=0) + message(STATUS "Build without layer manager") + set(genivi_mapviewer_mapviewercontrol_LIBS ${PLUGIN_LDFLAGS}) +endif() + + include_directories(${DBUS_GENERATED_INCLUDE_DIR}/map-viewer) include_directories(${DBUS_GENERATED_INCLUDE_DIR}/navigation-core) -set(genivi_mapviewer_mapviewercontrol_LIBS ${PLUGIN_LDFLAGS}) set(genivi_mapviewer_mapviewercontrol_LIBRARY_DIRS ${PLUGIN_LIBRARIES}) module_add_library(genivi_mapviewer_mapviewercontrol genivi_mapviewer_mapviewercontrol.cxx ${DBUS_GENERATED_INCLUDE_DIR}/map-viewer/genivi-mapviewer-mapviewercontrol_adaptor.h ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-routing_proxy.h ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-session_proxy.h ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-mapmatchedposition_proxy.h) 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 e98046a..919f43e 100644 --- a/src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx +++ b/src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx @@ -27,6 +27,16 @@ #include <math.h> #include <unistd.h> #include <stdlib.h> + +#if LM +#include <ilm/ilm_client.h> +#include <ilm/ilm_client.h> +#include <ilm/ilm_control.h> +#ifndef FSA_LAYER +#define FSA_LAYER 2000 +#endif +#endif + #include "genivi-mapviewer-mapviewercontrol_adaptor.h" #include "genivi-navigationcore-routing_proxy.h" #include "genivi-navigationcore-session_proxy.h" @@ -1465,10 +1475,54 @@ MapViewerControlObj::MapViewerControlObj(MapViewerControl *mapviewercontrol, uin sel.u.p_rect.rl.x=MapViewSize._1; sel.u.p_rect.rl.y=MapViewSize._2; transform_set_screen_selection(trans, &sel); + +#if LM + t_ilm_nativedisplay display = (t_ilm_nativedisplay)graphics_get_data(m_graphics.u.graphics, "display"); + if (ilm_initWithNativedisplay(display) != ILM_SUCCESS) { + dbg(lvl_debug, "error on ilm_initWidthNativeDisplay\n"); + } + + t_ilm_nativehandle nativehandle=(t_ilm_nativehandle)graphics_get_data(m_graphics.u.graphics,"xwindow_id"); + t_ilm_surface surfaceId=FSA_LAYER+m_handle; + t_ilm_layer layerId=FSA_LAYER; + if (ilm_surfaceCreate(nativehandle, MapViewSize._1, MapViewSize._2, ILM_PIXELFORMAT_RGBA_8888, &surfaceId) != ILM_SUCCESS) { + dbg(lvl_debug,"error on ilm_surfaceCreate\n"); + } +#if 0 + if (ilm_layerAddSurface(layerId, surfaceId) != ILM_SUCCESS) { + dbg(lvl_debug,"error on ilm_layerAddSurface\n"); + } +#else + t_ilm_surface surfaceId_order[2] = { + FSA_LAYER + m_handle, + FSA_LAYER + m_handle + 1 + }; + if (ilm_layerSetRenderOrder(layerId, surfaceId_order, 2) != ILM_SUCCESS) { + dbg(lvl_debug,"error on ilm_layerSetRenderOrder\n"); + } +#endif + if (ilm_commitChanges() != ILM_SUCCESS) { + dbg(lvl_debug,"error on ilm_commitChanges\n"); + } +#endif + } MapViewerControlObj::~MapViewerControlObj() { +#if LM + t_ilm_surface surfaceId=FSA_LAYER+m_handle; + t_ilm_layer layerId=FSA_LAYER; + if (ilm_surfaceRemove(surfaceId) != ILM_SUCCESS) { + dbg(lvl_debug,"error on ilm_surfaceRemove\n"); + } + if (ilm_layerRemoveSurface(layerId, surfaceId) != ILM_SUCCESS) { + dbg(lvl_debug,"error on ilm_layerAddSurface\n"); + } + if (ilm_commitChanges() != ILM_SUCCESS) { + dbg(lvl_debug,"error on ilm_commitChanges\n"); + } +#endif graphics_remove_callback(m_graphics.u.graphics, m_postdraw_callback); #if 0 @@ -1637,4 +1691,11 @@ plugin_init(void) conns[0]->request_name("org.genivi.mapviewer.MapViewerControl"); server=new MapViewerControl(*conns[0]); +#if LM +#if 0 + if (ilm_init() != ILM_SUCCESS) { + dbg(lvl_debug,"error on ilm_init\n"); + } +#endif +#endif } |