elementary_eolian_blacklisted_files = \
lib/elementary/elm_web.eo.cs \
-lib/elementary/elm_map.eo.cs \
+lib/elementary/elm_map_eo.cs \
lib/elementary/elm_combobox.eo.cs \
lib/elementary/elm_list_eo.cs \
lib/elementary/elm_genlist_eo.cs \
elm_legacy_eolian_files = \
lib/elementary/efl_ui_animation_view.eo \
lib/elementary/efl_ui_clock_legacy.eo \
- lib/elementary/elm_map.eo \
- lib/elementary/elm_map_pan.eo \
lib/elementary/elm_menu.eo \
lib/elementary/elm_notify.eo \
lib/elementary/elm_panel.eo \
lib/elementary/elm_list_item_eo.legacy.c \
lib/elementary/elm_mapbuf_eo.c \
lib/elementary/elm_mapbuf_eo.legacy.c \
+lib/elementary/elm_map_eo.c \
+lib/elementary/elm_map_eo.legacy.c \
+lib/elementary/elm_map_pan_eo.c \
$(NULL)
elm_legacy_eo_headers = \
lib/elementary/elm_list_item_eo.legacy.h \
lib/elementary/elm_mapbuf_eo.h \
lib/elementary/elm_mapbuf_eo.legacy.h \
+lib/elementary/elm_map_eo.h \
+lib/elementary/elm_map_eo.legacy.h \
+lib/elementary/elm_map_pan_eo.h \
+lib/elementary/elm_map_pan_eo.legacy.h \
$(NULL)
#include "elm_priv.h"
#include "elm_widget_map.h"
#include "elm_interface_scrollable.h"
-#include "elm_map_pan.eo.h"
-#include "elm_map.eo.h"
+#include "elm_map_pan_eo.h"
+#include "elm_map_eo.h"
#define MY_PAN_CLASS ELM_MAP_PAN_CLASS
evas_smart_legacy_type_register(MY_PAN_CLASS_NAME_LEGACY, klass);
}
-#include "elm_map_pan.eo.c"
+#include "elm_map_pan_eo.c"
EOLIAN static Eina_Error
_elm_map_efl_ui_widget_theme_apply(Eo *obj, Elm_Map_Data *sd EINA_UNUSED)
#define ELM_MAP_EXTRA_OPS \
EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_map)
-#include "elm_map.eo.c"
+#include "elm_map_eo.c"
+++ /dev/null
-/* FIXME: Handle properly. */
-type Elm_Map_Route: __undefined_type; [[Elementary map route type]]
-type Elm_Map_Route_Cb: __undefined_type; [[Elementary map route callback type]]
-type Elm_Map_Overlay: __undefined_type; [[Elementary map overlay type]]
-type Elm_Map_Name: __undefined_type; [[Elementary map name type]]
-type Elm_Map_Name_Cb: __undefined_type; [[Elementary map name callback type]]
-type Elm_Map_Name_List_Cb: __undefined_type; [[Elementary map name list callback type]]
-type Evas.Event_Mouse_Down: __undefined_type;
-
-enum Elm.Map.Source_Type
-{
- [[
- Set type of a external source (provider).
-
- See @Elm.Map.sources_get()
- See @Elm.Map.source_get()
- See @Elm.Map.source_set()
- ]]
- tile, [[Map tile provider.]]
- route, [[Route service provider.]]
- name, [[Name service provider.]]
- last [[Sentinel value to indicate last enum field during iteration]]
-}
-
-enum Elm.Map.Route_Type
-{
- [[
- Set type of transport used on route.
-
- See @Elm.Map.route_add()
- ]]
- motocar, [[Route should consider an automobile will be used.]]
- bicycle, [[Route should consider a bicycle will be used by the user.]]
- foot, [[Route should consider user will be walking.]]
- last [[Sentinel value to indicate last enum field during iteration]]
-}
-
-
-enum Elm.Map.Route_Method
-{
- [[
- Set the routing method, what should be prioritized, time or distance.
-
- See @Elm.Map.route_add()
- ]]
- fastest, [[Route should prioritize time.]]
- shortest, [[Route should prioritize distance.]]
- last [[Sentinel value to indicate last enum field during iteration]]
-}
-
-
-class Elm.Map extends Efl.Ui.Widget implements Elm.Interface_Scrollable,
- Efl.Access.Widget.Action,
- Efl.Ui.Clickable, Efl.Ui.Legacy, Efl.Ui.Zoom
-{
- [[Elementary map class]]
- legacy_prefix: elm_map;
- eo_prefix: elm_obj_map;
- event_prefix: elm_map;
- methods {
- @property zoom_min {
- set {
- [[Set the minimum zoom of the source.]]
- }
- get {
- [[Get the minimum zoom of the source.]]
- }
- values {
- zoom: int(-1); [[Minimum zoom value to be used.]]
- }
- }
- @property map_rotate {
- set {
- [[Rotate the map.]]
- legacy: elm_map_rotate_set;
- }
- get {
- [[Get the rotate degree of the map.]]
- legacy: elm_map_rotate_get;
- }
- values {
- degree: double; [[Angle from 0.0 to 360.0 to rotate around Z axis.]]
- cx: int; [[Rotation's center horizontal position.]]
- cy: int; [[Rotation's center vertical position.]]
- }
- }
- @property user_agent {
- set {
- [[Set the user agent used by the map object to access routing
- services.
-
- User agent is a client application implementing a network
- protocol used in communications within a clientserver
- distributed computing system
-
- The $user_agent identification string will transmitted in
- a header field $User-Agent.
- ]]
- }
- get {
- [[Get the user agent used by the map object.]]
- }
- values {
- user_agent: string; [[The user agent to be used by the map.]]
- }
- }
- @property zoom_max {
- set {
- [[Set the maximum zoom of the source.]]
- }
- get {
- [[Get the maximum zoom of the source.]]
- }
- values {
- zoom: int(-1); [[Maximum zoom value to be used.]]
- }
- }
- @property region {
- get {
- [[Get the current geographic coordinates of the map.
-
- This gets the current center coordinates of the map object.
- It can be set by @.map_region_bring_in and @.region_show.
- ]]
- }
- values {
- lon: double; [[Pointer to store longitude.]]
- lat: double; [[Pointer to store latitude.]]
- }
- }
- @property overlays {
- get {
- [[Return all overlays in the map object.
-
- This list includes group overlays also.
- So this can be changed dynamically while zooming and panning.
-
- @since 1.7
- ]]
- return: list<ptr(Elm_Map_Overlay)>; [[The list of all overlays or $null upon failure.]]
- }
- }
- @property tile_load_status {
- get {
- [[Get the information of tile load status.
-
- This gets the current tile loaded status for the map object.
- ]]
- }
- values {
- try_num: int; [[Pointer to store number of tiles download requested.]]
- finish_num: int; [[Pointer to store number of tiles successfully downloaded.]]
- }
- }
- source_set {
- [[Set the current source of the map for a specific type.
-
- Map widget retrieves tile images that composes the map from a
- web service. This web service can be set with this method
- for #ELM_MAP_SOURCE_TYPE_TILE type. A different service can
- return a different maps with different information and it can
- use different zoom values.
-
- Map widget provides route data based on a external web service.
- This web service can be set with this method
- for #ELM_MAP_SOURCE_TYPE_ROUTE type.
-
- Map widget also provide geoname data based on a external web
- service. This web service can be set with this method
- for #ELM_MAP_SOURCE_TYPE_NAME type.
-
- The $source_name need to match one of the names provided by
- @.sources_get.
-
- The current source can be get using @.source_get.
- ]]
- params {
- @in type: Elm.Map.Source_Type; [[Source type.]]
- @in source_name: string; [[The source to be used.]]
- }
- }
- source_get @const {
- [[Get the name of currently used source for a specific type.]]
- return: string; [[The name of the source in use.]]
- params {
- @in type: Elm.Map.Source_Type; [[Source type.]]
- }
- }
- route_add {
- [[Add a new route to the map object.
-
- A route will be traced by point on coordinates ($flat, $flon)
- to point on coordinates ($tlat, $tlon), using the route service
- set with @.source_set.
-
- It will take $type on consideration to define the route,
- depending if the user will be walking or driving, the route may
- vary. One of #ELM_MAP_ROUTE_TYPE_MOTOCAR, #ELM_MAP_ROUTE_TYPE_BICYCLE,
- or #ELM_MAP_ROUTE_TYPE_FOOT need to be used.
-
- Another parameter is what the route should prioritize, the minor
- distance or the less time to be spend on the route. So $method
- should be one of #ELM_MAP_ROUTE_METHOD_SHORTEST or
- #ELM_MAP_ROUTE_METHOD_FASTEST.
-
- Routes created with this method can be deleted with
- \@ref elm_map_route_del and distance can be get with
- \@ref elm_map_route_distance_get.
- ]]
- return: ptr(Elm_Map_Route); [[The created route or $null upon failure.]]
- params {
- @in type: Elm.Map.Route_Type; [[The type of transport to be considered when tracing a route.]]
- @in method: Elm.Map.Route_Method; [[The routing method, what should be prioritized.]]
- @in flon: double; [[The start longitude.]]
- @in flat: double; [[The start latitude.]]
- @in tlon: double; [[The destination longitude.]]
- @in tlat: double; [[The destination latitude.]]
- @in route_cb: Elm_Map_Route_Cb @optional; [[The route to be traced.]]
- @in data: void_ptr @optional; [[A pointer of user data.]]
- }
- }
- track_add {
- [[Add a track on the map.]]
- return: Efl.Canvas.Object; [[The route object. This is an elm object of type Route.]]
- params {
- @in emap: void_ptr; [[The emap route object.]]
- }
- }
- region_to_canvas_convert @const {
- [[Convert geographic coordinates (longitude, latitude)
- into canvas coordinates.
-
- This gets canvas x, y coordinates from longitude and latitude.
- The canvas coordinates mean x, y coordinate from current viewport.
- ]]
- params {
- @in lon: double; [[The longitude to convert.]]
- @in lat: double; [[The latitude to convert.]]
- @out x: int; [[A pointer to horizontal coordinate.]]
- @out y: int; [[A pointer to vertical coordinate.]]
- }
- }
- overlay_circle_add {
- [[Add a new circle overlay to the map object.
- This overlay has a circle type.
-
- Overlay created with this method can be deleted with
- \@ref elm_map_overlay_del.
- ]]
-
- return: ptr(Elm_Map_Overlay); [[The created overlay or $null upon failure.]]
- params {
- @in lon: double; [[The center longitude.]]
- @in lat: double; [[The center latitude.]]
- @in radius: double; [[The pixel length of radius.]]
- }
- }
- overlay_class_add {
- [[Add a new class overlay to the map object.
- This overlay has a class type.
-
- This overlay is not shown before overlay members are appended.
- if overlay members in the same class are close, group overlays
- are created. If they are far away, group overlays are hidden.
- When group overlays are shown, they have default style layouts
- at first.
-
- You can change the state (hidden, paused, etc.) or set the
- content or icon of the group overlays by chaning the state of
- the class overlay. Do not modify the group overlay itself.
-
- Also these changes have a influence on the overlays in the
- same class even if each overlay is alone and is not grouped.
- ]]
- return: ptr(Elm_Map_Overlay); [[The created overlay or $null upon failure.]]
- }
- overlay_bubble_add {
- [[Add a new bubble overlay to the map object.
- This overlay has a bubble type.
-
- A bubble will not be displayed before geographic coordinates
- are set or any other overlays are followed.
-
- This overlay has a bubble style layout and icon or content can
- not be set.
-
- Overlay created with this method can be deleted with
- \@ref elm_map_overlay_del.
- ]]
- return: ptr(Elm_Map_Overlay); [[The created overlay or $null upon failure.]]
- }
- sources_get @const {
- [[Get the names of available sources for a specific type.
-
- It will provide a list with all available sources.
- Current source can be set by @.source_set, or get with
- @.source_get.
-
- At least available sources of tile type are "Mapnik", "Osmarender",
- "CycleMap" and "Maplint".
-
- At least available sources of route type are "Yours".
-
- At least available sources of name type are "Nominatim".
- ]]
- return: legacy(ptr(string)); [[The char pointer array of source names.]]
- params {
- @in type: Elm.Map.Source_Type; [[Source type.]]
- }
- }
- overlay_polygon_add {
- [[Add a new polygon overlay to the map object.
- This overlay has a polygon type.
-
- At least 3 regions should be added to show the polygon overlay.
-
- Overlay created with this method can be deleted with
- \@ref elm_map_overlay_del.
- ]]
- return: ptr(Elm_Map_Overlay); [[The created overlay or $null upon failure.]]
- }
- overlay_line_add {
- [[Add a new line overlay to the map object.
- This overlay has a line type.
-
- Overlay created with this method can be deleted with
- \@ref elm_map_overlay_del.
- ]]
- return: ptr(Elm_Map_Overlay); [[The created overlay or $null upon failure.]]
- params {
- @in flon: double; [[The start longitude.]]
- @in flat: double; [[The start latitude.]]
- @in tlon: double; [[The destination longitude.]]
- @in tlat: double; [[The destination latitude.]]
- }
- }
- region_show {
- [[Show the given coordinates at the center of the map, immediately.
-
- This causes map to redraw its viewport's contents to the region
- containing the given $lat and $lon, that will be moved to the
- center of the map.
-
- See @.map_region_bring_in for a function to move with animation.
- ]]
- params {
- @in lon: double; [[Longitude to center at.]]
- @in lat: double; [[Latitude to center at.]]
- }
- }
- name_add @const {
- [[Request a address or geographic coordinates(longitude, latitude)
- from a given address or geographic coordinate(longitude, latitude).
-
- If you want to get address from geographic coordinates, set input
- $address as $null and set $lon, $lat as you want to convert. If
- address is set except NULL, $lon and $lat are checked.
-
- To get the string for this address, \@ref elm_map_name_address_get
- should be used after callback or "name,loaded" signal is called.
-
- To get the longitude and latitude, \@ref elm_map_region_get
- should be used.
- ]]
- return: ptr(Elm_Map_Name); [[A #Elm_Map_Name handle for this coordinate.]]
- params {
- @in address: string @optional; [[The address.]]
- @in lon: double; [[The longitude.]]
- @in lat: double; [[The latitude.]]
- @in name_cb: Elm_Map_Name_Cb @optional; [[The callback function.]]
- @in data: void_ptr @optional; [[The user callback data.]]
- }
- }
- name_search @const {
- [[Requests a list of addresses corresponding to a given name.
-
- \@internal
-
- @since 1.8
- ]]
- params {
- @in address: string; [[The address.]]
- @in name_cb: Elm_Map_Name_List_Cb @optional; [[The callback function.]]
- @in data: void_ptr @optional; [[The user callback data.]]
- }
- }
- map_region_bring_in {
- [[Animatedly bring in given coordinates to the center of the map.
-
- This causes map to jump to the given $lat and $lon coordinates
- and show it (by scrolling) in the center of the viewport, if it
- is not already centered. This will use animation to do so and
- take a period of time to complete.
-
- See @.region_show for a function to avoid animation.
- ]]
- legacy: elm_map_region_bring_in;
- params {
- @in lon: double; [[Longitude to center at.]]
- @in lat: double; [[Latitude to center at.]]
- }
- }
- region_zoom_bring_in {
- [[Animatedly set the zoom level of the map and bring in given
- coordinates to the center of the map.
-
- This causes map to zoom into specific zoom level and also move
- to the given $lat and $lon coordinates and show it (by scrolling)
- in the center of the viewport concurrently.
-
- See also @.map_region_bring_in.
-
- @since 1.11
- ]]
- params {
- @in zoom: int; [[The zoom level to set.]]
- @in lon: double; [[Longitude to center at.]]
- @in lat: double; [[Latitude to center at.]]
- }
- }
- track_remove {
- [[Remove a track from the map.]]
- params {
- @in route: Efl.Canvas.Object; [[The track to remove.]]
- }
- }
- overlay_route_add {
- [[Add a new route overlay to the map object.
- This overlay has a route type.
-
- This overlay has a route style layout and icon or content can
- not be set.
-
- The color scheme can be changed by
- \@ref elm_map_overlay_content_set.
-
- Overlay created with this method can be deleted with
- \@ref elm_map_overlay_del.
- ]]
- return: ptr(Elm_Map_Overlay); [[The created overlay or $null upon failure.]]
- params {
- @cref route: Elm_Map_Route; [[The route object to make a overlay.]]
- }
- }
- overlay_scale_add {
- [[Add a new scale overlay to the map object. This overlay has a
- scale type.
-
- The scale overlay shows the ratio of a distance on the map to
- the corresponding distance.
-
- Overlay created with this method can be deleted with
- \@ref elm_map_overlay_del.
- ]]
- return: ptr(Elm_Map_Overlay); [[The created overlay or $null upon failure.]]
- params {
- @in x: int; [[horizontal pixel coordinate.]]
- @in y: int; [[vertical pixel coordinate.]]
- }
- }
- overlay_add {
- [[Add a new overlay to the map object. This overlay has a default
- type.
-
- A overlay will be created and shown in a specific point of the
- map, defined by $lon and $lat.
-
- The created overlay has a default style layout before content or
- icon is set. If content or icon is set, those are displayed
- instead of default style layout.
-
- You can set by using \@ref elm_map_overlay_content_set or
- \@ref elm_map_overlay_icon_set. If $null is set, default style
- is shown again.
-
- Overlay created with this method can be deleted by
- \@ref elm_map_overlay_del.
- ]]
- return: ptr(Elm_Map_Overlay); [[The created overlay or $null upon failure.]]
- params {
- @in lon: double; [[The longitude of the overlay.]]
- @in lat: double; [[The latitude of the overlay.]]
- }
- }
- canvas_to_region_convert @const {
- [[Convert canvas coordinates into geographic coordinates
- (longitude, latitude).
-
- This gets longitude and latitude from canvas x, y coordinates.
- The canvas coordinates mean x, y coordinate from current viewport.
- ]]
- params {
- @in x: int; [[Horizontal coordinate of the point to convert.]]
- @in y: int; [[Vertical coordinate of the point to convert.]]
- @out lon: double; [[A pointer to the longitude.]]
- @out lat: double; [[A pointer to the latitude.]]
- }
- }
- }
- implements {
- class.constructor;
- Efl.Object.constructor;
- Efl.Object.invalidate;
- Efl.Gfx.Entity.position { set; }
- Efl.Gfx.Entity.size { set; }
- Efl.Canvas.Group.group_member_add;
- Efl.Ui.Widget.theme_apply;
- Efl.Ui.Focus.Object.on_focus_update;
- Efl.Ui.Widget.widget_input_event_handler;
- Efl.Access.Widget.Action.elm_actions { get; }
- Efl.Ui.Zoom.zoom_level { set; get; }
- Efl.Ui.Zoom.zoom_mode { set; get; }
- Efl.Ui.Zoom.zoom_animation { get; set; }
- Elm.Interface_Scrollable.wheel_disabled { set; }
- }
- events {
- press: Evas.Event_Mouse_Down; [[Called when map was pressed]]
- loaded: void; [[Called when map loaded]]
- tile,load: void; [[Called when title load started]]
- tile,loaded: void; [[Called when title load finished]]
- tile,loaded,fail: void; [[Called when title load failed]]
- route,load: Elm_Map_Route; [[Called when route load started]]
- route,loaded: void; [[Called when route load finished]]
- route,loaded,fail: void; [[Called when route load failed]]
- /* FIXME: Can be Elm_Map_Name or list<Elm_Map_Name> */
- name,load: void; [[Called when name load started]]
- name,loaded: void; [[Called when name load finished]]
- name,loaded,fail: void; [[Called when name load failed]]
- overlay,clicked: Elm_Map_Overlay; [[Called when overlay was clicked]]
- overlay,del: Elm_Map_Overlay; [[Called when overlay was deleted]]
- }
-}
--- /dev/null
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_PRESS =
+ EFL_EVENT_DESCRIPTION("press");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_LOADED =
+ EFL_EVENT_DESCRIPTION("loaded");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_TILE_LOAD =
+ EFL_EVENT_DESCRIPTION("tile,load");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_TILE_LOADED =
+ EFL_EVENT_DESCRIPTION("tile,loaded");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_TILE_LOADED_FAIL =
+ EFL_EVENT_DESCRIPTION("tile,loaded,fail");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_ROUTE_LOAD =
+ EFL_EVENT_DESCRIPTION("route,load");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_ROUTE_LOADED =
+ EFL_EVENT_DESCRIPTION("route,loaded");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_ROUTE_LOADED_FAIL =
+ EFL_EVENT_DESCRIPTION("route,loaded,fail");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_NAME_LOAD =
+ EFL_EVENT_DESCRIPTION("name,load");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_NAME_LOADED =
+ EFL_EVENT_DESCRIPTION("name,loaded");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_NAME_LOADED_FAIL =
+ EFL_EVENT_DESCRIPTION("name,loaded,fail");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_OVERLAY_CLICKED =
+ EFL_EVENT_DESCRIPTION("overlay,clicked");
+EWAPI const Efl_Event_Description _ELM_MAP_EVENT_OVERLAY_DEL =
+ EFL_EVENT_DESCRIPTION("overlay,del");
+
+void _elm_map_zoom_min_set(Eo *obj, Elm_Map_Data *pd, int zoom);
+
+
+static Eina_Error
+__eolian_elm_map_zoom_min_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; int cval;
+ if (!eina_value_int_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_map_zoom_min_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_map_zoom_min_set, EFL_FUNC_CALL(zoom), int zoom);
+
+int _elm_map_zoom_min_get(const Eo *obj, Elm_Map_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_map_zoom_min_get_reflect(Eo *obj)
+{
+ int val = elm_obj_map_zoom_min_get(obj);
+ return eina_value_int_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_map_zoom_min_get, int, -1 /* +1 */);
+
+void _elm_map_map_rotate_set(Eo *obj, Elm_Map_Data *pd, double degree, int cx, int cy);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_map_rotate_set, EFL_FUNC_CALL(degree, cx, cy), double degree, int cx, int cy);
+
+void _elm_map_map_rotate_get(const Eo *obj, Elm_Map_Data *pd, double *degree, int *cx, int *cy);
+
+EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_map_rotate_get, EFL_FUNC_CALL(degree, cx, cy), double *degree, int *cx, int *cy);
+
+void _elm_map_user_agent_set(Eo *obj, Elm_Map_Data *pd, const char *user_agent);
+
+
+static Eina_Error
+__eolian_elm_map_user_agent_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; const char *cval;
+ if (!eina_value_string_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_map_user_agent_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_map_user_agent_set, EFL_FUNC_CALL(user_agent), const char *user_agent);
+
+const char *_elm_map_user_agent_get(const Eo *obj, Elm_Map_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_map_user_agent_get_reflect(Eo *obj)
+{
+ const char *val = elm_obj_map_user_agent_get(obj);
+ return eina_value_string_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_map_user_agent_get, const char *, NULL);
+
+void _elm_map_zoom_max_set(Eo *obj, Elm_Map_Data *pd, int zoom);
+
+
+static Eina_Error
+__eolian_elm_map_zoom_max_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; int cval;
+ if (!eina_value_int_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_map_zoom_max_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_map_zoom_max_set, EFL_FUNC_CALL(zoom), int zoom);
+
+int _elm_map_zoom_max_get(const Eo *obj, Elm_Map_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_map_zoom_max_get_reflect(Eo *obj)
+{
+ int val = elm_obj_map_zoom_max_get(obj);
+ return eina_value_int_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_map_zoom_max_get, int, -1 /* +1 */);
+
+void _elm_map_region_get(const Eo *obj, Elm_Map_Data *pd, double *lon, double *lat);
+
+EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_map_region_get, EFL_FUNC_CALL(lon, lat), double *lon, double *lat);
+
+Eina_List *_elm_map_overlays_get(const Eo *obj, Elm_Map_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_map_overlays_get, Eina_List *, NULL);
+
+void _elm_map_tile_load_status_get(const Eo *obj, Elm_Map_Data *pd, int *try_num, int *finish_num);
+
+EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_map_tile_load_status_get, EFL_FUNC_CALL(try_num, finish_num), int *try_num, int *finish_num);
+
+void _elm_map_source_set(Eo *obj, Elm_Map_Data *pd, Elm_Map_Source_Type type, const char *source_name);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_map_source_set, EFL_FUNC_CALL(type, source_name), Elm_Map_Source_Type type, const char *source_name);
+
+const char *_elm_map_source_get(const Eo *obj, Elm_Map_Data *pd, Elm_Map_Source_Type type);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_obj_map_source_get, const char *, NULL, EFL_FUNC_CALL(type), Elm_Map_Source_Type type);
+
+Elm_Map_Route *_elm_map_route_add(Eo *obj, Elm_Map_Data *pd, Elm_Map_Route_Type type, Elm_Map_Route_Method method, double flon, double flat, double tlon, double tlat, Elm_Map_Route_Cb route_cb, void *data);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_map_route_add, Elm_Map_Route *, NULL, EFL_FUNC_CALL(type, method, flon, flat, tlon, tlat, route_cb, data), Elm_Map_Route_Type type, Elm_Map_Route_Method method, double flon, double flat, double tlon, double tlat, Elm_Map_Route_Cb route_cb, void *data);
+
+Efl_Canvas_Object *_elm_map_track_add(Eo *obj, Elm_Map_Data *pd, void *emap);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_map_track_add, Efl_Canvas_Object *, NULL, EFL_FUNC_CALL(emap), void *emap);
+
+void _elm_map_region_to_canvas_convert(const Eo *obj, Elm_Map_Data *pd, double lon, double lat, int *x, int *y);
+
+EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_map_region_to_canvas_convert, EFL_FUNC_CALL(lon, lat, x, y), double lon, double lat, int *x, int *y);
+
+Elm_Map_Overlay *_elm_map_overlay_circle_add(Eo *obj, Elm_Map_Data *pd, double lon, double lat, double radius);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_map_overlay_circle_add, Elm_Map_Overlay *, NULL, EFL_FUNC_CALL(lon, lat, radius), double lon, double lat, double radius);
+
+Elm_Map_Overlay *_elm_map_overlay_class_add(Eo *obj, Elm_Map_Data *pd);
+
+EOAPI EFL_FUNC_BODY(elm_obj_map_overlay_class_add, Elm_Map_Overlay *, NULL);
+
+Elm_Map_Overlay *_elm_map_overlay_bubble_add(Eo *obj, Elm_Map_Data *pd);
+
+EOAPI EFL_FUNC_BODY(elm_obj_map_overlay_bubble_add, Elm_Map_Overlay *, NULL);
+
+const char **_elm_map_sources_get(const Eo *obj, Elm_Map_Data *pd, Elm_Map_Source_Type type);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_obj_map_sources_get, const char **, NULL, EFL_FUNC_CALL(type), Elm_Map_Source_Type type);
+
+Elm_Map_Overlay *_elm_map_overlay_polygon_add(Eo *obj, Elm_Map_Data *pd);
+
+EOAPI EFL_FUNC_BODY(elm_obj_map_overlay_polygon_add, Elm_Map_Overlay *, NULL);
+
+Elm_Map_Overlay *_elm_map_overlay_line_add(Eo *obj, Elm_Map_Data *pd, double flon, double flat, double tlon, double tlat);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_map_overlay_line_add, Elm_Map_Overlay *, NULL, EFL_FUNC_CALL(flon, flat, tlon, tlat), double flon, double flat, double tlon, double tlat);
+
+void _elm_map_region_show(Eo *obj, Elm_Map_Data *pd, double lon, double lat);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_map_region_show, EFL_FUNC_CALL(lon, lat), double lon, double lat);
+
+Elm_Map_Name *_elm_map_name_add(const Eo *obj, Elm_Map_Data *pd, const char *address, double lon, double lat, Elm_Map_Name_Cb name_cb, void *data);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_obj_map_name_add, Elm_Map_Name *, NULL, EFL_FUNC_CALL(address, lon, lat, name_cb, data), const char *address, double lon, double lat, Elm_Map_Name_Cb name_cb, void *data);
+
+void _elm_map_name_search(const Eo *obj, Elm_Map_Data *pd, const char *address, Elm_Map_Name_List_Cb name_cb, void *data);
+
+EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_map_name_search, EFL_FUNC_CALL(address, name_cb, data), const char *address, Elm_Map_Name_List_Cb name_cb, void *data);
+
+void _elm_map_map_region_bring_in(Eo *obj, Elm_Map_Data *pd, double lon, double lat);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_map_region_bring_in, EFL_FUNC_CALL(lon, lat), double lon, double lat);
+
+void _elm_map_region_zoom_bring_in(Eo *obj, Elm_Map_Data *pd, int zoom, double lon, double lat);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_map_region_zoom_bring_in, EFL_FUNC_CALL(zoom, lon, lat), int zoom, double lon, double lat);
+
+void _elm_map_track_remove(Eo *obj, Elm_Map_Data *pd, Efl_Canvas_Object *route);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_map_track_remove, EFL_FUNC_CALL(route), Efl_Canvas_Object *route);
+
+Elm_Map_Overlay *_elm_map_overlay_route_add(Eo *obj, Elm_Map_Data *pd, const Elm_Map_Route *route);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_map_overlay_route_add, Elm_Map_Overlay *, NULL, EFL_FUNC_CALL(route), const Elm_Map_Route *route);
+
+Elm_Map_Overlay *_elm_map_overlay_scale_add(Eo *obj, Elm_Map_Data *pd, int x, int y);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_map_overlay_scale_add, Elm_Map_Overlay *, NULL, EFL_FUNC_CALL(x, y), int x, int y);
+
+Elm_Map_Overlay *_elm_map_overlay_add(Eo *obj, Elm_Map_Data *pd, double lon, double lat);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_map_overlay_add, Elm_Map_Overlay *, NULL, EFL_FUNC_CALL(lon, lat), double lon, double lat);
+
+void _elm_map_canvas_to_region_convert(const Eo *obj, Elm_Map_Data *pd, int x, int y, double *lon, double *lat);
+
+EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_map_canvas_to_region_convert, EFL_FUNC_CALL(x, y, lon, lat), int x, int y, double *lon, double *lat);
+
+Efl_Object *_elm_map_efl_object_constructor(Eo *obj, Elm_Map_Data *pd);
+
+
+void _elm_map_efl_object_invalidate(Eo *obj, Elm_Map_Data *pd);
+
+
+void _elm_map_efl_gfx_entity_position_set(Eo *obj, Elm_Map_Data *pd, Eina_Position2D pos);
+
+
+void _elm_map_efl_gfx_entity_size_set(Eo *obj, Elm_Map_Data *pd, Eina_Size2D size);
+
+
+void _elm_map_efl_canvas_group_group_member_add(Eo *obj, Elm_Map_Data *pd, Efl_Canvas_Object *sub_obj);
+
+
+Eina_Error _elm_map_efl_ui_widget_theme_apply(Eo *obj, Elm_Map_Data *pd);
+
+
+Eina_Bool _elm_map_efl_ui_focus_object_on_focus_update(Eo *obj, Elm_Map_Data *pd);
+
+
+Eina_Bool _elm_map_efl_ui_widget_widget_input_event_handler(Eo *obj, Elm_Map_Data *pd, const Efl_Event *eo_event, Efl_Canvas_Object *source);
+
+
+const Efl_Access_Action_Data *_elm_map_efl_access_widget_action_elm_actions_get(const Eo *obj, Elm_Map_Data *pd);
+
+
+void _elm_map_efl_ui_zoom_zoom_level_set(Eo *obj, Elm_Map_Data *pd, double zoom);
+
+
+double _elm_map_efl_ui_zoom_zoom_level_get(const Eo *obj, Elm_Map_Data *pd);
+
+
+void _elm_map_efl_ui_zoom_zoom_mode_set(Eo *obj, Elm_Map_Data *pd, Efl_Ui_Zoom_Mode mode);
+
+
+Efl_Ui_Zoom_Mode _elm_map_efl_ui_zoom_zoom_mode_get(const Eo *obj, Elm_Map_Data *pd);
+
+
+void _elm_map_efl_ui_zoom_zoom_animation_set(Eo *obj, Elm_Map_Data *pd, Eina_Bool paused);
+
+
+Eina_Bool _elm_map_efl_ui_zoom_zoom_animation_get(const Eo *obj, Elm_Map_Data *pd);
+
+
+void _elm_map_elm_interface_scrollable_wheel_disabled_set(Eo *obj, Elm_Map_Data *pd, Eina_Bool disabled);
+
+
+static Eina_Bool
+_elm_map_class_initializer(Efl_Class *klass)
+{
+ const Efl_Object_Ops *opsp = NULL;
+
+ const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
+
+#ifndef ELM_MAP_EXTRA_OPS
+#define ELM_MAP_EXTRA_OPS
+#endif
+
+ EFL_OPS_DEFINE(ops,
+ EFL_OBJECT_OP_FUNC(elm_obj_map_zoom_min_set, _elm_map_zoom_min_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_zoom_min_get, _elm_map_zoom_min_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_rotate_set, _elm_map_map_rotate_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_rotate_get, _elm_map_map_rotate_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_user_agent_set, _elm_map_user_agent_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_user_agent_get, _elm_map_user_agent_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_zoom_max_set, _elm_map_zoom_max_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_zoom_max_get, _elm_map_zoom_max_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_region_get, _elm_map_region_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_overlays_get, _elm_map_overlays_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_tile_load_status_get, _elm_map_tile_load_status_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_source_set, _elm_map_source_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_source_get, _elm_map_source_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_route_add, _elm_map_route_add),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_track_add, _elm_map_track_add),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_region_to_canvas_convert, _elm_map_region_to_canvas_convert),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_overlay_circle_add, _elm_map_overlay_circle_add),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_overlay_class_add, _elm_map_overlay_class_add),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_overlay_bubble_add, _elm_map_overlay_bubble_add),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_sources_get, _elm_map_sources_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_overlay_polygon_add, _elm_map_overlay_polygon_add),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_overlay_line_add, _elm_map_overlay_line_add),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_region_show, _elm_map_region_show),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_name_add, _elm_map_name_add),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_name_search, _elm_map_name_search),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_region_bring_in, _elm_map_map_region_bring_in),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_region_zoom_bring_in, _elm_map_region_zoom_bring_in),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_track_remove, _elm_map_track_remove),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_overlay_route_add, _elm_map_overlay_route_add),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_overlay_scale_add, _elm_map_overlay_scale_add),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_overlay_add, _elm_map_overlay_add),
+ EFL_OBJECT_OP_FUNC(elm_obj_map_canvas_to_region_convert, _elm_map_canvas_to_region_convert),
+ EFL_OBJECT_OP_FUNC(efl_constructor, _elm_map_efl_object_constructor),
+ EFL_OBJECT_OP_FUNC(efl_invalidate, _elm_map_efl_object_invalidate),
+ EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _elm_map_efl_gfx_entity_position_set),
+ EFL_OBJECT_OP_FUNC(efl_gfx_entity_size_set, _elm_map_efl_gfx_entity_size_set),
+ EFL_OBJECT_OP_FUNC(efl_canvas_group_member_add, _elm_map_efl_canvas_group_group_member_add),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_map_efl_ui_widget_theme_apply),
+ EFL_OBJECT_OP_FUNC(efl_ui_focus_object_on_focus_update, _elm_map_efl_ui_focus_object_on_focus_update),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_input_event_handler, _elm_map_efl_ui_widget_widget_input_event_handler),
+ EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _elm_map_efl_access_widget_action_elm_actions_get),
+ EFL_OBJECT_OP_FUNC(efl_ui_zoom_level_set, _elm_map_efl_ui_zoom_zoom_level_set),
+ EFL_OBJECT_OP_FUNC(efl_ui_zoom_level_get, _elm_map_efl_ui_zoom_zoom_level_get),
+ EFL_OBJECT_OP_FUNC(efl_ui_zoom_mode_set, _elm_map_efl_ui_zoom_zoom_mode_set),
+ EFL_OBJECT_OP_FUNC(efl_ui_zoom_mode_get, _elm_map_efl_ui_zoom_zoom_mode_get),
+ EFL_OBJECT_OP_FUNC(efl_ui_zoom_animation_set, _elm_map_efl_ui_zoom_zoom_animation_set),
+ EFL_OBJECT_OP_FUNC(efl_ui_zoom_animation_get, _elm_map_efl_ui_zoom_zoom_animation_get),
+ EFL_OBJECT_OP_FUNC(elm_interface_scrollable_wheel_disabled_set, _elm_map_elm_interface_scrollable_wheel_disabled_set),
+ ELM_MAP_EXTRA_OPS
+ );
+ opsp = &ops;
+
+ static const Efl_Object_Property_Reflection refl_table[] = {
+ {"zoom_min", __eolian_elm_map_zoom_min_set_reflect, __eolian_elm_map_zoom_min_get_reflect},
+ {"user_agent", __eolian_elm_map_user_agent_set_reflect, __eolian_elm_map_user_agent_get_reflect},
+ {"zoom_max", __eolian_elm_map_zoom_max_set_reflect, __eolian_elm_map_zoom_max_get_reflect},
+ };
+ static const Efl_Object_Property_Reflection_Ops rops = {
+ refl_table, EINA_C_ARRAY_LENGTH(refl_table)
+ };
+ ropsp = &rops;
+
+ return efl_class_functions_set(klass, opsp, ropsp);
+}
+
+static const Efl_Class_Description _elm_map_class_desc = {
+ EO_VERSION,
+ "Elm.Map",
+ EFL_CLASS_TYPE_REGULAR,
+ sizeof(Elm_Map_Data),
+ _elm_map_class_initializer,
+ _elm_map_class_constructor,
+ NULL
+};
+
+EFL_DEFINE_CLASS(elm_map_class_get, &_elm_map_class_desc, EFL_UI_WIDGET_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_CLICKABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, EFL_UI_ZOOM_INTERFACE, NULL);
+
+#include "elm_map_eo.legacy.c"
--- /dev/null
+#ifndef _ELM_MAP_EO_H_
+#define _ELM_MAP_EO_H_
+
+#ifndef _ELM_MAP_EO_CLASS_TYPE
+#define _ELM_MAP_EO_CLASS_TYPE
+
+typedef Eo Elm_Map;
+
+#endif
+
+#ifndef _ELM_MAP_EO_TYPES
+#define _ELM_MAP_EO_TYPES
+
+/**
+ * @brief Set type of a external source (provider).
+ *
+ * See @ref elm_obj_map_sources_get() See @ref elm_obj_map_source_get() See
+ * @ref elm_obj_map_source_set()
+ *
+ * @ingroup Elm_Map
+ */
+typedef enum
+{
+ ELM_MAP_SOURCE_TYPE_TILE = 0, /**< Map tile provider. */
+ ELM_MAP_SOURCE_TYPE_ROUTE, /**< Route service provider. */
+ ELM_MAP_SOURCE_TYPE_NAME, /**< Name service provider. */
+ ELM_MAP_SOURCE_TYPE_LAST /**< Sentinel value to indicate last enum field
+ * during iteration */
+} Elm_Map_Source_Type;
+
+/**
+ * @brief Set type of transport used on route.
+ *
+ * See @ref elm_obj_map_route_add()
+ *
+ * @ingroup Elm_Map
+ */
+typedef enum
+{
+ ELM_MAP_ROUTE_TYPE_MOTOCAR = 0, /**< Route should consider an automobile will
+ * be used. */
+ ELM_MAP_ROUTE_TYPE_BICYCLE, /**< Route should consider a bicycle will be used
+ * by the user. */
+ ELM_MAP_ROUTE_TYPE_FOOT, /**< Route should consider user will be walking. */
+ ELM_MAP_ROUTE_TYPE_LAST /**< Sentinel value to indicate last enum field during
+ * iteration */
+} Elm_Map_Route_Type;
+
+/**
+ * @brief Set the routing method, what should be prioritized, time or distance.
+ *
+ * See @ref elm_obj_map_route_add()
+ *
+ * @ingroup Elm_Map
+ */
+typedef enum
+{
+ ELM_MAP_ROUTE_METHOD_FASTEST = 0, /**< Route should prioritize time. */
+ ELM_MAP_ROUTE_METHOD_SHORTEST, /**< Route should prioritize distance. */
+ ELM_MAP_ROUTE_METHOD_LAST /**< Sentinel value to indicate last enum field
+ * during iteration */
+} Elm_Map_Route_Method;
+
+
+#endif
+/** Elementary map class
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_CLASS elm_map_class_get()
+
+EWAPI const Efl_Class *elm_map_class_get(void);
+
+/**
+ * @brief Set the minimum zoom of the source.
+ *
+ * @param[in] obj The object.
+ * @param[in] zoom Minimum zoom value to be used.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_zoom_min_set(Eo *obj, int zoom);
+
+/**
+ * @brief Get the minimum zoom of the source.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Minimum zoom value to be used.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI int elm_obj_map_zoom_min_get(const Eo *obj);
+
+/**
+ * @brief Rotate the map.
+ *
+ * @param[in] obj The object.
+ * @param[in] degree Angle from 0.0 to 360.0 to rotate around Z axis.
+ * @param[in] cx Rotation's center horizontal position.
+ * @param[in] cy Rotation's center vertical position.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_rotate_set(Eo *obj, double degree, int cx, int cy);
+
+/**
+ * @brief Get the rotate degree of the map.
+ *
+ * @param[in] obj The object.
+ * @param[out] degree Angle from 0.0 to 360.0 to rotate around Z axis.
+ * @param[out] cx Rotation's center horizontal position.
+ * @param[out] cy Rotation's center vertical position.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_rotate_get(const Eo *obj, double *degree, int *cx, int *cy);
+
+/**
+ * @brief Set the user agent used by the map object to access routing services.
+ *
+ * User agent is a client application implementing a network protocol used in
+ * communications within a clientserver distributed computing system
+ *
+ * The @c user_agent identification string will transmitted in a header field
+ * @c User-Agent.
+ *
+ * @param[in] obj The object.
+ * @param[in] user_agent The user agent to be used by the map.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_user_agent_set(Eo *obj, const char *user_agent);
+
+/**
+ * @brief Get the user agent used by the map object.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The user agent to be used by the map.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI const char *elm_obj_map_user_agent_get(const Eo *obj);
+
+/**
+ * @brief Set the maximum zoom of the source.
+ *
+ * @param[in] obj The object.
+ * @param[in] zoom Maximum zoom value to be used.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_zoom_max_set(Eo *obj, int zoom);
+
+/**
+ * @brief Get the maximum zoom of the source.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Maximum zoom value to be used.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI int elm_obj_map_zoom_max_get(const Eo *obj);
+
+/**
+ * @brief Get the current geographic coordinates of the map.
+ *
+ * This gets the current center coordinates of the map object. It can be set by
+ * @ref elm_obj_map_region_bring_in and @ref elm_obj_map_region_show.
+ *
+ * @param[in] obj The object.
+ * @param[out] lon Pointer to store longitude.
+ * @param[out] lat Pointer to store latitude.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_region_get(const Eo *obj, double *lon, double *lat);
+
+/**
+ * @brief Return all overlays in the map object.
+ *
+ * This list includes group overlays also. So this can be changed dynamically
+ * while zooming and panning.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The list of all overlays or @c null upon failure.
+ *
+ * @since 1.7
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Eina_List *elm_obj_map_overlays_get(const Eo *obj);
+
+/**
+ * @brief Get the information of tile load status.
+ *
+ * This gets the current tile loaded status for the map object.
+ *
+ * @param[in] obj The object.
+ * @param[out] try_num Pointer to store number of tiles download requested.
+ * @param[out] finish_num Pointer to store number of tiles successfully
+ * downloaded.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_tile_load_status_get(const Eo *obj, int *try_num, int *finish_num);
+
+/**
+ * @brief Set the current source of the map for a specific type.
+ *
+ * Map widget retrieves tile images that composes the map from a web service.
+ * This web service can be set with this method for #ELM_MAP_SOURCE_TYPE_TILE
+ * type. A different service can return a different maps with different
+ * information and it can use different zoom values.
+ *
+ * Map widget provides route data based on a external web service. This web
+ * service can be set with this method for #ELM_MAP_SOURCE_TYPE_ROUTE type.
+ *
+ * Map widget also provide geoname data based on a external web service. This
+ * web service can be set with this method for #ELM_MAP_SOURCE_TYPE_NAME type.
+ *
+ * The @c source_name need to match one of the names provided by
+ * @ref elm_obj_map_sources_get.
+ *
+ * The current source can be get using @ref elm_obj_map_source_get.
+ *
+ * @param[in] obj The object.
+ * @param[in] type Source type.
+ * @param[in] source_name The source to be used.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_source_set(Eo *obj, Elm_Map_Source_Type type, const char *source_name);
+
+/**
+ * @brief Get the name of currently used source for a specific type.
+ *
+ * @param[in] obj The object.
+ * @param[in] type Source type.
+ *
+ * @return The name of the source in use.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI const char *elm_obj_map_source_get(const Eo *obj, Elm_Map_Source_Type type);
+
+/**
+ * @brief Add a new route to the map object.
+ *
+ * A route will be traced by point on coordinates ($flat, @c flon) to point on
+ * coordinates ($tlat, @c tlon), using the route service set with
+ * @ref elm_obj_map_source_set.
+ *
+ * It will take @c type on consideration to define the route, depending if the
+ * user will be walking or driving, the route may vary. One of
+ * #ELM_MAP_ROUTE_TYPE_MOTOCAR, #ELM_MAP_ROUTE_TYPE_BICYCLE, or
+ * #ELM_MAP_ROUTE_TYPE_FOOT need to be used.
+ *
+ * Another parameter is what the route should prioritize, the minor distance or
+ * the less time to be spend on the route. So @c method should be one of
+ * #ELM_MAP_ROUTE_METHOD_SHORTEST or #ELM_MAP_ROUTE_METHOD_FASTEST.
+ *
+ * Routes created with this method can be deleted with @ref elm_map_route_del
+ * and distance can be get with @ref elm_map_route_distance_get.
+ *
+ * @param[in] obj The object.
+ * @param[in] type The type of transport to be considered when tracing a route.
+ * @param[in] method The routing method, what should be prioritized.
+ * @param[in] flon The start longitude.
+ * @param[in] flat The start latitude.
+ * @param[in] tlon The destination longitude.
+ * @param[in] tlat The destination latitude.
+ * @param[in] route_cb The route to be traced.
+ * @param[in] data A pointer of user data.
+ *
+ * @return The created route or @c null upon failure.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Elm_Map_Route *elm_obj_map_route_add(Eo *obj, Elm_Map_Route_Type type, Elm_Map_Route_Method method, double flon, double flat, double tlon, double tlat, Elm_Map_Route_Cb route_cb, void *data);
+
+/**
+ * @brief Add a track on the map.
+ *
+ * @param[in] obj The object.
+ * @param[in] emap The emap route object.
+ *
+ * @return The route object. This is an elm object of type Route.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Efl_Canvas_Object *elm_obj_map_track_add(Eo *obj, void *emap);
+
+/**
+ * @brief Convert geographic coordinates (longitude, latitude) into canvas
+ * coordinates.
+ *
+ * This gets canvas x, y coordinates from longitude and latitude. The canvas
+ * coordinates mean x, y coordinate from current viewport.
+ *
+ * @param[in] obj The object.
+ * @param[in] lon The longitude to convert.
+ * @param[in] lat The latitude to convert.
+ * @param[out] x A pointer to horizontal coordinate.
+ * @param[out] y A pointer to vertical coordinate.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_region_to_canvas_convert(const Eo *obj, double lon, double lat, int *x, int *y);
+
+/**
+ * @brief Add a new circle overlay to the map object. This overlay has a circle
+ * type.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ * @param[in] lon The center longitude.
+ * @param[in] lat The center latitude.
+ * @param[in] radius The pixel length of radius.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Elm_Map_Overlay *elm_obj_map_overlay_circle_add(Eo *obj, double lon, double lat, double radius);
+
+/**
+ * @brief Add a new class overlay to the map object. This overlay has a class
+ * type.
+ *
+ * This overlay is not shown before overlay members are appended. if overlay
+ * members in the same class are close, group overlays are created. If they are
+ * far away, group overlays are hidden. When group overlays are shown, they
+ * have default style layouts at first.
+ *
+ * You can change the state (hidden, paused, etc.) or set the content or icon
+ * of the group overlays by chaning the state of the class overlay. Do not
+ * modify the group overlay itself.
+ *
+ * Also these changes have a influence on the overlays in the same class even
+ * if each overlay is alone and is not grouped.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Elm_Map_Overlay *elm_obj_map_overlay_class_add(Eo *obj);
+
+/**
+ * @brief Add a new bubble overlay to the map object. This overlay has a bubble
+ * type.
+ *
+ * A bubble will not be displayed before geographic coordinates are set or any
+ * other overlays are followed.
+ *
+ * This overlay has a bubble style layout and icon or content can not be set.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Elm_Map_Overlay *elm_obj_map_overlay_bubble_add(Eo *obj);
+
+/**
+ * @brief Get the names of available sources for a specific type.
+ *
+ * It will provide a list with all available sources. Current source can be set
+ * by @ref elm_obj_map_source_set, or get with @ref elm_obj_map_source_get.
+ *
+ * At least available sources of tile type are "Mapnik", "Osmarender",
+ * "CycleMap" and "Maplint".
+ *
+ * At least available sources of route type are "Yours".
+ *
+ * At least available sources of name type are "Nominatim".
+ *
+ * @param[in] obj The object.
+ * @param[in] type Source type.
+ *
+ * @return The char pointer array of source names.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI const char **elm_obj_map_sources_get(const Eo *obj, Elm_Map_Source_Type type);
+
+/**
+ * @brief Add a new polygon overlay to the map object. This overlay has a
+ * polygon type.
+ *
+ * At least 3 regions should be added to show the polygon overlay.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Elm_Map_Overlay *elm_obj_map_overlay_polygon_add(Eo *obj);
+
+/**
+ * @brief Add a new line overlay to the map object. This overlay has a line
+ * type.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ * @param[in] flon The start longitude.
+ * @param[in] flat The start latitude.
+ * @param[in] tlon The destination longitude.
+ * @param[in] tlat The destination latitude.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Elm_Map_Overlay *elm_obj_map_overlay_line_add(Eo *obj, double flon, double flat, double tlon, double tlat);
+
+/**
+ * @brief Show the given coordinates at the center of the map, immediately.
+ *
+ * This causes map to redraw its viewport's contents to the region containing
+ * the given @c lat and @c lon, that will be moved to the center of the map.
+ *
+ * See @ref elm_obj_map_region_bring_in for a function to move with animation.
+ *
+ * @param[in] obj The object.
+ * @param[in] lon Longitude to center at.
+ * @param[in] lat Latitude to center at.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_region_show(Eo *obj, double lon, double lat);
+
+/**
+ * @brief Request a address or geographic coordinates(longitude, latitude) from
+ * a given address or geographic coordinate(longitude, latitude).
+ *
+ * If you want to get address from geographic coordinates, set input @c address
+ * as @c null and set @c lon, @c lat as you want to convert. If address is set
+ * except NULL, @c lon and @c lat are checked.
+ *
+ * To get the string for this address, @ref elm_map_name_address_get should be
+ * used after callback or "name,loaded" signal is called.
+ *
+ * To get the longitude and latitude, @ref elm_map_region_get should be used.
+ *
+ * @param[in] obj The object.
+ * @param[in] address The address.
+ * @param[in] lon The longitude.
+ * @param[in] lat The latitude.
+ * @param[in] name_cb The callback function.
+ * @param[in] data The user callback data.
+ *
+ * @return A #Elm_Map_Name handle for this coordinate.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Elm_Map_Name *elm_obj_map_name_add(const Eo *obj, const char *address, double lon, double lat, Elm_Map_Name_Cb name_cb, void *data);
+
+/**
+ * @brief Requests a list of addresses corresponding to a given name.
+ *
+ * @internal
+ *
+ * @param[in] obj The object.
+ * @param[in] address The address.
+ * @param[in] name_cb The callback function.
+ * @param[in] data The user callback data.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_name_search(const Eo *obj, const char *address, Elm_Map_Name_List_Cb name_cb, void *data);
+
+/**
+ * @brief Animatedly bring in given coordinates to the center of the map.
+ *
+ * This causes map to jump to the given @c lat and @c lon coordinates and show
+ * it (by scrolling) in the center of the viewport, if it is not already
+ * centered. This will use animation to do so and take a period of time to
+ * complete.
+ *
+ * See @ref elm_obj_map_region_show for a function to avoid animation.
+ *
+ * @param[in] obj The object.
+ * @param[in] lon Longitude to center at.
+ * @param[in] lat Latitude to center at.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_region_bring_in(Eo *obj, double lon, double lat);
+
+/**
+ * @brief Animatedly set the zoom level of the map and bring in given
+ * coordinates to the center of the map.
+ *
+ * This causes map to zoom into specific zoom level and also move to the given
+ * @c lat and @c lon coordinates and show it (by scrolling) in the center of
+ * the viewport concurrently.
+ *
+ * See also @ref elm_obj_map_region_bring_in.
+ *
+ * @param[in] obj The object.
+ * @param[in] zoom The zoom level to set.
+ * @param[in] lon Longitude to center at.
+ * @param[in] lat Latitude to center at.
+ *
+ * @since 1.11
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_region_zoom_bring_in(Eo *obj, int zoom, double lon, double lat);
+
+/**
+ * @brief Remove a track from the map.
+ *
+ * @param[in] obj The object.
+ * @param[in] route The track to remove.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_track_remove(Eo *obj, Efl_Canvas_Object *route);
+
+/**
+ * @brief Add a new route overlay to the map object. This overlay has a route
+ * type.
+ *
+ * This overlay has a route style layout and icon or content can not be set.
+ *
+ * The color scheme can be changed by @ref elm_map_overlay_content_set.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ * @param[in] route The route object to make a overlay.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Elm_Map_Overlay *elm_obj_map_overlay_route_add(Eo *obj, const Elm_Map_Route *route);
+
+/**
+ * @brief Add a new scale overlay to the map object. This overlay has a scale
+ * type.
+ *
+ * The scale overlay shows the ratio of a distance on the map to the
+ * corresponding distance.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ * @param[in] x horizontal pixel coordinate.
+ * @param[in] y vertical pixel coordinate.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Elm_Map_Overlay *elm_obj_map_overlay_scale_add(Eo *obj, int x, int y);
+
+/**
+ * @brief Add a new overlay to the map object. This overlay has a default type.
+ *
+ * A overlay will be created and shown in a specific point of the map, defined
+ * by @c lon and @c lat.
+ *
+ * The created overlay has a default style layout before content or icon is
+ * set. If content or icon is set, those are displayed instead of default style
+ * layout.
+ *
+ * You can set by using @ref elm_map_overlay_content_set or @ref
+ * elm_map_overlay_icon_set. If @c null is set, default style is shown again.
+ *
+ * Overlay created with this method can be deleted by @ref elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ * @param[in] lon The longitude of the overlay.
+ * @param[in] lat The latitude of the overlay.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI Elm_Map_Overlay *elm_obj_map_overlay_add(Eo *obj, double lon, double lat);
+
+/**
+ * @brief Convert canvas coordinates into geographic coordinates (longitude,
+ * latitude).
+ *
+ * This gets longitude and latitude from canvas x, y coordinates. The canvas
+ * coordinates mean x, y coordinate from current viewport.
+ *
+ * @param[in] obj The object.
+ * @param[in] x Horizontal coordinate of the point to convert.
+ * @param[in] y Vertical coordinate of the point to convert.
+ * @param[out] lon A pointer to the longitude.
+ * @param[out] lat A pointer to the latitude.
+ *
+ * @ingroup Elm_Map
+ */
+EOAPI void elm_obj_map_canvas_to_region_convert(const Eo *obj, int x, int y, double *lon, double *lat);
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_PRESS;
+
+/** Called when map was pressed
+ * @return Evas_Event_Mouse_Down
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_PRESS (&(_ELM_MAP_EVENT_PRESS))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_LOADED;
+
+/** Called when map loaded
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_LOADED (&(_ELM_MAP_EVENT_LOADED))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_TILE_LOAD;
+
+/** Called when title load started
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_TILE_LOAD (&(_ELM_MAP_EVENT_TILE_LOAD))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_TILE_LOADED;
+
+/** Called when title load finished
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_TILE_LOADED (&(_ELM_MAP_EVENT_TILE_LOADED))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_TILE_LOADED_FAIL;
+
+/** Called when title load failed
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_TILE_LOADED_FAIL (&(_ELM_MAP_EVENT_TILE_LOADED_FAIL))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_ROUTE_LOAD;
+
+/** Called when route load started
+ * @return Elm_Map_Route
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_ROUTE_LOAD (&(_ELM_MAP_EVENT_ROUTE_LOAD))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_ROUTE_LOADED;
+
+/** Called when route load finished
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_ROUTE_LOADED (&(_ELM_MAP_EVENT_ROUTE_LOADED))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_ROUTE_LOADED_FAIL;
+
+/** Called when route load failed
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_ROUTE_LOADED_FAIL (&(_ELM_MAP_EVENT_ROUTE_LOADED_FAIL))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_NAME_LOAD;
+
+/** Called when name load started
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_NAME_LOAD (&(_ELM_MAP_EVENT_NAME_LOAD))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_NAME_LOADED;
+
+/** Called when name load finished
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_NAME_LOADED (&(_ELM_MAP_EVENT_NAME_LOADED))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_NAME_LOADED_FAIL;
+
+/** Called when name load failed
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_NAME_LOADED_FAIL (&(_ELM_MAP_EVENT_NAME_LOADED_FAIL))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_OVERLAY_CLICKED;
+
+/** Called when overlay was clicked
+ * @return Elm_Map_Overlay
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_OVERLAY_CLICKED (&(_ELM_MAP_EVENT_OVERLAY_CLICKED))
+
+EWAPI extern const Efl_Event_Description _ELM_MAP_EVENT_OVERLAY_DEL;
+
+/** Called when overlay was deleted
+ * @return Elm_Map_Overlay
+ *
+ * @ingroup Elm_Map
+ */
+#define ELM_MAP_EVENT_OVERLAY_DEL (&(_ELM_MAP_EVENT_OVERLAY_DEL))
+
+#endif
--- /dev/null
+
+EAPI void
+elm_map_zoom_min_set(Elm_Map *obj, int zoom)
+{
+ elm_obj_map_zoom_min_set(obj, zoom);
+}
+
+EAPI int
+elm_map_zoom_min_get(const Elm_Map *obj)
+{
+ return elm_obj_map_zoom_min_get(obj);
+}
+
+EAPI void
+elm_map_rotate_set(Elm_Map *obj, double degree, int cx, int cy)
+{
+ elm_obj_map_rotate_set(obj, degree, cx, cy);
+}
+
+EAPI void
+elm_map_rotate_get(const Elm_Map *obj, double *degree, int *cx, int *cy)
+{
+ elm_obj_map_rotate_get(obj, degree, cx, cy);
+}
+
+EAPI void
+elm_map_user_agent_set(Elm_Map *obj, const char *user_agent)
+{
+ elm_obj_map_user_agent_set(obj, user_agent);
+}
+
+EAPI const char *
+elm_map_user_agent_get(const Elm_Map *obj)
+{
+ return elm_obj_map_user_agent_get(obj);
+}
+
+EAPI void
+elm_map_zoom_max_set(Elm_Map *obj, int zoom)
+{
+ elm_obj_map_zoom_max_set(obj, zoom);
+}
+
+EAPI int
+elm_map_zoom_max_get(const Elm_Map *obj)
+{
+ return elm_obj_map_zoom_max_get(obj);
+}
+
+EAPI void
+elm_map_region_get(const Elm_Map *obj, double *lon, double *lat)
+{
+ elm_obj_map_region_get(obj, lon, lat);
+}
+
+EAPI Eina_List *
+elm_map_overlays_get(const Elm_Map *obj)
+{
+ return elm_obj_map_overlays_get(obj);
+}
+
+EAPI void
+elm_map_tile_load_status_get(const Elm_Map *obj, int *try_num, int *finish_num)
+{
+ elm_obj_map_tile_load_status_get(obj, try_num, finish_num);
+}
+
+EAPI void
+elm_map_source_set(Elm_Map *obj, Elm_Map_Source_Type type, const char *source_name)
+{
+ elm_obj_map_source_set(obj, type, source_name);
+}
+
+EAPI const char *
+elm_map_source_get(const Elm_Map *obj, Elm_Map_Source_Type type)
+{
+ return elm_obj_map_source_get(obj, type);
+}
+
+EAPI Elm_Map_Route *
+elm_map_route_add(Elm_Map *obj, Elm_Map_Route_Type type, Elm_Map_Route_Method method, double flon, double flat, double tlon, double tlat, Elm_Map_Route_Cb route_cb, void *data)
+{
+ return elm_obj_map_route_add(obj, type, method, flon, flat, tlon, tlat, route_cb, data);
+}
+
+EAPI Efl_Canvas_Object *
+elm_map_track_add(Elm_Map *obj, void *emap)
+{
+ return elm_obj_map_track_add(obj, emap);
+}
+
+EAPI void
+elm_map_region_to_canvas_convert(const Elm_Map *obj, double lon, double lat, int *x, int *y)
+{
+ elm_obj_map_region_to_canvas_convert(obj, lon, lat, x, y);
+}
+
+EAPI Elm_Map_Overlay *
+elm_map_overlay_circle_add(Elm_Map *obj, double lon, double lat, double radius)
+{
+ return elm_obj_map_overlay_circle_add(obj, lon, lat, radius);
+}
+
+EAPI Elm_Map_Overlay *
+elm_map_overlay_class_add(Elm_Map *obj)
+{
+ return elm_obj_map_overlay_class_add(obj);
+}
+
+EAPI Elm_Map_Overlay *
+elm_map_overlay_bubble_add(Elm_Map *obj)
+{
+ return elm_obj_map_overlay_bubble_add(obj);
+}
+
+EAPI const char **
+elm_map_sources_get(const Elm_Map *obj, Elm_Map_Source_Type type)
+{
+ return elm_obj_map_sources_get(obj, type);
+}
+
+EAPI Elm_Map_Overlay *
+elm_map_overlay_polygon_add(Elm_Map *obj)
+{
+ return elm_obj_map_overlay_polygon_add(obj);
+}
+
+EAPI Elm_Map_Overlay *
+elm_map_overlay_line_add(Elm_Map *obj, double flon, double flat, double tlon, double tlat)
+{
+ return elm_obj_map_overlay_line_add(obj, flon, flat, tlon, tlat);
+}
+
+EAPI void
+elm_map_region_show(Elm_Map *obj, double lon, double lat)
+{
+ elm_obj_map_region_show(obj, lon, lat);
+}
+
+EAPI Elm_Map_Name *
+elm_map_name_add(const Elm_Map *obj, const char *address, double lon, double lat, Elm_Map_Name_Cb name_cb, void *data)
+{
+ return elm_obj_map_name_add(obj, address, lon, lat, name_cb, data);
+}
+
+EAPI void
+elm_map_name_search(const Elm_Map *obj, const char *address, Elm_Map_Name_List_Cb name_cb, void *data)
+{
+ elm_obj_map_name_search(obj, address, name_cb, data);
+}
+
+EAPI void
+elm_map_region_bring_in(Elm_Map *obj, double lon, double lat)
+{
+ elm_obj_map_region_bring_in(obj, lon, lat);
+}
+
+EAPI void
+elm_map_region_zoom_bring_in(Elm_Map *obj, int zoom, double lon, double lat)
+{
+ elm_obj_map_region_zoom_bring_in(obj, zoom, lon, lat);
+}
+
+EAPI void
+elm_map_track_remove(Elm_Map *obj, Efl_Canvas_Object *route)
+{
+ elm_obj_map_track_remove(obj, route);
+}
+
+EAPI Elm_Map_Overlay *
+elm_map_overlay_route_add(Elm_Map *obj, const Elm_Map_Route *route)
+{
+ return elm_obj_map_overlay_route_add(obj, route);
+}
+
+EAPI Elm_Map_Overlay *
+elm_map_overlay_scale_add(Elm_Map *obj, int x, int y)
+{
+ return elm_obj_map_overlay_scale_add(obj, x, y);
+}
+
+EAPI Elm_Map_Overlay *
+elm_map_overlay_add(Elm_Map *obj, double lon, double lat)
+{
+ return elm_obj_map_overlay_add(obj, lon, lat);
+}
+
+EAPI void
+elm_map_canvas_to_region_convert(const Elm_Map *obj, int x, int y, double *lon, double *lat)
+{
+ elm_obj_map_canvas_to_region_convert(obj, x, y, lon, lat);
+}
--- /dev/null
+#ifndef _ELM_MAP_EO_LEGACY_H_
+#define _ELM_MAP_EO_LEGACY_H_
+
+#ifndef _ELM_MAP_EO_CLASS_TYPE
+#define _ELM_MAP_EO_CLASS_TYPE
+
+typedef Eo Elm_Map;
+
+#endif
+
+#ifndef _ELM_MAP_EO_TYPES
+#define _ELM_MAP_EO_TYPES
+
+/**
+ * @brief Set type of a external source (provider).
+ *
+ * See @ref elm_map_sources_get() See @ref elm_map_source_get() See
+ * @ref elm_map_source_set()
+ *
+ * @ingroup Elm_Map
+ */
+typedef enum
+{
+ ELM_MAP_SOURCE_TYPE_TILE = 0, /**< Map tile provider. */
+ ELM_MAP_SOURCE_TYPE_ROUTE, /**< Route service provider. */
+ ELM_MAP_SOURCE_TYPE_NAME, /**< Name service provider. */
+ ELM_MAP_SOURCE_TYPE_LAST /**< Sentinel value to indicate last enum field
+ * during iteration */
+} Elm_Map_Source_Type;
+
+/**
+ * @brief Set type of transport used on route.
+ *
+ * See @ref elm_map_route_add()
+ *
+ * @ingroup Elm_Map
+ */
+typedef enum
+{
+ ELM_MAP_ROUTE_TYPE_MOTOCAR = 0, /**< Route should consider an automobile will
+ * be used. */
+ ELM_MAP_ROUTE_TYPE_BICYCLE, /**< Route should consider a bicycle will be used
+ * by the user. */
+ ELM_MAP_ROUTE_TYPE_FOOT, /**< Route should consider user will be walking. */
+ ELM_MAP_ROUTE_TYPE_LAST /**< Sentinel value to indicate last enum field during
+ * iteration */
+} Elm_Map_Route_Type;
+
+/**
+ * @brief Set the routing method, what should be prioritized, time or distance.
+ *
+ * See @ref elm_map_route_add()
+ *
+ * @ingroup Elm_Map
+ */
+typedef enum
+{
+ ELM_MAP_ROUTE_METHOD_FASTEST = 0, /**< Route should prioritize time. */
+ ELM_MAP_ROUTE_METHOD_SHORTEST, /**< Route should prioritize distance. */
+ ELM_MAP_ROUTE_METHOD_LAST /**< Sentinel value to indicate last enum field
+ * during iteration */
+} Elm_Map_Route_Method;
+
+
+#endif
+
+/**
+ * @brief Set the minimum zoom of the source.
+ *
+ * @param[in] obj The object.
+ * @param[in] zoom Minimum zoom value to be used.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_zoom_min_set(Elm_Map *obj, int zoom);
+
+/**
+ * @brief Get the minimum zoom of the source.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Minimum zoom value to be used.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI int elm_map_zoom_min_get(const Elm_Map *obj);
+
+/**
+ * @brief Rotate the map.
+ *
+ * @param[in] obj The object.
+ * @param[in] degree Angle from 0.0 to 360.0 to rotate around Z axis.
+ * @param[in] cx Rotation's center horizontal position.
+ * @param[in] cy Rotation's center vertical position.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_rotate_set(Elm_Map *obj, double degree, int cx, int cy);
+
+/**
+ * @brief Get the rotate degree of the map.
+ *
+ * @param[in] obj The object.
+ * @param[out] degree Angle from 0.0 to 360.0 to rotate around Z axis.
+ * @param[out] cx Rotation's center horizontal position.
+ * @param[out] cy Rotation's center vertical position.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_rotate_get(const Elm_Map *obj, double *degree, int *cx, int *cy);
+
+/**
+ * @brief Set the user agent used by the map object to access routing services.
+ *
+ * User agent is a client application implementing a network protocol used in
+ * communications within a clientserver distributed computing system
+ *
+ * The @c user_agent identification string will transmitted in a header field
+ * @c User-Agent.
+ *
+ * @param[in] obj The object.
+ * @param[in] user_agent The user agent to be used by the map.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_user_agent_set(Elm_Map *obj, const char *user_agent);
+
+/**
+ * @brief Get the user agent used by the map object.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The user agent to be used by the map.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI const char *elm_map_user_agent_get(const Elm_Map *obj);
+
+/**
+ * @brief Set the maximum zoom of the source.
+ *
+ * @param[in] obj The object.
+ * @param[in] zoom Maximum zoom value to be used.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_zoom_max_set(Elm_Map *obj, int zoom);
+
+/**
+ * @brief Get the maximum zoom of the source.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Maximum zoom value to be used.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI int elm_map_zoom_max_get(const Elm_Map *obj);
+
+/**
+ * @brief Get the current geographic coordinates of the map.
+ *
+ * This gets the current center coordinates of the map object. It can be set by
+ * @ref elm_map_region_bring_in and @ref elm_map_region_show.
+ *
+ * @param[in] obj The object.
+ * @param[out] lon Pointer to store longitude.
+ * @param[out] lat Pointer to store latitude.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_region_get(const Elm_Map *obj, double *lon, double *lat);
+
+/**
+ * @brief Return all overlays in the map object.
+ *
+ * This list includes group overlays also. So this can be changed dynamically
+ * while zooming and panning.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The list of all overlays or @c null upon failure.
+ *
+ * @since 1.7
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Eina_List *elm_map_overlays_get(const Elm_Map *obj);
+
+/**
+ * @brief Get the information of tile load status.
+ *
+ * This gets the current tile loaded status for the map object.
+ *
+ * @param[in] obj The object.
+ * @param[out] try_num Pointer to store number of tiles download requested.
+ * @param[out] finish_num Pointer to store number of tiles successfully
+ * downloaded.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_tile_load_status_get(const Elm_Map *obj, int *try_num, int *finish_num);
+
+/**
+ * @brief Set the current source of the map for a specific type.
+ *
+ * Map widget retrieves tile images that composes the map from a web service.
+ * This web service can be set with this method for #ELM_MAP_SOURCE_TYPE_TILE
+ * type. A different service can return a different maps with different
+ * information and it can use different zoom values.
+ *
+ * Map widget provides route data based on a external web service. This web
+ * service can be set with this method for #ELM_MAP_SOURCE_TYPE_ROUTE type.
+ *
+ * Map widget also provide geoname data based on a external web service. This
+ * web service can be set with this method for #ELM_MAP_SOURCE_TYPE_NAME type.
+ *
+ * The @c source_name need to match one of the names provided by
+ * @ref elm_map_sources_get.
+ *
+ * The current source can be get using @ref elm_map_source_get.
+ *
+ * @param[in] obj The object.
+ * @param[in] type Source type.
+ * @param[in] source_name The source to be used.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_source_set(Elm_Map *obj, Elm_Map_Source_Type type, const char *source_name);
+
+/**
+ * @brief Get the name of currently used source for a specific type.
+ *
+ * @param[in] obj The object.
+ * @param[in] type Source type.
+ *
+ * @return The name of the source in use.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI const char *elm_map_source_get(const Elm_Map *obj, Elm_Map_Source_Type type);
+
+/**
+ * @brief Add a new route to the map object.
+ *
+ * A route will be traced by point on coordinates ($flat, @c flon) to point on
+ * coordinates ($tlat, @c tlon), using the route service set with
+ * @ref elm_map_source_set.
+ *
+ * It will take @c type on consideration to define the route, depending if the
+ * user will be walking or driving, the route may vary. One of
+ * #ELM_MAP_ROUTE_TYPE_MOTOCAR, #ELM_MAP_ROUTE_TYPE_BICYCLE, or
+ * #ELM_MAP_ROUTE_TYPE_FOOT need to be used.
+ *
+ * Another parameter is what the route should prioritize, the minor distance or
+ * the less time to be spend on the route. So @c method should be one of
+ * #ELM_MAP_ROUTE_METHOD_SHORTEST or #ELM_MAP_ROUTE_METHOD_FASTEST.
+ *
+ * Routes created with this method can be deleted with @ref elm_map_route_del
+ * and distance can be get with @ref elm_map_route_distance_get.
+ *
+ * @param[in] obj The object.
+ * @param[in] type The type of transport to be considered when tracing a route.
+ * @param[in] method The routing method, what should be prioritized.
+ * @param[in] flon The start longitude.
+ * @param[in] flat The start latitude.
+ * @param[in] tlon The destination longitude.
+ * @param[in] tlat The destination latitude.
+ * @param[in] route_cb The route to be traced.
+ * @param[in] data A pointer of user data.
+ *
+ * @return The created route or @c null upon failure.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Elm_Map_Route *elm_map_route_add(Elm_Map *obj, Elm_Map_Route_Type type, Elm_Map_Route_Method method, double flon, double flat, double tlon, double tlat, Elm_Map_Route_Cb route_cb, void *data);
+
+/**
+ * @brief Add a track on the map.
+ *
+ * @param[in] obj The object.
+ * @param[in] emap The emap route object.
+ *
+ * @return The route object. This is an elm object of type Route.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Efl_Canvas_Object *elm_map_track_add(Elm_Map *obj, void *emap);
+
+/**
+ * @brief Convert geographic coordinates (longitude, latitude) into canvas
+ * coordinates.
+ *
+ * This gets canvas x, y coordinates from longitude and latitude. The canvas
+ * coordinates mean x, y coordinate from current viewport.
+ *
+ * @param[in] obj The object.
+ * @param[in] lon The longitude to convert.
+ * @param[in] lat The latitude to convert.
+ * @param[out] x A pointer to horizontal coordinate.
+ * @param[out] y A pointer to vertical coordinate.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_region_to_canvas_convert(const Elm_Map *obj, double lon, double lat, int *x, int *y);
+
+/**
+ * @brief Add a new circle overlay to the map object. This overlay has a circle
+ * type.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ * @param[in] lon The center longitude.
+ * @param[in] lat The center latitude.
+ * @param[in] radius The pixel length of radius.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Elm_Map_Overlay *elm_map_overlay_circle_add(Elm_Map *obj, double lon, double lat, double radius);
+
+/**
+ * @brief Add a new class overlay to the map object. This overlay has a class
+ * type.
+ *
+ * This overlay is not shown before overlay members are appended. if overlay
+ * members in the same class are close, group overlays are created. If they are
+ * far away, group overlays are hidden. When group overlays are shown, they
+ * have default style layouts at first.
+ *
+ * You can change the state (hidden, paused, etc.) or set the content or icon
+ * of the group overlays by chaning the state of the class overlay. Do not
+ * modify the group overlay itself.
+ *
+ * Also these changes have a influence on the overlays in the same class even
+ * if each overlay is alone and is not grouped.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Elm_Map_Overlay *elm_map_overlay_class_add(Elm_Map *obj);
+
+/**
+ * @brief Add a new bubble overlay to the map object. This overlay has a bubble
+ * type.
+ *
+ * A bubble will not be displayed before geographic coordinates are set or any
+ * other overlays are followed.
+ *
+ * This overlay has a bubble style layout and icon or content can not be set.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Elm_Map_Overlay *elm_map_overlay_bubble_add(Elm_Map *obj);
+
+/**
+ * @brief Get the names of available sources for a specific type.
+ *
+ * It will provide a list with all available sources. Current source can be set
+ * by @ref elm_map_source_set, or get with @ref elm_map_source_get.
+ *
+ * At least available sources of tile type are "Mapnik", "Osmarender",
+ * "CycleMap" and "Maplint".
+ *
+ * At least available sources of route type are "Yours".
+ *
+ * At least available sources of name type are "Nominatim".
+ *
+ * @param[in] obj The object.
+ * @param[in] type Source type.
+ *
+ * @return The char pointer array of source names.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI const char **elm_map_sources_get(const Elm_Map *obj, Elm_Map_Source_Type type);
+
+/**
+ * @brief Add a new polygon overlay to the map object. This overlay has a
+ * polygon type.
+ *
+ * At least 3 regions should be added to show the polygon overlay.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Elm_Map_Overlay *elm_map_overlay_polygon_add(Elm_Map *obj);
+
+/**
+ * @brief Add a new line overlay to the map object. This overlay has a line
+ * type.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ * @param[in] flon The start longitude.
+ * @param[in] flat The start latitude.
+ * @param[in] tlon The destination longitude.
+ * @param[in] tlat The destination latitude.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Elm_Map_Overlay *elm_map_overlay_line_add(Elm_Map *obj, double flon, double flat, double tlon, double tlat);
+
+/**
+ * @brief Show the given coordinates at the center of the map, immediately.
+ *
+ * This causes map to redraw its viewport's contents to the region containing
+ * the given @c lat and @c lon, that will be moved to the center of the map.
+ *
+ * See @ref elm_map_region_bring_in for a function to move with animation.
+ *
+ * @param[in] obj The object.
+ * @param[in] lon Longitude to center at.
+ * @param[in] lat Latitude to center at.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_region_show(Elm_Map *obj, double lon, double lat);
+
+/**
+ * @brief Request a address or geographic coordinates(longitude, latitude) from
+ * a given address or geographic coordinate(longitude, latitude).
+ *
+ * If you want to get address from geographic coordinates, set input @c address
+ * as @c null and set @c lon, @c lat as you want to convert. If address is set
+ * except NULL, @c lon and @c lat are checked.
+ *
+ * To get the string for this address, @ref elm_map_name_address_get should be
+ * used after callback or "name,loaded" signal is called.
+ *
+ * To get the longitude and latitude, @ref elm_map_region_get should be used.
+ *
+ * @param[in] obj The object.
+ * @param[in] address The address.
+ * @param[in] lon The longitude.
+ * @param[in] lat The latitude.
+ * @param[in] name_cb The callback function.
+ * @param[in] data The user callback data.
+ *
+ * @return A #Elm_Map_Name handle for this coordinate.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Elm_Map_Name *elm_map_name_add(const Elm_Map *obj, const char *address, double lon, double lat, Elm_Map_Name_Cb name_cb, void *data);
+
+/**
+ * @brief Requests a list of addresses corresponding to a given name.
+ *
+ * @internal
+ *
+ * @param[in] obj The object.
+ * @param[in] address The address.
+ * @param[in] name_cb The callback function.
+ * @param[in] data The user callback data.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_name_search(const Elm_Map *obj, const char *address, Elm_Map_Name_List_Cb name_cb, void *data);
+
+/**
+ * @brief Animatedly bring in given coordinates to the center of the map.
+ *
+ * This causes map to jump to the given @c lat and @c lon coordinates and show
+ * it (by scrolling) in the center of the viewport, if it is not already
+ * centered. This will use animation to do so and take a period of time to
+ * complete.
+ *
+ * See @ref elm_map_region_show for a function to avoid animation.
+ *
+ * @param[in] obj The object.
+ * @param[in] lon Longitude to center at.
+ * @param[in] lat Latitude to center at.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_region_bring_in(Elm_Map *obj, double lon, double lat);
+
+/**
+ * @brief Animatedly set the zoom level of the map and bring in given
+ * coordinates to the center of the map.
+ *
+ * This causes map to zoom into specific zoom level and also move to the given
+ * @c lat and @c lon coordinates and show it (by scrolling) in the center of
+ * the viewport concurrently.
+ *
+ * See also @ref elm_map_region_bring_in.
+ *
+ * @param[in] obj The object.
+ * @param[in] zoom The zoom level to set.
+ * @param[in] lon Longitude to center at.
+ * @param[in] lat Latitude to center at.
+ *
+ * @since 1.11
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_region_zoom_bring_in(Elm_Map *obj, int zoom, double lon, double lat);
+
+/**
+ * @brief Remove a track from the map.
+ *
+ * @param[in] obj The object.
+ * @param[in] route The track to remove.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_track_remove(Elm_Map *obj, Efl_Canvas_Object *route);
+
+/**
+ * @brief Add a new route overlay to the map object. This overlay has a route
+ * type.
+ *
+ * This overlay has a route style layout and icon or content can not be set.
+ *
+ * The color scheme can be changed by @ref elm_map_overlay_content_set.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ * @param[in] route The route object to make a overlay.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Elm_Map_Overlay *elm_map_overlay_route_add(Elm_Map *obj, const Elm_Map_Route *route);
+
+/**
+ * @brief Add a new scale overlay to the map object. This overlay has a scale
+ * type.
+ *
+ * The scale overlay shows the ratio of a distance on the map to the
+ * corresponding distance.
+ *
+ * Overlay created with this method can be deleted with @ref
+ * elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ * @param[in] x horizontal pixel coordinate.
+ * @param[in] y vertical pixel coordinate.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Elm_Map_Overlay *elm_map_overlay_scale_add(Elm_Map *obj, int x, int y);
+
+/**
+ * @brief Add a new overlay to the map object. This overlay has a default type.
+ *
+ * A overlay will be created and shown in a specific point of the map, defined
+ * by @c lon and @c lat.
+ *
+ * The created overlay has a default style layout before content or icon is
+ * set. If content or icon is set, those are displayed instead of default style
+ * layout.
+ *
+ * You can set by using @ref elm_map_overlay_content_set or @ref
+ * elm_map_overlay_icon_set. If @c null is set, default style is shown again.
+ *
+ * Overlay created with this method can be deleted by @ref elm_map_overlay_del.
+ *
+ * @param[in] obj The object.
+ * @param[in] lon The longitude of the overlay.
+ * @param[in] lat The latitude of the overlay.
+ *
+ * @return The created overlay or @c null upon failure.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI Elm_Map_Overlay *elm_map_overlay_add(Elm_Map *obj, double lon, double lat);
+
+/**
+ * @brief Convert canvas coordinates into geographic coordinates (longitude,
+ * latitude).
+ *
+ * This gets longitude and latitude from canvas x, y coordinates. The canvas
+ * coordinates mean x, y coordinate from current viewport.
+ *
+ * @param[in] obj The object.
+ * @param[in] x Horizontal coordinate of the point to convert.
+ * @param[in] y Vertical coordinate of the point to convert.
+ * @param[out] lon A pointer to the longitude.
+ * @param[out] lat A pointer to the latitude.
+ *
+ * @ingroup Elm_Map_Group
+ */
+EAPI void elm_map_canvas_to_region_convert(const Elm_Map *obj, int x, int y, double *lon, double *lat);
+
+#endif
*/
EAPI Eina_Bool elm_map_paused_get(const Evas_Object *obj);
-#include "elm_map.eo.legacy.h"
+#include "elm_map_eo.legacy.h"
+++ /dev/null
-class Elm.Map.Pan extends Elm.Pan
-{
- [[Elementary map pan class]]
- legacy_prefix: elm_map_pan;
- eo_prefix: elm_obj_map_pan;
- event_prefix: elm_map_pan;
- implements {
- class.constructor;
- Efl.Object.destructor;
- Efl.Gfx.Entity.position { set; }
- Efl.Gfx.Entity.size { set; }
- Efl.Canvas.Group.group_calculate;
- Elm.Pan.content_size { get; }
- Elm.Pan.pos { get; set; }
- Elm.Pan.pos_min { get; }
- Elm.Pan.pos_max { get; }
- }
- events {
- /* FIXME: Nobody is emitting these
- loaded; [[Called when map loaded]]
- tile,load; [[Called when map tile loading started]]
- tile,loaded; [[Called when map tile loading finished]]
- tile,loaded,fail; [[Called when map tile loading failed]]
- route,load; [[Called when route loiding started]]
- route,loaded; [[Called when route loading finsihed]]
- route,loaded,fail; [[Called when route loading failed]]
- name,load; [[Called when name loading started]]
- name,loaded; [[Called when name loading finished]]
- name,loaded,fail; [[Called when name loading failed]]
- overlay,clicked; [[Called when overlay was clicked]]
- overlay,del; [[Called when overlay was deleted]]
- */
- }
-}
--- /dev/null
+
+void _elm_map_pan_efl_object_destructor(Eo *obj, Elm_Map_Pan_Data *pd);
+
+
+void _elm_map_pan_efl_gfx_entity_position_set(Eo *obj, Elm_Map_Pan_Data *pd, Eina_Position2D pos);
+
+
+void _elm_map_pan_efl_gfx_entity_size_set(Eo *obj, Elm_Map_Pan_Data *pd, Eina_Size2D size);
+
+
+void _elm_map_pan_efl_canvas_group_group_calculate(Eo *obj, Elm_Map_Pan_Data *pd);
+
+
+void _elm_map_pan_elm_pan_content_size_get(const Eo *obj, Elm_Map_Pan_Data *pd, int *w, int *h);
+
+
+void _elm_map_pan_elm_pan_pos_set(Eo *obj, Elm_Map_Pan_Data *pd, int x, int y);
+
+
+void _elm_map_pan_elm_pan_pos_get(const Eo *obj, Elm_Map_Pan_Data *pd, int *x, int *y);
+
+
+void _elm_map_pan_elm_pan_pos_min_get(const Eo *obj, Elm_Map_Pan_Data *pd, int *x, int *y);
+
+
+void _elm_map_pan_elm_pan_pos_max_get(const Eo *obj, Elm_Map_Pan_Data *pd, int *x, int *y);
+
+
+static Eina_Bool
+_elm_map_pan_class_initializer(Efl_Class *klass)
+{
+ const Efl_Object_Ops *opsp = NULL;
+
+ const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
+
+#ifndef ELM_MAP_PAN_EXTRA_OPS
+#define ELM_MAP_PAN_EXTRA_OPS
+#endif
+
+ EFL_OPS_DEFINE(ops,
+ EFL_OBJECT_OP_FUNC(efl_destructor, _elm_map_pan_efl_object_destructor),
+ EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _elm_map_pan_efl_gfx_entity_position_set),
+ EFL_OBJECT_OP_FUNC(efl_gfx_entity_size_set, _elm_map_pan_efl_gfx_entity_size_set),
+ EFL_OBJECT_OP_FUNC(efl_canvas_group_calculate, _elm_map_pan_efl_canvas_group_group_calculate),
+ EFL_OBJECT_OP_FUNC(elm_obj_pan_content_size_get, _elm_map_pan_elm_pan_content_size_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_set, _elm_map_pan_elm_pan_pos_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_get, _elm_map_pan_elm_pan_pos_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_min_get, _elm_map_pan_elm_pan_pos_min_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_max_get, _elm_map_pan_elm_pan_pos_max_get),
+ ELM_MAP_PAN_EXTRA_OPS
+ );
+ opsp = &ops;
+
+ return efl_class_functions_set(klass, opsp, ropsp);
+}
+
+static const Efl_Class_Description _elm_map_pan_class_desc = {
+ EO_VERSION,
+ "Elm.Map.Pan",
+ EFL_CLASS_TYPE_REGULAR,
+ sizeof(Elm_Map_Pan_Data),
+ _elm_map_pan_class_initializer,
+ _elm_map_pan_class_constructor,
+ NULL
+};
+
+EFL_DEFINE_CLASS(elm_map_pan_class_get, &_elm_map_pan_class_desc, ELM_PAN_CLASS, NULL);
--- /dev/null
+#ifndef _ELM_MAP_PAN_EO_H_
+#define _ELM_MAP_PAN_EO_H_
+
+#ifndef _ELM_MAP_PAN_EO_CLASS_TYPE
+#define _ELM_MAP_PAN_EO_CLASS_TYPE
+
+typedef Eo Elm_Map_Pan;
+
+#endif
+
+#ifndef _ELM_MAP_PAN_EO_TYPES
+#define _ELM_MAP_PAN_EO_TYPES
+
+
+#endif
+/** Elementary map pan class
+ *
+ * @ingroup Elm_Map_Pan
+ */
+#define ELM_MAP_PAN_CLASS elm_map_pan_class_get()
+
+EWAPI const Efl_Class *elm_map_pan_class_get(void);
+
+#endif
--- /dev/null
+#ifndef _ELM_MAP_PAN_EO_LEGACY_H_
+#define _ELM_MAP_PAN_EO_LEGACY_H_
+
+#ifndef _ELM_MAP_PAN_EO_CLASS_TYPE
+#define _ELM_MAP_PAN_EO_CLASS_TYPE
+
+typedef Eo Elm_Map_Pan;
+
+#endif
+
+#ifndef _ELM_MAP_PAN_EO_TYPES
+#define _ELM_MAP_PAN_EO_TYPES
+
+
+#endif
+
+#endif
pub_legacy_eo_files = [
'efl_ui_clock_legacy.eo',
- 'elm_map.eo',
- 'elm_map_pan.eo',
'elm_menu.eo',
'elm_notify.eo',
'elm_panel.eo',
'elm_list_item_eo.legacy.h',
'elm_mapbuf_eo.h',
'elm_mapbuf_eo.legacy.h',
+ 'elm_map_eo.h',
+ 'elm_map_eo.legacy.h',
+ 'elm_map_pan_eo.h',
+ 'elm_map_pan_eo.legacy.h',
]
elementary_header_src = [