From: Seechan, Kim Date: Mon, 11 Jun 2018 04:09:04 +0000 (+0900) Subject: Lower the frequency of drawing cached map tiles in local X-Git-Tag: submit/tizen/20180611.042654^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=708067f2956a64aa96e3b71bf3113d07cb0b1029;p=platform%2Fcore%2Flocation%2Fmaps-plugin-here.git Lower the frequency of drawing cached map tiles in local Change-Id: Iaa348ee526cdff4fd852d39a0b234ae7e4ec34d8 --- diff --git a/inc/here_view.h b/inc/here_view.h index 82e6a60..a8ef5d6 100644 --- a/inc/here_view.h +++ b/inc/here_view.h @@ -77,6 +77,7 @@ private: void setMapType(maps_view_h view); static void __readyMapCb(maps_view_h view); static Eina_Bool __idlerCb(void *data); + static Eina_Bool __dirtyTimerCb(void *data); static void __renderingCb(void *data); static void __pixelGetCb(void *data, Evas_Object *obj); static void __processViewObject(maps_view_h view, const maps_view_object_h object, @@ -100,6 +101,7 @@ private: HereViewObjects __visualObjects; PendingObjects __pendingObjects; Ecore_Idler *__idler; + Ecore_Timer *__dirtyTimer; bool __redraw; maps_plugin_map_view_ready_cb __readyCb; diff --git a/lib/aarch64/libheremaps-engine.so.1 b/lib/aarch64/libheremaps-engine.so.1 index ee41907..803ffe0 120000 --- a/lib/aarch64/libheremaps-engine.so.1 +++ b/lib/aarch64/libheremaps-engine.so.1 @@ -1 +1 @@ -libheremaps-engine.so.1.0.6_37 \ No newline at end of file +libheremaps-engine.so.1.0.6_39 \ No newline at end of file diff --git a/lib/aarch64/libheremaps-engine.so.1.0.6_37 b/lib/aarch64/libheremaps-engine.so.1.0.6_37 deleted file mode 100755 index 4f8c9ae..0000000 Binary files a/lib/aarch64/libheremaps-engine.so.1.0.6_37 and /dev/null differ diff --git a/lib/aarch64/libheremaps-engine.so.1.0.6_39 b/lib/aarch64/libheremaps-engine.so.1.0.6_39 new file mode 100755 index 0000000..b2e2993 Binary files /dev/null and b/lib/aarch64/libheremaps-engine.so.1.0.6_39 differ diff --git a/lib/armv7l/libheremaps-engine.so.1 b/lib/armv7l/libheremaps-engine.so.1 index ee41907..803ffe0 120000 --- a/lib/armv7l/libheremaps-engine.so.1 +++ b/lib/armv7l/libheremaps-engine.so.1 @@ -1 +1 @@ -libheremaps-engine.so.1.0.6_37 \ No newline at end of file +libheremaps-engine.so.1.0.6_39 \ No newline at end of file diff --git a/lib/armv7l/libheremaps-engine.so.1.0.6_37 b/lib/armv7l/libheremaps-engine.so.1.0.6_37 deleted file mode 100755 index c3fa1f5..0000000 Binary files a/lib/armv7l/libheremaps-engine.so.1.0.6_37 and /dev/null differ diff --git a/lib/armv7l/libheremaps-engine.so.1.0.6_39 b/lib/armv7l/libheremaps-engine.so.1.0.6_39 new file mode 100755 index 0000000..770309d Binary files /dev/null and b/lib/armv7l/libheremaps-engine.so.1.0.6_39 differ diff --git a/lib/i586/libheremaps-engine.so.1 b/lib/i586/libheremaps-engine.so.1 index ee41907..803ffe0 120000 --- a/lib/i586/libheremaps-engine.so.1 +++ b/lib/i586/libheremaps-engine.so.1 @@ -1 +1 @@ -libheremaps-engine.so.1.0.6_37 \ No newline at end of file +libheremaps-engine.so.1.0.6_39 \ No newline at end of file diff --git a/lib/i586/libheremaps-engine.so.1.0.6_37 b/lib/i586/libheremaps-engine.so.1.0.6_37 deleted file mode 100755 index 9c8d092..0000000 Binary files a/lib/i586/libheremaps-engine.so.1.0.6_37 and /dev/null differ diff --git a/lib/i586/libheremaps-engine.so.1.0.6_39 b/lib/i586/libheremaps-engine.so.1.0.6_39 new file mode 100755 index 0000000..7fa8468 Binary files /dev/null and b/lib/i586/libheremaps-engine.so.1.0.6_39 differ diff --git a/lib/x86_64/libheremaps-engine.so.1 b/lib/x86_64/libheremaps-engine.so.1 index ee41907..803ffe0 120000 --- a/lib/x86_64/libheremaps-engine.so.1 +++ b/lib/x86_64/libheremaps-engine.so.1 @@ -1 +1 @@ -libheremaps-engine.so.1.0.6_37 \ No newline at end of file +libheremaps-engine.so.1.0.6_39 \ No newline at end of file diff --git a/lib/x86_64/libheremaps-engine.so.1.0.6_37 b/lib/x86_64/libheremaps-engine.so.1.0.6_37 deleted file mode 100755 index e776ab6..0000000 Binary files a/lib/x86_64/libheremaps-engine.so.1.0.6_37 and /dev/null differ diff --git a/lib/x86_64/libheremaps-engine.so.1.0.6_39 b/lib/x86_64/libheremaps-engine.so.1.0.6_39 new file mode 100755 index 0000000..20317e4 Binary files /dev/null and b/lib/x86_64/libheremaps-engine.so.1.0.6_39 differ diff --git a/maps-plugin-here.changes b/maps-plugin-here.changes index 7c8e3cb..1d59f8c 100644 --- a/maps-plugin-here.changes +++ b/maps-plugin-here.changes @@ -1,3 +1,8 @@ +[Version] maps-plugin-here_0.4.0 +[Date] 11 June 2018 +[Title] Lower the frequency of drawing cached map tiles in local +[Developer] Seechan Kim + [Version] maps-plugin-here_0.3.34 [Date] 24 Apr 2018 [Title] Rebuild libheremaps-engine.so with libjson-c 4.0 diff --git a/packaging/maps-plugin-here.spec b/packaging/maps-plugin-here.spec index a0c2344..42cd3c2 100644 --- a/packaging/maps-plugin-here.spec +++ b/packaging/maps-plugin-here.spec @@ -1,6 +1,6 @@ Name: maps-plugin-here Summary: Tizen HERE Maps Plug-in Library -Version: 0.3.34 +Version: 0.4.0 Release: 1 Group: Location/Libraries License: Apache-2.0 and HERE diff --git a/src/here_view.cpp b/src/here_view.cpp index 423b1f7..7cf4a64 100644 --- a/src/here_view.cpp +++ b/src/here_view.cpp @@ -46,6 +46,7 @@ HereView::HereView() __idler = NULL; __redraw = false; __readyCb = NULL; + __dirtyTimer = NULL; } HereView::~HereView() @@ -254,10 +255,29 @@ void HereView::__pixelGetCb(void *data, Evas_Object *obj) void HereView::__renderingCb(void *data) { - if (!data) return; - evas_object_image_pixels_dirty_set((Evas_Object*)data, EINA_TRUE); + HereView *hv = NULL; + int maps_error = maps_view_get_maps_plugin_view_handle(data, (void**)&hv); + if (!hv || hv->__isShutdown || maps_error != MAPS_ERROR_NONE) return; + + if (!hv->__dirtyTimer) + hv->__dirtyTimer = ecore_timer_add(0.001, __dirtyTimerCb, data); } +Eina_Bool HereView::__dirtyTimerCb(void *data) +{ + HereView *hv = NULL; + int maps_error = maps_view_get_maps_plugin_view_handle(data, (void**)&hv); + if (!hv || hv->__isShutdown || maps_error != MAPS_ERROR_NONE) { + if (hv) hv->__dirtyTimer = NULL; + return ECORE_CALLBACK_CANCEL; + } + + hv->__dirtyTimer = NULL; + evas_object_image_pixels_dirty_set((Evas_Object*)hv->__img, EINA_TRUE); + return ECORE_CALLBACK_CANCEL; +} + + void HereView::setMapType(maps_view_h view) { if (!view) @@ -319,7 +339,7 @@ here_error_e HereView::renderMap(maps_view_h view, const maps_coordinates_h coor } /* callback */ - GeoTiledMap::UpdateMapSignalFunctor callback = std::tr1::bind(&__renderingCb, __img); + GeoTiledMap::UpdateMapSignalFunctor callback = std::tr1::bind(&__renderingCb, view); __map->SetUpdateMapSignal(callback); /* zoom level */