From: Bluezery <ohpowel@gmail.com>
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 7 Mar 2012 09:28:08 +0000 (09:28 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 7 Mar 2012 09:28:08 +0000 (09:28 +0000)
commitdac5ccadcfbbbcc9f66416a71f03b5cc1b46bdd8
treee49073480c47993796830c357109aedfbeb6559d
parent404b2b67ced4263353c0f91beab653297c0271f4
From: Bluezery <ohpowel@gmail.com>
Subject: [E-devel]  [Patch][elm_map] Change & Add map APIs

I rename & add some APIs.
As previously discussed, I categorized map APIs.
(http://marc.info/?l=enlightenment-devel&m=132685497711772&w=2)

1) Zoom
elm_map_zoom_set/get
elm_map_zoom_mode_set/get
elm_map_zoom_min_set/get
elm_map_zoom_max_set/get

2) Region - Geographic coordinates (region)
elm_map_region_get
elm_map_region_show/bring_in
elm_map_canvas_to_region_convert

I will not use "_geo_" in map APIs. All map APIs are basically used by
geographic coordinates.

3) Property
elm_map_paused_set/get
elm_map_rotate_set/get
elm_map_wheel_disabled_set/get
elm_map_user_agent_set/get

4) Overlay
elm_map_overlay_add/del
elm_map_overlay_xxx
elm_map_overlay_class_xxx
elm_map_overlay_bubble_xxx
elm_map_overlay_route_xxx

I will add line, rectangle, poi overlays  ASAP.

5) Source - External Provider  (Tile, Route, Name, )
elm_map_sources_get
elm_map_source_set/get

I will add more provider ASAP such as POI, etc.

6) Route
elm_map_route_add/del
elm_map_route_distance_get
elm_map_route_node_get
elm_map_route_waypoints_get

7) Name
elm_map_name_add/del
elm_map_route_address_get
elm_map_route_region_get

6) Route and 7) Name do not return visible objects actually.  Those
just return data.
I don't know "_add" suffix is correct for none visible objects.
I cannot decide yet whether those should be removed from map widget.
But current trends are that route, geocoding are  tightly coupled with
Map.

If Apps want to use only data, just use elm_map_route_add().
If not, use elm_map_route_add() & elm_map_overlay_route_add().
Also name overlay could be added in the future.

8) Miscellaneous
elm_map_tile_load_status_get

9) Signals
Basic events : "clicked", "clicked,double", "press", "longpressed",
Scroller events: "scroll", "scroll,xxx,xxx"
Zoom events: "zoom,start/stop/change"
Source (provider) events: "tile,load/loaded/loaded,fail" ,
"route,load/loaded/loaded,fail", "name,load/loaded/loaded,fail"

There are some big patches. I think diff program do not make exact
diff. :D.
Anyway, it's  better to maintain if this can be in before API fix
(elementary 1.0).
Because after these change, It is hard to maintain old APIs.

PS) Documentations and some minor bugs are remained yet.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@68915 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
src/bin/test_map.c
src/edje_externals/elm_map.c
src/examples/map_example_01.c
src/examples/map_example_03.c
src/lib/elm_deprecated.h
src/lib/elm_map.c
src/lib/elm_map.h
src/modules/test_map/mod.c