eina
evas
ecore
+ cairo
+ elementary
+ capi-media-image-util
)
SET(pc_dependents "capi-base-common")
* The developer is allowed to choose one of map providers by manipulating map
* plug-ins.
*
- * @if WEARABLE
- * @section CAPI_MAPS_SERVICE_MODULE_FEATURE Related Features
- * This API is related with the following features:
- * - http://tizen.org/feature/network.internet
- *
- * It is recommended to design feature related codes in your application for
- * reliability.\n
- *
- * You can check if a device supports the related features for this API by using
- * @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of
- * your application.\n
- *
- * To ensure your application is only running on the device with specific
- * features, please define the features in your manifest file using the manifest
- * editor in the SDK.\n
- *
- * More details on featuring your application can be found from
- * <a href="https://developer.tizen.org/development/tools/native-tools/manifest-text-editor#feature"><b>Feature Element</b>.</a>
- * @endif
*/
#endif /*__MAPS_SERVICE_DOC_H__ */
/**
* @brief The address handle.
* @details The address handle can be obtained via calling of maps_address_create()
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
typedef void *maps_address_h;
/**
* @brief The address list handle
* @details The address list handle can be obtained via calling of maps_address_list_create().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*/
typedef void *maps_address_list_h;
* @brief Creates a new address handle.
* @details This function creates a new address handle and allocates all
* needed resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a address must be released using maps_address_destroy().
* \n @a address may be cloned using maps_address_clone().
*
* @brief Destroys the address handle and releases all its resources.
* @details This function destroys the address handle and releases all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address The address handle to destroy
* @return 0 on success, otherwise a negative error value
* @details This function clones the address handle @a origin and all its
* resources.
* \n Address handle @a origin may be created using maps_address_create().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_address_destroy().
*
* @param[in] origin The original address handle
/**
* @brief Gets the building number of the address handle.
* @details This function gets the building number of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a building_number must be released using free().
*
* @param[in] address The address handle
/**
* @brief Gets the street name of the address handle.
* @details This function gets the street name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a street must be released using free().
*
* @param[in] address The address handle
/**
* @brief Gets the district name of the address handle.
* @details This function gets the district name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a district must be released using free().
*
* @param[in] address The address handle
/**
* @brief Gets the city name of the address handle.
* @details This function gets the city name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a city must be released using free().
*
* @param[in] address The address handle
/**
* @brief Gets the state name of the address handle
* @details This function gets the state name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a state must be released using free().
*
* @param[in] address The address handle
/**
* @brief Gets the country name of the address handle.
* @details This function gets the country name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a country must be released using free().
*
* @param[in] address The address handle
/**
* @brief Gets the country code of the address handle.
* @details This function gets the country code of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a country_code must be released using free().
*
* @param[in] address The address handle
/**
* @brief Gets the county of the address handle.
* @details This function gets the county of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a county must be released using free().
*
* @param[in] address The address handle
/**
* @brief Gets the postal code of the address handle.
* @details This function gets the postal code of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a postal_code must be released using free().
*
* @param[in] address The address handle
/**
* @brief Gets the free text of the address handle.
* @details This function gets the free text of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a freetext must be released using free().
*
* @param[in] address The address handle
/**
* @brief Sets the building number of the address handle.
* @details This function sets the building number of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address The address handle
* @param[in] building_number The building number to be set
/**
* @brief Sets the street name of the address handle.
* @details This function sets the street name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address The address handle
* @param[in] street The street name to be set
/**
* @brief Sets the district name of the address handle.
* @details This function sets the district name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address The address handle
* @param[in] district The district name to be set
/**
* @brief Sets the city name of the address handle.
* @details This function sets the city name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address The address handle
* @param[in] city The city name to be set
/**
* @brief Sets the state name of the address handle.
* @details This function sets the state name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address The address handle
* @param[in] state The state name to be set
/**
* @brief Sets the country name of the address handle.
* @details This function sets the country name of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address The address handle
* @param[in] country The country name to be set
/**
* @brief Sets the country code of the address handle.
* @details This function sets the country code of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address The address handle
* @param[in] country_code The country code to be set
/**
* @brief Sets the county of the address handle.
* @details This function sets the county of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address The address handle
* @param[in] county The county to be set
/**
* @brief Sets the postal code of the address handle.
* @details This function sets the postal code of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address The address handle
* @param[in] postal_code The postal code to be set
/**
* @brief Sets the free text of the address handle.
* @details This function sets the free text of the address handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address The address handle
* @param[in] freetext The free text to be set
/**
* @brief Creates a address list having a set of addresses.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[out] address_list The address list handle
* @return 0 on success, otherwise a negative error value
/**
* @brief Appends an address to an address list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks Don't release @a address before removed from the list using maps_address_list_remove().
*
* @param[in] address_list The address list handle
/**
* @brief Removes an address from an address list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks @a address is just excepted from the list.\n
* It must be released using maps_address_destroy().
*
/**
* @brief Gets the number of elements in an address list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address_list The address list handle
* @param[out] length The number of elements in the address list
/**
* @brief Called iteratively to get address information.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] index The index of iteration
* @param[in] address The address handle
/**
* @brief Retrieves all addresses by invoking a specific callback for each address of address list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address_list The address list handle
* @param[in] callback The iteration callback
/**
* @brief Frees all of the memory used by a address list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] address_list The address list handle
* @return 0 on success, otherwise a negative error value
* @brief Handle of the Geographical Area.
* @details The Geographical Area handle can be obtained via call of
* maps_area_create_rectangle() or maps_area_create_circle().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* \n To release the handle use maps_area_destroy().
* \n To clone the handle use maps_area_clone().
*
* @brief Enumeration of supported types of the Geographical Area.
* @details This enumeration represents allowed geographical type of
* Geographical Area: rectangular and circular.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
typedef enum {
MAPS_AREA_NONE = 0, /**< Undefined geographical area type. */
* specified with left top and right bottom coordinates.
* @warning Do not use #maps_area_rectangle_s directly
* if you are an application developer.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
typedef struct _maps_area_rectangle_s {
maps_coordinates_s top_left; /**< The top left position of rectangle. */
* @details This structure represents a circular Geographical Area.
* @warning Do not use #maps_area_circle_s directly
* if you are an application developer.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
typedef struct _maps_area_circle_s {
maps_coordinates_s center; /**< The center position of a circle. */
* @warning Do not use #maps_area_s directly
* if you are an application developer.
* Using #maps_area_h is recommanded.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
typedef struct _maps_area_s {
maps_area_type_e type; /**< The area type of this information. */
* specified information.
* @details This function creates a rectangular type of new #maps_area_h with a
* specified left top and right bottom coordinates.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a area must be released using maps_area_destroy().
* \n @a area may be cloned using maps_area_clone().
* \n @a top_left and @a bottom_right must be released using
* specified information.
* @details This function creates a circular type of new #maps_area_h
* Geographical Area with a specified center coordinates and a radius.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a area must be released using maps_area_destroy().
* \n @a center must be released using maps_coordinates_destroy().
* \n The @a radius is specified in units, listed in #maps_distance_unit_e.
* @brief Destroys the Geographical Area and releases all its resources.
* @details This function destroys the Geographical Area #maps_area_h and
* releases all its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] area The area #maps_area_h
* @return 0 on success, otherwise a negative error value
* @brief Clones the Geographical Area.
* @details This function makes a clone of the @a origin Geographical Area of
* type #maps_area_h.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_area_destroy().
*
* @param[in] origin The area #maps_area_h to be copied
* @brief Handle of the Geographical Coordinates.
* @details The Geographical Coordinates handle can be obtained via call of
* maps_coordinates_create().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks To release the handle use maps_coordinates_destroy().
* \n To clone the handle use maps_coordinates_clone().
*/
* a @a latitude and @a longitude values.
* \n The @a latitude must be in range of [-90.0, 90.0].
* \n The @a longitude must be in range of [-180.0, 180.0].
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks #maps_coordinates_h is a void pointer to the #maps_coordinates_h.
* @warning Do not use #maps_coordinates_s directly if you are an application developer.
* Using #maps_coordinates_h is recommanded.
/**
* @brief The coorinates list handle.
* @details The coorindates list handle can be obtained via calling of maps_coordinates_list_create().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*/
typedef void *maps_coordinates_list_h;
* Coordinates of type #maps_coordinates_h
* with a specified @a latitude and @a longitude.
* \n New handle is assigned with this instance.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a coordinates must be released using maps_coordinates_destroy().
* \n @a coordinates may be cloned using maps_coordinates_clone().
*
* resources.
* @details This function destroys the Geographical Coordinates
* #maps_coordinates_h and releases all its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates The coordinate handle to destroy
* @return 0 on coordinates, otherwise a negative error value
* @brief Clones the Geographical Coordinates.
* @details This function makes a clone of the @a origin Geographical
* Coordinates of type #maps_coordinates_h.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_coordinates_destroy().
*
* @param[in] origin The original coordinate handle
/**
* @brief Gets the latitude of the coordinates.
* @details This function gets the @a latitude value of the coordinates handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates The coordinate handle
* @param[out] latitude The latitude of the coordinate handle
/**
* @brief Gets the longitude of the coordinates.
* @details This function gets the @a longitude value of the coordinates handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates The coordinate handle
* @param[out] longitude The longitude of the coordinate handle
* @brief Gets the latitude and longitude of the coordinates.
* @details This function gets the @a longitude and @a longitude value of the
* coordinates handle.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates The coordinate handle
* @param[out] latitude The latitude of the coordinate handle
/**
* @brief Sets the latitude of the coordinates.
* @details This function sets the @a latitude value of the coordinates handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates The coordinate handle
* @param[in] latitude The latitude of the coordinate handle
/**
* @brief Sets the longitude of the coordinates.
* @details This function sets the @a longitude value of the coordinates handle.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates The coordinate handle
* @param[out] longitude The longitude of the coordinate handle
* @brief Sets the latitude and longitude of the coordinates.
* @details This function sets the @a latitude and @a latitude value of the
* coordinates handle.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates The coordinates handle
* @param[in] latitude The latitude [-90.0 ~ 90.0] (degrees)
/**
* @brief Creates a coordinates list having a set of coordinates.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[out] coordinates_list The coordinates list handle
* @return 0 on success, otherwise a negative error value
/**
* @brief Frees all of the memory used by a coordinates list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates_list coordinates list handle
* @retval #MAPS_ERROR_NONE Successful
/**
* @brief Appends a coordinates to a coordinates list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates_list The coordinates list handle
* @param[in] coordinates The coordinates handle
/**
* @brief Removes a coordinates from a coordinates list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates_list The coordinates list handle
* @param[in] coordinates The coordinates handle
/**
* @brief Gets the number of elements in an coordinates list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates_list The coordinates list handle
* @param[out] length The number of elements in the coordinates list
/**
* @brief Called iteratively to get a coordinates information.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] index The index of iteration
* @param[in] coordinates The handle of coordinates
/**
* @brief Retrieves all coordinates by invoking a specific callback for each coordinates of coordinates list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] coordinates_list The coordinates list handle
* @param[in] callback The iteration callback
/**
* @ingroup CAPI_MAPS_SERVICE_MODULE
- * @defgroup CAPI_MAPS_ERROR_MODULE Errors
*
* @file maps_error.h
* @brief This file contains the list of errors of Maps API
*
- * @addtogroup CAPI_MAPS_ERROR_MODULE
+ * @addtogroup CAPI_MAPS_SERVICE_AND_PREFERENCE_MODULE
* @{
* @brief This provides a list of Maps API errors
*/
/**
* @brief Enumerations of error codes for Maps Service and Plug-ins
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
typedef enum _maps_error_e {
MAPS_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
* @details The handle of Place instance.
* @remarks To release the handle use maps_place_destroy().
* \n To clone the handle use maps_place_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_destroy()
* @see maps_place_clone()
/**
* @brief The Place list handle
* @details The handle of Place list instance.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_list_foreach()
* @see maps_place_list_destroy()
* @brief Called when requesting the list of Place Properties.
* @details This callback is invoked while iterating through the list of Place
* Properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a key and @a value must be released using free() and corresponding
* release method for property value correspondingly.
*
* @brief Called when requesting the list of Place Categories.
* @details This callback is invoked while iterating through the list of Place
* Categories.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a category is valid only in this function and must be released
* using maps_place_category_destroy().
* \n To use @a category outside this function, clone it with
* @brief Called when requesting the list of Place Attributes.
* @details This callback is invoked while iterating through the list of Place
* Attributes.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a attribute is valid only in this function and must be released
* using maps_place_attribute_destroy().
* \n To use @a attribute outside this function, clone it with
* @brief Called when requesting the list of Place Contacts.
* @details This callback is invoked while iterating through the list of Place
* Contacts.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a contact is valid only in this function and must be released using
* maps_place_contact_destroy().
* \n To use @a contact outside this function, clone it with
* @brief Called when requesting the list of Place Editorial.
* @details This callback is invoked while iterating through the list of Place
* Editorials.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a editorial is valid only in this function and must be released
* using maps_place_editorial_destroy().
* \n To use @a editorial outside this function, clone it with
* @brief Called when requesting the list of Place Image.
* @details This callback is invoked while iterating through the list of Place
* Images.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a image is valid only in this function and must be released using
* maps_place_image_destroy().
* \n To use @a image outside this function, clone it with
* @brief Called when requesting the list of Place Review.
* @details This callback is invoked while iterating through the list of Place
* Reviews.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a review is valid only in this function and must be released using
* maps_place_review_destroy().
* \n To use @a review outside this function, clone it with
/**
* @brief Called when requesting the list of Place.
* @details This callback is invoked while iterating through the list of Place.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] index The current index of review
* @param[in] place The place handle
* @brief Destroys the place handle and releases all its resources.
* @details This function destroys the place handle and releases all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] place The place handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the place handle.
* @details This function clones the place handle @a origin and all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_destroy().
*
* @param[in] origin The original place handle
/**
* @brief Gets the place id.
* @details This function gets the place id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a id must be released using free().
*
* @param[in] place The place handle
/**
* @brief Gets the place name.
* @details This function gets the place name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a name must be released using free().
*
* @param[in] place The place handle
/**
* @brief Gets the place view URI.
* @details This function gets the place view URI.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a uri must be released using free().
*
* @param[in] place The place handle
/**
* @brief Gets the place location.
* @details This function gets the place location.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a location must be released using maps_coordinates_destroy().
*
* @param[in] place The place handle
* @brief Gets the place distance from the center of the location.
* @details This function gets the place distance from the center of the
* location.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] place The place handle
* @param[out] distance The place distance in meters
/**
* @brief Gets the place address.
* @details This function gets the place address.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a address must be released using maps_address_destroy().
*
* @param[in] place The place handle
/**
* @brief Gets the place rating.
* @details This function gets the place rating.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a rating must be released using maps_place_rating_destroy().
*
* @param[in] place The place handle
/**
* @brief Retrieves all properties.
* @details This function retrieves all place properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The properties will be delivered via maps_place_properties_cb().
*
* @param[in] place The place handle
/**
* @brief Retrieves all categories
* @details This function retrieves all place categories.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The categories will be delivered via maps_place_categories_cb().
*
* @param[in] place The place handle
/**
* @brief Retrieves all attributes.
* @details This function retrieves all place attributes.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The attributes will be delivered via maps_place_attributes_cb().
*
* @param[in] place The place handle
/**
* @brief Retrieves all contacts.
* @details This function retrieves all place contacts.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The contacts will be delivered via maps_place_contacts_cb().
*
* @param[in] place The place handle
/**
* @brief Retrieves all editorials.
* @details This function retrieves all place editorials.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The editorials will be delivered via maps_place_editorials_cb().
*
* @param[in] place The place handle
/**
* @brief Retrieves all images.
* @details This function retrieves all place images.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The images will be delivered via maps_place_images_cb().
*
* @param[in] place The place handle
/**
* @brief Retrieves all reviews.
* @details This function retrieves all place reviews.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The reviews will be delivered via maps_place_reviews_cb().
*
* @param[in] place The place handle
/**
* @brief Gets the place supplier link.
* @details This function gets the place supplier link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a supplier must be released using maps_place_link_object_destroy().
*
* @param[in] place The place handle image
/**
* @brief Gets the place related link.
* @details This function gets the place related link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a related must be released using maps_place_link_object_destroy().
*
* @param[in] place The place handle image
/**
* @brief Retrieves all places.
* @details This function retrieves all places.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks The places will be delivered via maps_place_cb().
* \n @a place_list must be released using maps_place_list_destroy().
*
/**
* @brief Frees all of the memory used by a place list.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] place_list The place list handle
* @return 0 on success, otherwise a negative error value
* @details The handle of Place Attribute instance.
* @remarks To release the handle use maps_place_attribute_destroy().
* \n To clone the handle use maps_place_attribute_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_attribute_destroy()
* @see maps_place_attribute_clone()
* resources.
* @details This function destroys the place attribute handle and releases all
* its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] attribute The place attribute handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the place attribute handle.
* @details This function clones the place attribute handle @a origin and all
* its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_attribute_destroy().
*
* @param[in] origin The original place attribute handle
/**
* @brief Gets the place attribute id.
* @details This function gets the place attribute id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a id must be released using free().
*
* @param[in] attribute The handle to place attribute
/**
* @brief Gets the place link object label.
* @details This function gets the place link object label.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a label must be released using free().
*
* @param[in] attribute The handle to place attribute
/**
* @brief Gets the place attribute text.
* @details This function gets the place attribute text.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a text must be released using free().
*
* @param[in] attribute The handle to place attribute
* @details The handle of Place Category instance.
* @remarks To release the handle use maps_place_category_destroy().
* \n To clone the handle use maps_place_category_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_category_destroy()
* @see maps_place_category_clone()
/*----------------------------------------------------------------------------*/
+
+/**
+ * @brief Creates a new place category handle.
+ * @details This function creates a new place category handle and allocates all
+ * needed resources.
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+ * @remarks @a category must be released using maps_place_category_destroy().
+ * \n @a category may be cloned using maps_place_category_clone().
+ *
+ * @param[out] category A handle of a new place category on success
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @see maps_place_category_destroy()
+ * @see maps_place_category_clone()
+ */
+int maps_place_category_create(maps_place_category_h *category);
+
+
/**
* @brief Clones the place category handle.
* @details This function clones the place category handle @a origin and all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_category_destroy().
*
* @param[in] origin The original place category handle
* resources.
* @details This function destroys the place category handle and releases all
* its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] category The place category handle to destroy
* @return 0 on success, otherwise a negative error value
/**
* @brief Gets the place category id.
* @details This function gets the place category id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a id must be released using free().
*
* @param[in] category The handle of place category
* @retval #MAPS_ERROR_NONE Successful
* @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
*/
-int maps_place_category_get_id(const maps_place_category_h category, char **id);
+int maps_place_category_get_id(const maps_place_category_h category,
+ char **id);
+
/**
* @brief Gets the place category name.
* @details This function gets the place category name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a name must be released using free().
*
* @param[in] category The handle of place category
* @retval #MAPS_ERROR_NONE Successful
* @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
*/
-int maps_place_category_get_name(const maps_place_category_h category, char **name);
+int maps_place_category_get_name(const maps_place_category_h category,
+ char **name);
+
/**
* @brief Gets the place category URL.
* @details This function gets the place category URL.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a url must be released using free().
*
* @param[in] category The handle of place category
* @retval #MAPS_ERROR_NONE Successful
* @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
*/
-int maps_place_category_get_url(const maps_place_category_h category, char **url);
+int maps_place_category_get_url(const maps_place_category_h category,
+ char **url);
+
+
+/**
+ * @brief Sets the place category id.
+ * @details This function sets the place category id.
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in] category The handle of place category
+ * @param[in] id The place category id
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a category is created using maps_place_category_create().
+ *
+ * @see maps_place_category_create()
+ * @see maps_place_category_get_id()
+ */
+int maps_place_category_set_id(maps_place_category_h category,
+ const char *id);
+
+
+/**
+ * @brief Sets the place category name.
+ * @details This function sets the place category name.
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in] category The handle of place category
+ * @param[in] name The place category name
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a category is created using maps_place_category_create().
+ *
+ * @see maps_place_category_create()
+ * @see maps_place_category_get_name()
+ */
+int maps_place_category_set_name(maps_place_category_h category,
+ const char *name);
+
+
+/**
+ * @brief Sets the place category URL.
+ * @details This function sets the place category URL.
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in] category The handle of place category
+ * @param[in] url The place category URL
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a category is created using maps_place_category_create().
+ *
+ * @see maps_place_category_create()
+ * @see maps_place_category_get_url()
+ */
+int maps_place_category_set_url(maps_place_category_h category,
+ const char *url);
+
#ifdef __cplusplus
}
* @details The handle of Place Contact instance.
* @remarks To release the handle use maps_place_contact_destroy().
* \n To clone the handle use maps_place_contact_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_contact_destroy()
* @see maps_place_contact_clone()
* resources.
* @details This function destroys the place contact handle and releases all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] contact The place contact handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the place contact handle.
* @details This function clones the place contact handle @a origin and all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_contact_destroy().
*
* @param[in] origin The original place contact handle
/**
* @brief Gets the place contact label.
* @details This function gets the place contact label.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a label must be released using free().
*
* @param[in] contact The handle to place contact
/**
* @brief Gets the place contact type.
* @details This function gets the place contact type.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a type must be released using free().
*
* @param[in] contact The handle to place contact
/**
* @brief Gets the place contact value.
* @details This function gets the place contact value.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a value must be released using free().
*
* @param[in] contact The handle to place contact
* @details The handle of Place Editorial instance.
* @remarks To release the handle use maps_place_editorial_destroy().
* \n To clone the handle use maps_place_editorial_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_editorial_destroy()
* @see maps_place_editorial_clone()
* resources.
* @details This function destroys the place editorial handle and releases all
* its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] editorial The place editorial handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the place editorial handle.
* @details This function clones the place editorial handle @a origin and all
* its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_editorial_destroy().
*
* @param[in] origin The original place editorial handle
/**
* @brief Gets the place editorial description.
* @details This function gets the place editorial description.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a description must be released using free().
*
* @param[in] editorial The handle of place editorial
/**
* @brief Gets the place editorial language.
* @details This function gets the place editorial language.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a language must be released using free().
*
* @param[in] editorial The handle of place editorial
/**
* @brief Gets the place editorial media.
* @details This function gets the place editorial media.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a media must be released using maps_place_media_destroy().
*
* @param[in] editorial The handle of place editorial
* @details The handle of Place Filter instance.
* @remarks To release the handle use maps_place_filter_destroy().
* \n To clone the handle use maps_place_filter_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_filter_destroy()
* @see maps_place_filter_clone()
* @brief Called when requesting the list of Place Filter Properties.
* @details This callback is invoked while iterating through the list of Place
* Filter Properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a key and @a value must be released using free() and corresponding
* release method for property value correspondingly.
*
* @brief Creates a new place filter handle.
* @details This function creates a new place filter handle and allocates all
* needed resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a filter must be released using maps_place_filter_destroy().
* \n @a filter may be cloned using maps_place_filter_clone().
*
* @brief Destroys the place filter handle and releases all its resources.
* @details This function destroys the place filter handle and releases all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] filter The place filter handle to destroy
* @return 0 on success, otherwise a negative error value
* resources.
* \n Place filter handle @a origin may be created using
* maps_place_filter_create().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_filter_destroy().
*
* @param[in] origin The place filter handle to be cloned
* @brief Gets the value of the specified key in the place filter.
* @details This function gets the value of the specified key in the place
* filter.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a value must be released using free().
*
* @param[in] filter The handle of the place filter
/**
* @brief Gets the value of keyword.
* @details This function gets the value of keyword.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a keyword must be released using free().
*
* @param[in] filter The handle of the place filter
/**
* @brief Gets the place name.
* @details This function gets the place name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a place_name must be released using free().
*
* @param[in] filter The handle of the place filter
* @brief Gets the category.
* @details This function gets the category.
* \n For allowed values of keys, see the macros above.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a category must be released using maps_place_category_destroy().
*
* @param[in] filter The handle of the place filter
/**
* @brief Retrieves all filter properties.
* @details This function retrieves all place filter properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] filter The handle of the place filter
* @param[in] callback The callback function to invoke
/**
* @brief Gets the place address.
* @details This function gets the place address.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks @a place_address must be released using free().
*
* @param[in] filter The handle of the place filter
* @brief Sets the filter value.
* @details This function sets the filter value in an assignment with a
* specified string key.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] filter The handle of the place filter
* @param[in] key The key of filter
/**
* @brief Sets the keyword.
* @details This function sets the keyword.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] filter The handle of the place filter
* @param[in] keyword The keyword
/**
* @brief Sets the place name.
* @details This function sets the place name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] filter The handle of the place filter
* @param[in] place_name The place name
/**
* @brief Sets the category.
* @details This function sets the place name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] filter The handle of the place filter
* @param[in] category The category
/**
* @brief Sets the place address.
* @details This function sets the place address.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] filter The handle of the place filter
* @param[in] place_address The place address
* @details The handle of Place Image instance.
* @remarks To release the handle use maps_place_image_destroy().
* \n To clone the handle use maps_place_image_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_image_destroy()
* @see maps_place_image_clone()
* @brief Destroys the place image handle and releases all its resources.
* @details This function destroys the place image handle and releases all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] image The place image handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the place image handle.
* @details This function clones the place image handle @a origin and all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_image_destroy().
*
* @param[in] origin The original place image handle
/**
* @brief Gets the place image id.
* @details This function gets the place image id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a id must be released using free().
*
* @param[in] image The handle of place image
/**
* @brief Gets the place image URL.
* @details This function gets the place image URL.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a url must be released using free().
*
* @param[in] image The handle of place image
/**
* @brief Gets the place image width.
* @details This function gets the place image width.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] image The handle of place image
* @param[out] width The place image width
/**
* @brief Gets the place image height.
* @details This function gets the place image height.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] image The handle of place image
* @param[out] height The place image height
/**
* @brief Gets the place image user link.
* @details This function gets the place image user link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a user must be released using maps_place_link_object_destroy().
*
* @param[in] image The handle of place image
/**
* @brief Gets the place image media.
* @details This function gets the place image media.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a media must be released using maps_place_media_destroy().
*
* @param[in] image The handle of place image
* @details The handle of Place Link Object instance.
* @remarks To release the handle use maps_place_link_object_destroy().
* \n To clone the handle use maps_place_link_object_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_link_object_destroy()
* @see maps_place_link_object_clone()
* resources.
* @details This function destroys the place link object handle and releases all
* its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] link The place link object handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the place link object handle.
* @details This function clones the place link object handle @a origin and all
* its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_link_object_destroy().
*
* @param[in] origin The original place link object handle
/**
* @brief Gets the place link object id.
* @details This function gets the place link object id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a id must be released using free().
*
* @param[in] link The handle of place link object
/**
* @brief Gets the place link object name.
* @details This function gets the place link object name.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a name must be released using free().
*
* @param[in] link The handle of place link object
/**
* @brief Gets the place link object string.
* @details This function gets the place link object string.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a string must be released using free().
*
* @param[in] link The handle of place link object
/**
* @brief Gets the place link object type.
* @details This function gets the place link object type.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a type must be released using free().
*
* @param[in] link The handle of place link object
* @details The handle of Place Media instance.
* @remarks To release the handle use maps_place_media_destroy().
* \n To clone the handle use maps_place_media_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_media_destroy()
* @see maps_place_media_clone()
* @brief Destroys the place media handle and releases all its resources.
* @details This function destroys the place media handle and releases all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] media The place media handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the place media handle.
* @details This function clones the place media handle @a origin and all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_media_destroy().
*
* @param[in] origin The original place media handle
/**
* @brief Gets the place media attribution.
* @details This function gets the place media attribution.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a attribution must be released using free().
*
* @param[in] media The handle of place media
/**
* @brief Gets the place media supplier link.
* @details This function gets the place media supplier link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a supplier must be released using maps_place_link_object_destroy().
*
* @param[in] media The handle of place media
/**
* @brief Gets the place media "via" link.
* @details This function gets the place media "via" link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a via must be released using maps_place_link_object_destroy().
*
* @param[in] media The handle of place media
* @details The handle of Place Rating instance.
* @remarks To release the handle use maps_place_rating_destroy().
* \n To clone the handle use maps_place_rating_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_rating_destroy()
* @see maps_place_rating_clone()
* @brief Destroys the place rating handle and releases all its resources.
* @details This function destroys the place rating handle and releases all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] rating The place rating handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the place rating handle.
* @details This function clones the place rating handle @a origin and all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_rating_destroy().
*
* @param[in] origin The original place rating handle
/**
* @brief Gets the place rating count.
* @details This function gets the place rating count.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] rating The handle to place rating handle
* @param[out] count The place rating count
/**
* @brief Gets the place rating average.
* @details This function gets the place rating average.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] rating The handle to place rating handle
* @param[out] average The place average rating
* @details The handle of Place Review instance.
* @remarks To release the handle use maps_place_review_destroy().
* \n To clone the handle use maps_place_review_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_review_destroy()
* @see maps_place_review_clone()
* @brief Destroys the place review handle and releases all its resources.
* @details This function destroys the place review handle and releases all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] review The place review handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the place review handle.
* @details This function clones the place review handle @a origin and all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_review_destroy().
*
* @param[in] origin The original place review handle
/**
* @brief Gets the place review date.
* @details This function gets the place review date.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a date must be released using free().
*
* @param[in] review The handle to place review
/**
* @brief Gets the place review title.
* @details This function gets the place review title.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a title must be released using free().
*
* @param[in] review The handle to place review
/**
* @brief Gets the place review rating.
* @details This function gets the place review rating.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] review The handle to place review
* @param[out] rating The place review rating
/**
* @brief Gets the place review description.
* @details This function gets the place review description.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a description must be released using free().
*
* @param[in] review The handle to place review
/**
* @brief Gets the place review language.
* @details This function gets the place review language.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a language must be released using free().
*
* @param[in] review The handle to place review
/**
* @brief Gets the place review media.
* @details This function gets the place review media.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a media must be released using maps_place_media_destroy().
*
* @param[in] review The handle to place review
/**
* @brief Gets the place review user link.
* @details This function gets the place review user link.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a user must be released using maps_place_link_object_destroy().
*
* @param[in] review The handle to place review
* @details The handle of Place URL instance.
* @remarks To release the handle use maps_place_url_destroy().
* \n To clone the handle use maps_place_url_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_place_url_destroy()
* @see maps_place_url_clone()
* @brief Destroys the place URL handle and releases all its resources.
* @details This function destroys the place URL handle and releases all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] url The place URL handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the place URL handle.
* @details This function clones the place URL handle @a origin and all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_place_url_destroy().
*
* @param[in] origin The original place url handle
/**
* @brief Gets the place URL path.
* @details This function gets the place URL path.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a path must be released using free().
*
* @param[in] url The handle to place url handle
/**
* @brief Gets the place URL description.
* @details This function gets the place URL description.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a desc must be released using free().
*
* @param[in] url The handle to place url handle
#define __MAPS_PLUGIN_H__
#include <maps_service.h>
-#include <maps_view.h>
+#include <maps_view_plugin.h>
#include <maps_plugin_info.h>
#include <maps_extra_types.h>
#include <maps_plugin_types.h>
int maps_plugin_get_max_zoom_level(maps_view_h view, int *max_zoom_level);
/**
- * @brief Get the central coordinates of a Map.
+ * @brief Gets the central coordinates of a Map.
* @details This function gets the central coordinates of a Map.
* @since_tizen 3.0
* @remarks @a coordinates must be released using maps_coordinates_destroy().
*/
int maps_plugin_get_center(maps_view_h view, maps_coordinates_h *coordinates);
+/**
+ * @brief Gets raw pixels of the Map.
+ * @details This function gets raw pixels of the Map.
+ * @since_tizen 3.0
+ *
+ * @param[in] view The view handle
+ * @param[out] data The pixels of the Map
+ * @param[out] width The width of @a data
+ * @param[out] height The height of @a data
+ * @param[out] cs The color space of @a data
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ */
+int maps_plugin_capture_snapshot(maps_view_h view, void **data, int *width, int *height,
+ maps_view_colorspace_type_e *cs);
+
#ifdef __cplusplus
}
#endif
/**
* @brief The name of the preference indicating place type while searching
* the place
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_PLACE_FILTER_TYPE "MAPS_PLACE_FILTER_TYPE"
/**
* @brief The name of the preference indicating sorting key while
* searching the place
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_PLACE_FILTER_SORT_BY "MAPS_PLACE_FILTER_SORT_BY"
/**
* @brief The name of the preference indicating free-form address to avoid
* while computing the route
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_ROUTE_FREEFORM_ADDR_TO_AVOID "MAPS_ROUTE_FREEFORM_ADDR_TO_AVOID"
/**
* @brief The name of the preference indicating structured address to
* avoid while computing the route
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_ROUTE_STRUCTED_ADDR_TO_AVOID "MAPS_ROUTE_STRUCTED_ADDR_TO_AVOID"
/**
* @brief The name of the preference indicating circular geographical area
* to avoid while computing the route
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_ROUTE_CIRCLE_AREA_TO_AVOID "MAPS_ROUTE_CIRCLE_AREA_TO_AVOID"
/**
* @brief The name of the preference indicating rectangular geographical
* area to avoid while computing the route
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_ROUTE_RECT_AREA_TO_AVOID "MAPS_ROUTE_RECT_AREA_TO_AVOID"
/**
* @brief The name of the preference indicating that route should be
* computed within a specified bounding box
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_ROUTE_GEOMETRY_BOUNDING_BOX "MAPS_ROUTE_GEOMETRY_BOUNDING_BOX"
/**
* @brief The name of the preference indicating that geometry parameters
* should be retrieved while route processing
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_ROUTE_GEOMETRY_RETRIEVAL "MAPS_ROUTE_GEOMETRY_RETRIEVAL"
/**
* @brief The name of the preference indicating that route should be
* computed with geometry instructions
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_ROUTE_INSTRUCTION_GEOMETRY "MAPS_ROUTE_INSTRUCTION_GEOMETRY"
/**
* @brief The name of the preference indicating that route should be
* computed with bounding box instructions
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_ROUTE_INSTRUCTION_BOUNDING_BOX "MAPS_ROUTE_INSTRUCTION_BOUNDING_BOX"
/**
* @brief The name of the preference indicating that route should be
* computed correspondingly to retrieval instructions
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_ROUTE_INSTRUCTION_RETRIEVAL "MAPS_ROUTE_INSTRUCTION_RETRIEVAL"
/**
* @brief The name of the preference indicating that route should be
* computed in accordance to real time traffic
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
#define MAPS_ROUTE_REALTIME_TRAFFIC "MAPS_ROUTE_REALTIME_TRAFFIC"
* maps_preference_create().
* \n To release the handle use maps_preference_destroy().
* \n To clone the handle use maps_preference_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_preference_create()
* @see maps_preference_destroy()
* @brief Enumeration of allowed distance units.
* @details This enumeration represents allowed distance units used in Maps
* Services.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see #maps_preference_h
*/
* @brief Enumeration of allowed route optimization option.
* @details This enumeration represents allowed route optimization option used
* in Route Service.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see #_maps_route_transport_mode_e
* @see #_maps_route_feature_weight_e
* @brief Enumeration of preferable route types.
* @details This enumeration represents allowed route types used in Route
* Service.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see #_maps_distance_unit_e
* @see #_maps_route_feature_weight_e
* @brief Enumeration of route feature weights.
* @details This enumeration represents allowed route feature weights used in
* Route Service.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see #_maps_distance_unit_e
* @see #_maps_route_transport_mode_e
* @brief Enumeration of route features.
* @details This enumeration represents allowed route features used in Route
* Service.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see #_maps_distance_unit_e
* @see #_maps_route_transport_mode_e
* @brief Called when requesting the list of Maps Properties.
* @details This callback is invoked while iterating through the list of Maps
* Properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a key and @a value must be released using free() and corresponding
* release method for property value correspondingly.
*
* @brief Creates a new maps preference handle.
* @details This function creates a new maps preference handle and allocates all
* needed resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a preference must be released using maps_preference_destroy().
* \n @a preference may be cloned using maps_preference_clone().
*
* resources.
* @details This function destroys the maps preference handle and releases all
* its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @return 0 on success, otherwise a negative error value
* @brief Clones the maps preference handle.
* @details This function clones the maps preference handle @a origin and all
* its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_preference_destroy().
*
* @param[in] origin The original preference handle
/**
* @brief Gets the distance unit.
* @details This function gets the maps distance unit.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[out] unit The distance unit
/**
* @brief Gets the language.
* @details This function gets the maps language.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a language must be released using free().
*
* @param[in] preference The preference handle
/**
* @brief Gets the max amount of results.
* @details This function gets the max amount of results.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[out] max_results The max amount of results
/**
* @brief Gets the country code.
* @details This function gets the country code.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a country_code must be released using free().
*
* @param[in] preference The preference handle
/**
* @brief Gets the route optimization.
* @details This function gets the route optimization.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[out] optimization The route optimization
/**
* @brief Gets the route transport mode.
* @details This function gets the route transport mode.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[out] transport_mode The transport mode
/**
* @brief Gets the route feature weight.
* @details This function gets the route feature weight.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[out] feature_weight The feature weight
/**
* @brief Gets the route feature.
* @details This function gets the route feature.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[out] feature The feature
/**
* @brief Gets the enable status of alternative routes.
* @details This function retrieves the enable status of alternative route.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[out] enable The enable status
/**
* @brief Gets the maps preference value by key.
* @details This function gets the maps preference value by key.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a value must be released using free().
*
* @param[in] preference The preference handle
/**
* @brief Retrieves all maps properties.
* @details This function retrieves all maps properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The properties will be delivered via
* maps_preference_properties_cb().
*
/**
* @brief Sets the maps distance unit.
* @details This function sets the maps distance unit.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[in] unit The distance unit
/**
* @brief Sets the maps language.
* @details This function sets the maps language.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[in] language The maps language
/**
* @brief Sets the max amount of results.
* @details This function sets the max amount of results.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[in] max_results The max amount of results
/**
* @brief Sets the maps country code.
* @details This function sets the maps country code.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[in] country_code The maps country code
/**
* @brief Sets the route optimization.
* @details This function sets the route optimization.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[in] optimization The route optimization
/**
* @brief Sets the route transport mode.
* @details This function sets the route transport mode.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[in] transport_mode The route transport mode
/**
* @brief Sets the route feature weight.
* @details This function sets the route feature weight.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[in] feature_weight The route feature weight
/**
* @brief Sets the route feature.
* @details This function sets the route feature.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[in] feature The route feature
/**
* @brief Sets the enable status of alternative routes.
* @details This function sets the alternative routes status.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[in] enable The value to set
* @brief Sets the preference value by key.
* @details This function sets the preference value assigned with a specified
* key.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] preference The preference handle
* @param[in] key The key
* @details The handle of Route instance.
* @remarks To release the handle use maps_route_destroy().
* \n To clone the handle use maps_route_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_route_destroy()
* @see maps_route_clone()
* @brief Called when requesting the path of the Route.
* @details This callback is invoked while iterating through the list of
* coordinates, composing the Route.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a coordinates must be released using maps_coordinates_destroy().
* \n To use @a coordinates outside this function, clone it with
* maps_coordinates_clone().
* @brief Called when requesting the segments of the Route.
* @details This callback is invoked while iterating through the list of
* segments, composing the Route.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a segment is valid only in this function and must be released using
* maps_route_segment_destroy().
* \n To use @a segment outside this function, clone it with
* @brief Called when requesting the list of Route Properties.
* @details This callback is invoked while iterating through the list of Route
* Properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a key and @a value must be released using free() and corresponding
* release method for property value correspondingly.
* \n To use @a key and @a value outside this function, you should clone it.
* @brief Destroys the route handle and releases all its resources.
* @details This function destroys the route handle and releases all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] route The route handle
* @return 0 on success, otherwise a negative error value
* @brief Clones the route handle.
* @details This function clones the route handle @a origin and all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_route_destroy().
*
* @param[in] origin The original route handle
/**
* @brief Gets the route id.
* @details This function gets the route id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a id must be released using free().
*
* @param[in] route The route handle
/**
* @brief Gets the route origin.
* @details This function gets the route origin.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a origin must be released using maps_coordinates_destroy().
*
* @param[in] route The route handle
/**
* @brief Gets the route destination.
* @details This function gets the route destination.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a destination must be released using maps_coordinates_destroy().
*
* @param[in] route The route handle
/**
* @brief Gets the route bounding box.
* @details This function gets the route bounding box.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a bounding_box must be released using maps_area_destroy().
*
* @param[in] route The route handle
/**
* @brief Gets the route transport mode.
* @details This function gets the route transport mode.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] route The route handle
* @param[out] transport_mode The transport mode
/**
* @brief Gets the route total distance.
* @details This function gets the route total distance.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] route The route handle
* @param[out] total_distance The distance of route. You can get the distance
/**
* @brief Gets the route total duration.
* @details This function gets the route total duration.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] route The route handle
* @param[out] total_duration The duration
/**
* @brief Gets the route distance units.
* @details This function gets the route distance units.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] route The route handle
* @param[out] distance_unit The distance units
/**
* @brief Retrieves all properties.
* @details This function retrieves all route properties.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The properties will be delivered via maps_route_properties_cb().
*
* @param[in] route The route handle
/**
* @brief Retrieves all coordinates of the path.
* @details This function retrieves all coordinates of the route path.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The coordinates will be delivered via maps_route_path_cb().
*
* @param[in] route The route handle
/**
* @brief Retrieves all segments of the route.
* @details This function retrieves all segments of the route.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The segments will be delivered via maps_route_path_cb().
*
* @param[in] route The route handle
* @details The handle of Route Maneuver instance.
* @remarks To release the handle use maps_route_maneuver_destroy().
* \n To clone the handle use maps_route_maneuver_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_route_maneuver_destroy()
* @see maps_route_maneuver_clone()
/**
* @brief The enumeration of direction type.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
typedef enum {
MAPS_ROUTE_DIRECTION_NONE, /**< Indicates unknown direction */
/**
* @brief The enumeration of turn type.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
typedef enum {
MAPS_ROUTE_TURN_TYPE_NONE, /**< Indicates unknown instruction. */
* resources.
* @details This function destroys the route maneuver handle and releases all
* its resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] maneuver The maneuver handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the route maneuver handle.
* @details This function clones the route maneuver handle @a origin and all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_route_maneuver_destroy().
*
* @param[in] origin The original maneuver handle
/**
* @brief Gets the route maneuver direction id.
* @details This function gets the route maneuver direction id.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] maneuver The maneuver handle
* @param[out] direction_id The direction ID
/**
* @brief Gets the route maneuver turn type.
* @details This function gets the route maneuver turn type.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] maneuver The maneuver handle
* @param[out] turn_type The turn type
/**
* @brief Gets the route maneuver position.
* @details This function gets the route maneuver position.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a position must be released using maps_coordinates_destroy().
*
* @param[in] maneuver The maneuver handle
/**
* @brief Gets the road name of the route maneuver.
* @details This function gets the road name of the route maneuver.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a road_name must be released using free().
*
* @param[in] maneuver The maneuver handle
* @brief Gets the instruction text (narrative) of the route maneuver.
* @details This function gets the instruction text (narrative) of the route
* maneuver.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a instruction_text must be released using free().
*
* @param[in] maneuver The maneuver handle
/**
* @brief Gets the route maneuver locale.
* @details This function gets the route maneuver locale.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a locale must be released using free().
*
* @param[in] maneuver The maneuver handle
* @brief Gets the time to next instruction of the route maneuver.
* @details This function gets the time to next instruction of the route
* maneuver.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] maneuver The maneuver handle
* @param[out] time_to_next_instruction The time to next instruction on the
* @brief Gets the distance to next instruction of the route maneuver.
* @details This function gets the distance to next instruction of the route
* maneuver.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] maneuver The maneuver handle
* @param[out] distance_to_next_instruction The distance from the current
* @details The handle of Route Segment instance.
* @remarks To release the handle use maps_route_segment_destroy().
* \n To clone the handle use maps_route_segment_clone().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_route_segment_destroy()
* @see maps_route_segment_clone()
* @brief Called when requesting the path of the Route Segment.
* @details This callback is invoked while iterating through the list of
* coordinates, composing the Route Segment.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a coordinates must be released using maps_coordinates_destroy().
* \n To use @a coordinates outside this function, clone it with
* maps_coordinates_clone().
* @brief Called when requesting the maneuvers of the Route Segment.
* @details This callback is invoked while iterating through the list of
* maneuvers, composing the Route Segment.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a maneuver is valid only in this function and must be released
* using maps_route_maneuver_destroy().
* \n To use @a maneuver outside this function, clone it with
* @brief Destroys the route segment handle and releases all its resources.
* @details This function destroys the route segment handle and releases all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] segment The segment handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the route segment handle.
* @details This function clones the route handle @a origin and all its
* resources.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_route_segment_destroy().
*
* @param[in] origin The original segment handle
/**
* @brief Gets the route segment origin.
* @details This function gets the route segment origin.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a origin must be released using maps_coordinates_destroy().
*
* @param[in] segment The segment handle
/**
* @brief Gets the route segment destination.
* @details This function gets the route segment destination.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a destination must be released using maps_coordinates_destroy().
*
* @param[in] segment The segment handle
/**
* @brief Gets the route segment bounding box.
* @details This function gets the route segment bounding box.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a bounding_box must be released using maps_area_destroy().
*
* @param[in] segment The segment handle
/**
* @brief Gets the route segment distance.
* @details This function gets the route segment distance.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] segment The segment handle
* @param[out] distance The distance of segment
/**
* @brief Gets the route segment duration.
* @details This function gets the route segment duration.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] segment The segment handle
* @param[out] duration The distance of segment
/**
* @brief Retrieves all coordinates of the path.
* @details This function retrieves all coordinates of the route segment path.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The coordinates will be delivered via maps_route_segment_path_cb().
*
* @param[in] segment The segment handle
/**
* @brief Retrieves all maneuvers of the path.
* @details This function retrieves all maneuvers of the route segment path.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The coordinates will be delivered via
* maps_route_segment_maneuver_cb().
*
* @file maps_route_segment_plugin.h
* @brief This file contains the functions related to Route Segment
* information, needed in plug-in development.
- * @addtogroup CAPI_MAPS_ROUTE_SEGMENT_MODULE
+ * @addtogroup CAPI_MAPS_PLUGIN_ROUTE_SEGMENT_MODULE
* @{
* @brief This provides APIs related to Route Segment information, used
* in Route Search, needed in plug-in development.
/**
* @brief Enumerations of maps requests available in the Maps Service
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
typedef enum _maps_service_e {
MAPS_SERVICE_GEOCODE, /**< Indicates that maps_service_geocode() service is allowed */
MAPS_SERVICE_SEARCH_PLACE_LIST, /**< Indicates that maps_service_search_place_list() service is allowed @if MOBILE (Since 3.0) @endif */
MAPS_SERVICE_SEARCH_GET_PLACE_DETAILS, /**< Indicates that maps_service_search_get_place_details() service is allowed @if MOBILE (Since 3.0) @endif */
- MAPS_SERVICE_VIEW = 0x100 /**< Indicates that maps view service is allowed @if MOBILE (Since 3.0) @endif */
+ MAPS_SERVICE_VIEW = 0x100, /**< Indicates that maps view service is allowed @if MOBILE (Since 3.0) @endif */
+ MAPS_SERVICE_VIEW_SNAPSHOT /**< Indicates that maps view snapshot service is allowed @if MOBILE (Since 3.0) @endif */
} maps_service_e;
/**
* @brief Enumerations of maps features available in the Maps Service
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*/
typedef enum _maps_service_data_e {
MAPS_PLACE_ADDRESS, /**< Indicates the availability of address value in the Place data */
* @brief The Maps Service handle
* @details The Maps Service handle can be created by calling of maps_service_create().
* \n To release the handle use maps_service_destroy().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_service_create()
* @see maps_service_destroy()
/**
* @brief Called when requesting available Maps Providers.
* @details A Maps Service invokes this callback iteratively as long as available Maps Providers exist.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The string @a maps_provider must be released using free().
*
* @param[in] maps_provider The info of Maps Provider
* @brief Gets available Maps Providers.
* @details This function delivers available Maps Providers via
* maps_service_provider_info_cb() callback.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] callback The callback function to receive available Maps Providers
* information
* and linked with Maps Service handle.
* \n A Maps Service handle is used to query Maps Provider performing services,
* such as Geocoding, Searching Places and Routing.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/network.get
/**
* @brief Destroys the Maps Service handle and releases all its resources.
* @details This function releases all used resources of the Maps Service and Maps Provider.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
*
* @details This function sets the Maps Provider's Key which will be used in each Maps
* Service request to Maps Provider.
* \n Maps key can be obtained with maps_service_get_provider_key().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks To get the @a provider_key, refer to corresponding Maps Provider
* documentation.
* \n To get app_id and app_code of HERE, visit https://developer.here.com/,
* @details This function gets the Maps Key which is to be used in each Maps
* Service request to Maps Provider.
* \n Maps key can be set with maps_service_set_provider_key().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The string @a provider_key must be released using free().
* \n @a maps_service_get_provider_key is always synchronous function.
*
* @brief Sets the Maps Preference.
* @details This function sets the Maps Preferences which are used in each Maps
* Service request to Maps Provider.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] maps The handle of Maps Service
* @param[in] preference The handle of Maps Preference
* @details This function gets the Maps Preferences which are used in each Maps
* Service request to Maps Provider.
* \n Preferences can be set with maps_service_set_preference().
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a preference must be released using maps_preference_destroy().
* \n @a maps_service_get_preference is always synchronous function.
*
/**
* @brief Checks if the Maps Service supports a request.
* @details This function checks if the Maps Service supports a specified request.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a maps_service_provider_is_service_supported is always synchronous
* function.
*
* @brief Checks if the Maps Service supports a data feature.
* @details This function checks if the Maps Service supports a specified data
* feature.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks @a maps_service_provider_is_data_supported is always synchronous
* function.
*
* @details This function cancels the service request initiated by geocoding
* and searching places and routes.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
*
* @ingroup CAPI_MAPS_SERVICE_MODULE
* @defgroup CAPI_MAPS_GEOCODER_MODULE Geocoder
*
- * @addtogroup CAPI_MAPS_GEOCODER_MODULE
+ * @if WEARABLE
+ * @section CAPI_MAPS_SERVICE_MODULE_FEATURE Related Features
+ * This API is related with the following features:\n
+ * - http://tizen.org/feature/network.internet\n
+ *
+ * It is recommended to design feature related codes in your application for reliability.\n
+ *
+ * You can check if a device supports the related features for this API by using
+ * @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
+ *
+ * To ensure your application is only running on the device with specific features,
+ * please define the features in your manifest file using the manifest editor in the SDK.\n
+ *
+ * More details on featuring your application can be found from
+ * <a href="https://developer.tizen.org/development/getting-started/native-application/understanding-tizen-programming/application-filtering"><b>Feature List</b>.</a>
+ * @endif
+ *
+ * @addtogroup CAPI_MAPS_GEOCODER_MODULE
* @{
* @brief This provides APIs for Geocoder Service
* @details The Maps Geocoding API allows translating an address to its
* @details The Maps Service invokes this callback while iterating through the
* list of obtained coordinates of the specified place.
* \n If search is failed, the value of @a total is 0 and @a coordinates is NULL
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The parameter @a coordinates must be released using
* maps_coordinates_destroy().
* \n This error code will be reported. \n
* #MAPS_ERROR_OUT_OF_MEMORY \n
* #MAPS_ERROR_INVALID_PARAMETER \n
* #MAPS_ERROR_NOT_FOUND.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] result The result of request
* @param[in] request_id The id of request
* \n The request is asynchronous.
* @details This function obtains position coordinates for a given free-formed
* address string.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* \n The request is asynchronous.
* @details This function obtains position coordinates for a given free-formed
* address string within the specified bounding box.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* \n The request is asynchronous.
* @details This function obtains position coordinates for a given structured
* address.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* \n The request is asynchronous.
* @details This function obtains structured address information for a given
* position coordinates.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* from map service provider.
* \n The value of @a total is same with requested coordinates list size.
* Even though one of address is not provided valid address handle is retrieved.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks You can get the respective address information of @a address_list
* using maps_address_list_foreach().
* \n This error code will be reported. \n
* @brief Gets the address list for a given position coordinates list.
* \n The request is asynchronous.
* @details This function obtains structured address information.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @ingroup CAPI_MAPS_SERVICE_MODULE
* @defgroup CAPI_MAPS_PLACE_MODULE Places
*
- * @addtogroup CAPI_MAPS_PLACE_MODULE
+ * @if WEARABLE
+ * @section CAPI_MAPS_SERVICE_MODULE_FEATURE Related Features
+ * This API is related with the following features:\n
+ * - http://tizen.org/feature/network.internet\n
+ *
+ * It is recommended to design feature related codes in your application for reliability.\n
+ *
+ * You can check if a device supports the related features for this API by using
+ * @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
+ *
+ * To ensure your application is only running on the device with specific features,
+ * please define the features in your manifest file using the manifest editor in the SDK.\n
+ *
+ * More details on featuring your application can be found from
+ * <a href="https://developer.tizen.org/development/getting-started/native-application/understanding-tizen-programming/application-filtering"><b>Feature List</b>.</a>
+ * @endif
+ *
+ * @addtogroup CAPI_MAPS_PLACE_MODULE
* @{
* @brief This provides APIs for Place Service
* @details The Maps Place API allows to find places that are relevant to user
* @details The Maps Service invokes this callback while iterating through the
* set of obtained Place data.
* \n If search is failed, the value of @a total is 0 and @a place is NULL
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The parameter @a place must be released using maps_place_destroy().
* \n This error code will be reported. \n
* #MAPS_ERROR_NONE \n
* @details The Maps Service invokes this callback when the Place data obtained
* from the specified coordinates.
* \n If search is failed, the value of @a total is 0 and @a place_list is NULL
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks The parameter @a place_list must be released using maps_place_list_destroy().
* \n This error code will be reported. \n
* #MAPS_ERROR_NONE \n
* @details The Maps Service invokes this callback when the Place detail data
* obtained from the specified uri.
* \n If search is failed, @a place is NULL
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks The parameter @a place must be released using maps_place_destroy().
* \n This error code will be reported. \n
* #MAPS_ERROR_NONE \n
* \n The request is asynchronous.
* @details This function obtains the Place information for a specified distance
* around a given coordinates position.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* \n The request is asynchronous.
* @details This function obtains the Place information for a specified
* coordinates boundary.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* \n The request is asynchronous.
* @details This function obtains the Place information for a specified
* free-formed address string.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @brief Queries a brief Place information by a coordinates boundary.
* /n The request is asynchronous.
* @details This function obtains the brief Place information for a specified coordinates boundary.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @brief Queries a Detail place information by a place uri.
* \n The request is asynchronous.
* @details This function obtains the Detail place information for a specified place uri
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @ingroup CAPI_MAPS_SERVICE_MODULE
* @defgroup CAPI_MAPS_ROUTE_MODULE Routes
*
- * @addtogroup CAPI_MAPS_ROUTE_MODULE
+ * @if WEARABLE
+ * @section CAPI_MAPS_SERVICE_MODULE_FEATURE Related Features
+ * This API is related with the following features:\n
+ * - http://tizen.org/feature/network.internet\n
+ *
+ * It is recommended to design feature related codes in your application for reliability.\n
+ *
+ * You can check if a device supports the related features for this API by using
+ * @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
+ *
+ * To ensure your application is only running on the device with specific features,
+ * please define the features in your manifest file using the manifest editor in the SDK.\n
+ *
+ * More details on featuring your application can be found from
+ * <a href="https://developer.tizen.org/development/getting-started/native-application/understanding-tizen-programming/application-filtering"><b>Feature List</b>.</a>
+ * @endif
+ *
+ * @addtogroup CAPI_MAPS_ROUTE_MODULE
* @{
* @brief This provides APIs for Route Service
* @details The Maps Route API provides functions to calculate a route that
* @details The Maps Service invokes this callback while iterating through the
* set of obtained Routes.
* \n If search is failed, the value of @a total is 0 and @a route is NULL.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @remarks The parameter @a route must be released using maps_route_destroy().
* \n This error code will be reported. \n
* #MAPS_ERROR_NONE \n
* \n The request is asynchronous.
* @details This function gets the Route information for a specified origin and
* destination coordinates.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* \n The request is asynchronous.
* @details This function gets the Route information for the Route, passing
* through a specified set of way points.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @ingroup CAPI_MAPS_SERVICE_MODULE
* @defgroup CAPI_MAPS_VIEW_MODULE View
*
+ * @if WEARABLE
+ * @section CAPI_MAPS_SERVICE_MODULE_FEATURE Related Features
+ * This API is related with the following features:\n
+ * - http://tizen.org/feature/network.internet\n
+ *
+ * It is recommended to design feature related codes in your application for reliability.\n
+ *
+ * You can check if a device supports the related features for this API by using
+ * @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
+ *
+ * To ensure your application is only running on the device with specific features,
+ * please define the features in your manifest file using the manifest editor in the SDK.\n
+ *
+ * More details on featuring your application can be found from
+ * <a href="https://developer.tizen.org/development/getting-started/native-application/understanding-tizen-programming/application-filtering"><b>Feature List</b>.</a>
+ * @endif
+ *
* @file maps_view.h
* @brief This file contains the top level functions of View API
*
* @brief The View handle
* @details The handle of View instance.
* @remarks To release the handle use maps_view_destroy().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_view_create()
* @see maps_view_destroy()
/**
* @brief Enumeration of View types (themes)
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*/
typedef enum _maps_view_type_e {
- MAPS_VIEW_TYPE_NORMAL, /** Indicates the normal street theme */
- MAPS_VIEW_TYPE_SATELLITE, /** Indicates the satellite theme */
- MAPS_VIEW_TYPE_TERRAIN, /** Indicates the terrain theme */
- MAPS_VIEW_TYPE_HYBRID, /** Indicates the hybrid theme which is the satellite and normal street theme */
+ MAPS_VIEW_TYPE_NORMAL, /**< Indicates the normal street theme */
+ MAPS_VIEW_TYPE_SATELLITE, /**< Indicates the satellite theme */
+ MAPS_VIEW_TYPE_TERRAIN, /**< Indicates the terrain theme */
+ MAPS_VIEW_TYPE_HYBRID, /**< Indicates the hybrid theme which is the satellite and normal street theme */
} maps_view_type_e;
/**
* @brief Called when requesting the list of visual objects of the View.
* @details This callback is invoked while iterating through the list of
* visual objects, added to the View.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] index The current index of the visual object, start from 0
* @param[in] total The total amount of visual objects
/**
* @brief Called when the View event occurs.
* @details The View Panel invokes this callback when the map event occurs.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks @a event_data will be released automatically after this callback is terminated.
* \n To use @a event_data outside this function, clone it with maps_view_event_data_clone().
*
* maps_view_set_zoom_level() and maps_view_set_orientation() respectively.
* \n To change View theme, size and visibility properties use
* maps_view_set_type() and maps_view_set_visibility() respectively.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
* @remarks The @a View must be released using maps_view_destroy().
*
* @param[in] maps The maps service handle
- * @param[in] obj The image object
+ * @param[in] obj The evas object to be drawn
* @param[out] view The handle pointer to a maps_view_h,
* in which to store the newly created View handle
* @return 0 on success, otherwise a negative error value
* @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
*
* @pre @a maps is created using maps_service_create().
+ * @pre @a obj is recommended using a smart object.
*
* @see maps_view_destroy()
* @see maps_service_create()
* @see maps_view_set_orientation()
* @see maps_view_set_type()
* @see maps_view_set_visibility()
+ * @see elm_layout_add()
*/
-int maps_view_create(maps_service_h maps, Evas_Image *obj, maps_view_h *view);
+int maps_view_create(maps_service_h maps, Evas_Object *obj, maps_view_h *view);
/**
* @brief Destroys the View.
* @details This function destroys the View, releases its handle and
* all allocated resources, unlinks the View from the instance of maps service.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice
*
* @brief Centers the map on a given geographical coordinates.
* @details This function centers the map on a given geographical coordinates
* using current zoom and orientation.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
* @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
* @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
*
* @pre @a view is created using maps_view_create().
* @pre @a coordinates are created using maps_coordinates_create().
/**
* @brief Gets the central coordinates of a map.
* @details This function gets the current central coordinates of a map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks The @a coordinates must be released using maps_coordinates_destroy().
*
* @param[in] view The view handle
* the function returns #MAPS_ERROR_INVALID_PARAMETER error.
* \n To check the range of allowed zoom level use maps_view_get_min_zoom_level()
* and maps_view_get_max_zoom_level().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
* @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
* @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
*
* @pre @a view is created using maps_view_create().
*
/**
* @brief Gets zoom level of the map.
* @details This function gets the current integer zoom level of the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] level The pointer to an integer in which to store the
int maps_view_get_zoom_level(const maps_view_h view, int *level);
/**
+ * @brief Sets the minimal zoom level of the map.
+ * @details This function sets the minimally allowed zoom level of the map.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
+ *
+ * @param[in] view The view handle
+ * @param[out] level The new minimal zoom level
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MAPS_ERROR_INVALID_OPERATION Operation is not valid
+ * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
+ *
+ * @pre @a view is created using maps_view_create().
+ *
+ * @see maps_view_get_min_zoom_level()
+ * @see maps_view_set_max_zoom_level()
+ * @see maps_view_get_max_zoom_level()
+ * @see maps_view_get_zoom_level()
+ * @see maps_view_set_zoom_level()
+ * @see maps_view_create()
+ */
+int maps_view_set_min_zoom_level(maps_view_h view, int level);
+
+/**
* @brief Gets the minimal zoom level of the map.
* @details This function gets the minimally allowed zoom level of the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] min_zoom_level The pointer to an integer in which to store the
int maps_view_get_min_zoom_level(const maps_view_h view, int *min_zoom_level);
/**
+ * @brief Sets the maximal zoom level of the map.
+ * @details This function sets the maximally allowed zoom level of the map.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
+ *
+ * @param[in] view The view handle
+ * @param[out] level The new maximal zoom level
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MAPS_ERROR_INVALID_OPERATION Operation is not valid
+ * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
+ *
+ * @pre @a view is created using maps_view_create().
+ *
+ * @see maps_view_set_min_zoom_level()
+ * @see maps_view_get_min_zoom_level()
+ * @see maps_view_get_max_zoom_level()
+ * @see maps_view_get_zoom_level()
+ * @see maps_view_set_zoom_level()
+ * @see maps_view_create()
+ */
+int maps_view_set_max_zoom_level(maps_view_h view, int level);
+
+/**
* @brief Gets the maximal zoom level of the map.
* @details This function gets the maximally allowed zoom level of the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] max_zoom_level The pointer to an integer in which to store the
* @details This function sets the rotation angle of the View.
* \n If the specified rotation angle exceeds the [0..360] range, the
* function returns #MAPS_ERROR_INVALID_PARAMETER error.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
* @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
* @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
*
* @pre @a view is created using maps_view_create().
*
/**
* @brief Gets the orientation.
* @details This function gets the current map rotation angle on the View.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] rotation_angle The pointer to a double in which to store the
* @brief Converts screen coordinates to the geographical coordinates.
* @details This function converts screen coordinates to the geographical
* coordinates accordingly to the current map zoom and orientation.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
* @remarks The @a coordinates must be released using maps_coordinates_destroy().
*
* @param[in] view The view handle
* @retval #MAPS_ERROR_NONE Successful
* @retval #MAPS_ERROR_OUT_OF_MEMORY Out of memory
* @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
*
* @pre @a view is created using maps_view_create().
*
* @brief Converts geographical coordinates to the screen coordinates.
* @details This function converts geographical coordinates to the screen
* coordinates accordingly to the current map zoom and orientation.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
*
* @param[in] view The view handle
* @param[in] coordinates The geographical coordinates
* @return 0 on success, otherwise a negative error value
* @retval #MAPS_ERROR_NONE Successful
* @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
*
* @pre @a view is created using maps_view_create().
* @pre @a coordinates is created using maps_coordinates_create().
* @brief Sets View type.
* @details This function switches the View to a specified type, one of
* listed in #maps_view_type_e enumeration.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
* @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
* @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
*
* @pre @a view is created using maps_view_create().
*
* @brief Gets View type.
* @details This function gets the type of the given View.
* \n The type options are defined in the #maps_view_type_e enumeration.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] type The pointer to a #maps_view_type_e in which to
* @brief Indicates whether the map should show the 3D buildings layer.
* @details This function is called to indicate whether 3D buildings
* should be shown as a layer on the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
/**
* @brief Queries whether the map has the 3D buildings layer enabled.
* @details This function checks whether the map is set to show the 3D buildings layer.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] enable The pointer to a boolean in which to store the enable status
* @brief Indicates whether the map should show the traffic layer.
* @details This function is called to indicate whether traffic conditions
* should be shown as a layer on the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
/**
* @brief Queries whether the map has the traffic layer enabled.
* @details This function checks whether the map is set to show the traffic layer.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] enable The pointer to a boolean in which to store the enable status
* @brief Indicates whether the map should show the public transit layer.
* @details This function is called to indicate whether public transit routes
* should be shown as a layer on the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
/**
* @brief Queries whether the map has the public transit layer enabled.
* @details This function checks whether the map is set to show the public transit routes layer.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] enable The pointer to a boolean in which to store the enable status
* @details This function sets the language to the given View.
* \n Note that map display language is different from places and route
* language.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
* @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
* @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
*
* @pre @a view is created using maps_view_create().
*
* @details This function gets the language set to the View.
* \n Note that map display language is different from places and route language.
* @remarks The @a language should be freed using free().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] language The pointer to a char* in which to store the
/**
* @brief Enables or disables scalebar.
* @details This function enables or disables scalebar.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
/**
* @brief Gets whether the scalebar is enabled or not.
* @details This function gets whether the scale bar is enabled or not.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] enabled The pointer to a boolean in which to store the enable status
/**
* @brief Gets the View port.
- * @details This function gets the View port as a pointer on Evas_Image.
- * @since_tizen 3.0
+ * @details This function gets the View port as a pointer on Evas_Object.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
- * @param[out] viewport The pointer to Evas_Image in which to store
+ * @param[out] viewport The pointer to Evas_Object in which to store
* the View port
* @return 0 on success, otherwise a negative error value
* @retval #MAPS_ERROR_NONE Successful
* @see maps_view_create()
* @see Evas_Object
*/
-int maps_view_get_viewport(const maps_view_h view, Evas_Image **viewport);
+int maps_view_get_viewport(const maps_view_h view, Evas_Object **viewport);
/**
* @brief Sets geometry of View port.
* View.
* \n The position, naturally, will be relative to the top left corner of the
* parent window.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
* @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
* @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
*
* @pre @a view is created using maps_view_create().
*
* \n The position, naturally, will be relative to the top left corner of the parent window.
* @remarks Use NULL pointers on the geometry components you're not
* interested in.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] x X screen coordinate for the top left corner of View
* @brief Moves the View.
* @details This function moves View.
* @remarks Newly created View port has the size of its parent.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[in] width The new new width, in screen units
* @brief Resizes the View.
* @details This function changes the size of the given View.
* @remarks Newly created View port has the size of its parent.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/mapservice \n
* %http://tizen.org/privilege/internet \n
* @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
* @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
* @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
+ * @retval #MAPS_ERROR_NOT_SUPPORTED Not supported
*
* @pre @a view is created using maps_view_create().
*
/**
* @brief Shows or hides the View.
* @details This function changes the visibility of View on the screen.
- * @since_tizen 3.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mapservice \n
- * %http://tizen.org/privilege/internet \n
- * %http://tizen.org/privilege/network.get
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[in] visible The new visibility of the View
* @return 0 on success, otherwise a negative error value
* @retval #MAPS_ERROR_NONE Successful
* @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
- * @retval #MAPS_ERROR_CONNECTION_TIME_OUT Timeout error, no answer
- * @retval #MAPS_ERROR_NETWORK_UNREACHABLE Network unavailable
*
* @pre @a view is created using maps_view_create().
*
/**
* @brief Gets the View visibility.
* @details This function retrieves whether or not the given View is visible.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[out] visible The pointer to a boolean in which to store the
* @brief Sets the event callback.
* @details This function sets the callback which will be invoked every time the
* View processes the user's gesture, action and objects over the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks To unregister the callback use maps_view_unset_event_cb().
*
* @param[in] view The view handle
/**
* @brief Unsets the event callback.
* @details This function unsets the event callback.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[in] type The event type
/**
* @brief Enables or disables the map gesture.
* @details This function enables or disables the map gesture.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[in] gesture The user gesture, one of listed in #maps_gesture_e
/**
* @brief Checks whether the map gesture is enabled or not.
* @details This function checks whether the map gesture is enabled or not.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] view The view handle
* @param[in] gesture The user gesture, one of listed in #maps_gesture_e
/**
* @brief Adds a visual object on the map.
* @details This function adds a visual object on the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
* @remarks The @a object handle will be released automatically when the view is
* destroyed in the maps_view_destroy().
*
* @return 0 on success, otherwise a negative error value
* @retval #MAPS_ERROR_NONE Successful
* @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
*
* @pre @a view is created using maps_view_create().
* @pre @a object is created using #maps_view_object_create_marker(),
/**
* @brief Removes a visual object from the map.
* @details This function removes a visual object from the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
* @remarks The @a object handle will be released automatically by the View.
*
* @param[in] view The view handle
* @return 0 on success, otherwise a negative error value
* @retval #MAPS_ERROR_NONE Successful
* @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
*
* @pre @a view is created using maps_view_create().
* @pre @a object is added using maps_view_add_object().
/**
* @brief Removes all visual objects from the map.
* @details This function removes all visual object from the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
* @remarks All object handles will be released automatically by the View.
*
* @param[in] view The view handle
* @return 0 on success, otherwise a negative error value
* @retval #MAPS_ERROR_NONE Successful
* @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
*
* @pre @a view is created using maps_view_create().
* @pre objects are added using maps_view_add_object().
/**
* @brief Retrieves all visual objects on the map.
* @details This function retrieves all visual objects, previously added to the map.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks The objects will be delivered via maps_view_object_cb().
*
* @param[in] view The view handle
*/
int maps_view_foreach_object(const maps_view_h view, maps_view_object_cb callback, void *user_data);
+
+
+/*----------------------------------------------------------------------------*/
+/*
+ * Snapshot Capture Service
+ */
+
+#include <maps_view_snapshot.h>
+
+
/**
* @}
*/
* | maps_view_event_data_get_center() | | + | | |
* | maps_view_event_data_get_delta() | | + | | |
* | maps_view_event_data_get_position() | + | | + | |
+ * | maps_view_event_data_get_coordinates() | + | | | |
* | maps_view_event_data_get_fingers() | + | | + | |
* | maps_view_event_data_get_zoom_factor() | + | + | | |
* | maps_view_event_data_get_rotation_angle() | + | + | | |
* @details The handle of View Event Data instance.
* @remarks To release the handle use maps_view_event_data_destroy().
* \n To clone the handle use maps_view_event_data_clone().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_view_event_data_destroy()
* @see maps_view_event_data_clone()
/**
* @brief Enumerations of View actions
* @details This is an enumeration of View actions is capable to perform.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks The View performs actions in response on user gestures, such as tap,
* zoom, long press, or APIs, such as set center or change zoom level.
* \n To re-assign View actions to user gestures use maps_view_set_gesture_action().
/**
* @brief Enumeration of user gestures over View
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*/
typedef enum _maps_view_gesture_e {
MAPS_VIEW_GESTURE_NONE, /**< Indicates the empty gesture */
MAPS_VIEW_GESTURE_TAP, /**< Indicates the tap user gesture */
MAPS_VIEW_GESTURE_DOUBLE_TAP, /**< Indicates the double tap user gesture */
MAPS_VIEW_GESTURE_2_FINGER_TAP, /**< Indicates the two-finger tap user gesture */
- MAPS_VIEW_GESTURE_ROTATE, /** Indicates the rotation user gesture */
+ MAPS_VIEW_GESTURE_ROTATE, /**< Indicates the rotation user gesture */
MAPS_VIEW_GESTURE_LONG_PRESS, /**< Indicates the long press user gesture */
} maps_view_gesture_e;
/**
* @brief Enumerations of map event types
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*/
typedef enum _maps_view_event_type_e {
- MAPS_VIEW_EVENT_GESTURE, /** Indicates the gesture event callback */
- MAPS_VIEW_EVENT_ACTION, /** Indicates the action callback */
- MAPS_VIEW_EVENT_OBJECT, /** Indicates the object event callback */
- MAPS_VIEW_EVENT_READY /** Indicates the View readiness callback */
+ MAPS_VIEW_EVENT_GESTURE, /**< Indicates the gesture event callback */
+ MAPS_VIEW_EVENT_ACTION, /**< Indicates the action callback */
+ MAPS_VIEW_EVENT_OBJECT, /**< Indicates the object event callback */
+ MAPS_VIEW_EVENT_READY /**< Indicates the View readiness callback */
} maps_view_event_type_e;
/**
* @brief Destroys the event data handle.
* @details This function destroys the event data handle and releases all its
* resources.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] event The event data handle to destroy
* @return 0 on success, otherwise a negative error value
* @brief Clones the event handle.
* @details This function clones the event handle @a origin and all its
* resources.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks @a cloned must be released using maps_view_event_data_destroy().
*
* @param[in] origin The original event handle
/**
* @brief Gets the event type.
* @details This function gets the event type.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] event The event data handle
* @param[out] event_type The pointer to the #maps_view_event_type_e in which
* @details This function gets the event gesture type if the event type is #MAPS_VIEW_EVENT_GESTURE
* or #MAPS_VIEW_EVENT_OBJECT.
* Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] event The event data handle
* @param[out] gesture_type The pointer to the #maps_view_gesture_e in which to
* @brief Gets the event action type.
* @details This function gets the event action type if the event type is #MAPS_VIEW_EVENT_ACTION.
* Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] event The event data handle
* @param[out] action_type The pointer to the #maps_view_action_e in which to
* @details This function gets the new map center coordinates if the event type is
* #MAPS_VIEW_EVENT_ACTION.
* Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @remarks The @a center should be freed using maps_coordinates_destroy().
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] event The event data handle
* @param[out] center The pointer to the #maps_coordinates_h in which
* @details This function gets the screen coordinates delta of map center
* movement if the event type is #MAPS_VIEW_EVENT_ACTION.
* Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] event The event data handle
* @param[out] delta_x The pointer to an integer in which to store the delta x
* @details This function gets the event screen coordinates if the event type is
* #MAPS_VIEW_EVENT_GESTURE or #MAPS_VIEW_EVENT_OBJECT.
* Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] event The event data handle
* @param[out] x The pointer to an integer in which to store the x position of the event
int maps_view_event_data_get_position(const maps_view_event_data_h event, int *x, int *y);
/**
+ * @brief Gets the event geographic coordinates.
+ * @details This function gets the event geographic coordinates if the event type is #MAPS_VIEW_EVENT_GESTURE.
+ * Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
+ * @remarks The @a coordinates should be freed using maps_coordinates_destroy().
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in] event The event data handle
+ * @param[out] coordinates The pointer to the #maps_coordinates_h in which to store the coordinates
+ * @return 0, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a event may be obtained in maps_view_on_event_cb()
+ *
+ * @see #maps_view_event_type_e
+ * @see #maps_view_event_data_h
+ * @see #maps_coordinates_h
+ * @see maps_view_event_data_get_type()
+ * @see maps_view_on_event_cb()
+ */
+int maps_view_event_data_get_coordinates(const maps_view_event_data_h event, maps_coordinates_h *coordinates);
+
+/**
* @brief Gets the number of fingers, detected in the event.
* @details This function gets the number of user's fingers, detected in the
* event if the event type is #MAPS_VIEW_EVENT_GESTURE or #MAPS_VIEW_EVENT_OBJECT.
* Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] event The event data handle
* @param[out] fingers The pointer to an integer in which to store the
* @details This function gets the corresponding zoom factor if the event type is
* #MAPS_VIEW_EVENT_GESTURE or #MAPS_VIEW_EVENT_ACTION.
* Otherwise it returns the #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] event The event data handle
* @param[out] zoom_factor The pointer to a double in which to store the zoom factor
* @details This function gets the corresponding rotation angle if the event type is
* #MAPS_VIEW_EVENT_GESTURE or #MAPS_VIEW_EVENT_ACTION.
* Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] event The event data handle
* @param[out] rotation_angle The pointer to a double in which to store the rotation angle
* @details When the event type is #MAPS_VIEW_EVENT_OBJECT, this function gets
* the corresponding object handle.
* Otherwise it returns #MAPS_ERROR_INVALID_PARAMETER.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks The @a object must not be released.
*
* @param[in] event The event data handle
#ifndef __MAPS_VIEW_OBJECT_H__
#define __MAPS_VIEW_OBJECT_H__
+#include <Evas.h>
#include <maps_coordinates.h>
/**
* \n To release the handle use maps_view_object_destroy().
* \n Note that when the object is added to View it will be released
* automatically when the View is destroyed
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @see maps_view_object_destroy()
* @see maps_view_add_object()
/**
* @brief Enumerations of visual object types
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*/
typedef enum _maps_view_object_type_e {
- MAPS_VIEW_OBJECT_POLYLINE, /** Indicates the polyline */
- MAPS_VIEW_OBJECT_POLYGON, /** Indicates the polygon */
- MAPS_VIEW_OBJECT_MARKER, /** Indicates the marker */
+ MAPS_VIEW_OBJECT_POLYLINE, /**< Indicates the polyline */
+ MAPS_VIEW_OBJECT_POLYGON, /**< Indicates the polygon */
+ MAPS_VIEW_OBJECT_MARKER, /**< Indicates the marker */
+ MAPS_VIEW_OBJECT_OVERLAY, /**< Indicates the overlay */
} maps_view_object_type_e;
/**
* @brief Enumerations of map marker types
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*/
typedef enum _maps_view_marker_type_e {
- MAPS_VIEW_MARKER_PIN, /** Indicates the pin marker type*/
- MAPS_VIEW_MARKER_STICKER, /** Indicates the sticker marker type*/
+ MAPS_VIEW_MARKER_PIN, /**< Indicates the pin marker type */
+ MAPS_VIEW_MARKER_STICKER, /**< Indicates the sticker marker type */
} maps_view_marker_type_e;
/**
+ * @brief Enumerations of overlay types
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ */
+typedef enum _maps_view_overlay_type_e {
+ MAPS_VIEW_OVERLAY_NORMAL, /**< Indicates the normal type */
+ MAPS_VIEW_OVERLAY_BUBBLE, /**< Indicates the bubble type */
+ MAPS_VIEW_OVERLAY_BOX, /**< Indicates the box type */
+} maps_view_overlay_type_e;
+
+/**
* @brief Called when requesting the list of points of the polyline.
* @details This callback is invoked while iterating through the list of
* points, added to the polyline.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks @a point must be released using maps_coordinates_destroy().
* \n To use @a point outside this function, clone it with
* maps_coordinates_clone().
* @brief Called when requesting the list of points of the polygon.
* @details This callback is invoked while iterating through the list of
* points, added to the polygon.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks @a point must be released using maps_coordinates_destroy().
* \n To use @a point outside this function, clone it with
* maps_coordinates_clone().
* @brief Creates a marker visual object.
* @details This function creates a marker on a given geographical coordinates.
* The marker is specified with a given image file and a type.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks @a marker can be released by using maps_view_object_destroy().
* \n If added to the View using maps_view_add_object(), @a marker will be
* released automatically when the View is destroyed.
* @brief Creates a polyline visual object.
* @details This function creates a polyline visual object, specified
* with a list of geographical coordinates, line width and color.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks @a polyline can be released by using maps_view_object_destroy().
* \n If added to the View using maps_view_add_object(), @a polyline will be
* released automatically when the View is destroyed.
int width, maps_view_object_h *polyline);
/**
- * @brief Create a polygon visual object.
+ * @brief Creates a polygon visual object.
* @details This function creates a polygon visual object, specified
* with a list of geographical coordinates and fill color.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks @a polygon can be released by using maps_view_object_destroy().
* \n If added to the View using maps_view_add_object(), @a polygon will be
* released automatically when the View is destroyed.
maps_view_object_h *polygon);
/**
+ * @brief Creates a overlay object.
+ * @details This function creates a overlay object to contain Evas objects.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @remarks @a overlay can be released by using maps_view_object_destroy().
+ * \n If added to the View using maps_view_add_object(), @a overlay will be
+ * released automatically when the View is destroyed.
+ *
+ * @param[in] coordinates The list of geographical coordinates
+ * @param[in] object The Evas object to be contained
+ * @param[in] type The type of boxing the @a object
+ * @param[out] overlay The handle of newly created polygon
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a coordinates is created using maps_coordinates_list_create().
+ *
+ * @see #maps_view_object_h
+ * @see maps_view_object_create_marker()
+ * @see maps_view_object_create_polyline()
+ * @see maps_view_object_create_polygon()
+ * @see maps_view_add_object()
+ * @see maps_view_object_destroy()
+ * @see #maps_coordinates_h
+ * @see maps_coordinates_create()
+ */
+int maps_view_object_create_overlay(maps_coordinates_h coordinates,
+ Evas_Object *object, maps_view_overlay_type_e type, maps_view_object_h *overlay);
+
+/**
* @brief Destroys the object.
* @details This function destroys the object handle and releases all its resources.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] object The object handle to destroy
* @return 0 on success, otherwise a negative error value
/**
* @brief Gets the object type.
* @details This function gets the object type.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] object The object handle
* @param[out] type The pointer to #maps_view_object_type_e in which to
/**
* @brief Shows the object.
* @details This function changes the visibility of the given object on the View.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] object The object handle
* @param[in] visible The new visibility of the object
/**
* @brief Gets the object visibility.
* @details This function retrieves whether or not the given object is visible.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] object The object handle
* @param[out] visible The pointer to a boolean in which to store the
/**
* @brief Sets points to the polyline.
* @details This function sets point list to the polyline.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] polyline The polyline object handle
* @param[in] points The points to set
/**
* @brief Retrieves all points, added to the polyline.
* @details This function retrieves all points, added to the polyline.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks The points will be delivered via maps_view_object_polyline_point_cb().
*
* @param[in] polyline The polyline object handle
/**
* @brief Sets the polyline color.
* @details This function sets the polyline color on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] polyline The polyline object handle
* @param[in] r The red component of the color
/**
* @brief Gets the polyline color.
* @details This function gets the polyline color on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] polyline The polyline object handle
* @param[out] r The unsigned char pointer in which to store the
/**
* @brief Sets the polyline width.
* @details This function sets the polyline width on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] polyline The polyline object handle
* @param[in] width The new width of line [1 ~ 100] (pixels)
/**
* @brief Gets the polyline width.
* @details This function gets the polyline width on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] polyline The polyline object handle
* @param[out] width The width of line [1 ~ 100] (pixels)
/**
* @brief Sets points to the polygon.
* @details This function sets point list to the polygon.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] polygon The polygon object handle
* @param[in] points The points to set
/**
* @brief Retrieves all points, added to the polygon.
* @details This function retrieves all points, added to the polygon.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks The objects will be delivered via maps_view_object_polygon_point_cb().
*
* @param[in] polygon The polygon object handle
/**
* @brief Sets polygon fill color.
* @details This function sets the polygon fill color on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] polygon The polygon object handle
* @param[in] r The red component of the fill color
/**
* @brief Gets polygon fill color.
* @details This function gets the polygon fill color on canvas.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] polygon The polygon data handle
* @param[in] r The unsigned char pointer in which to store the
/**
* @brief Sets the marker coordinates.
* @details This function sets the marker geographical coordinates.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] marker The marker object handle
* @param[in] coordinates The marker geographical coordinates handle
/**
* @brief Sets the marker screen size.
* @details This function sets the marker screen size.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] marker The marker object handle
* @param[in] width The marker pixels in width on the screen
/**
* @brief Sets the marker image file path.
* @details This function sets the marker image file path.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
* @remarks http://tizen.org/privilege/mediastorage is needed if input or output path are relevant to media storage.
* \nhttp://tizen.org/privilege/externalstorage is needed if input or output path are relevant to external storage.
*
* @brief Gets the marker image file path.
* @details This function gets the marker image file path.
* @remarks The @a file_path should be freed using free().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] marker The marker object handle
* @param[out] file_path The marker image file path
* @brief Gets the marker coordinates.
* @details This function gets the marker geographical coordinates.
* @remarks The @a coordinates should be freed using maps_coordinates_destroy().
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] marker The marker object handle
* @param[out] coordinates The pointer to #maps_coordinates_h in which to
/**
* @brief Gets the marker screen size.
* @details This function gets the marker size on the screen.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] marker The marker object handle
* @param[out] width The pointer to an integer in which to store the
/**
* @brief Gets the marker type.
* @details This function gets the marker type.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] marker The marker object handle
* @param[out] type The pointer to a maps_view_marker_type_e in which to
* @brief Sets the marker z-order.
* @details This function sets the z-order.
* @remarks The @a z_order must be in range of [-100, 100].
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] marker The marker object handle
* @param[in] z_order The z-order
/**
* @brief Gets the marker z-order.
* @details This function gets the z-order.
- * @since_tizen 3.0
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
*
* @param[in] marker The marker object handle
* @param[out] z_order The z-order
*/
int maps_view_object_marker_get_z_order(const maps_view_object_h marker, int *z_order);
+
+
+/*----------------------------------------------------------------------------*/
+/*
+ * Overlay
+ */
+
+/**
+ * @brief Gets the Evas object.
+ * @details This function gets the Evas object.
+ * @remarks The @a object must not be released.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in] overlay The overlay object handle
+ * @param[out] object The Evas object handle
+ * @return 0, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a marker is created using maps_view_object_create_overlay().
+ *
+ * @see maps_view_object_create_overlay()
+ */
+int maps_view_object_overlay_get_object(maps_view_object_h overlay, Evas_Object **object);
+
+/**
+ * @brief Sets the overlay coordinates.
+ * @details This function sets the overlay geographical coordinates.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in] overlay The overlay object handle
+ * @param[in] coordinates The overlay geographical coordinates handle
+ * @return 0, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ * @pre @a coordinates are created using maps_coordinates_create().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_get_coordinates()
+ * @see #maps_coordinates_h
+ * @see maps_coordinates_create()
+ */
+int maps_view_object_overlay_set_coordinates(maps_view_object_h overlay, maps_coordinates_h coordinates);
+
+/**
+ * @brief Gets the overlay coordinates.
+ * @details This function gets the overlay geographical coordinates.
+ * @remarks The @a coordinates should be freed using maps_coordinates_destroy().
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in] overlay The overlay object handle
+ * @param[out] coordinates The pointer to #maps_coordinates_h in which to
+ * store the overlay geographical coordinates
+ * @return 0, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ * @pre @a coordinates may be set previously using maps_view_object_overlay_set_coordinates().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_set_coordinates()
+ * @see #maps_coordinates_h
+ * @see maps_coordinates_destroy()
+ */
+int maps_view_object_overlay_get_coordinates(const maps_view_object_h overlay, maps_coordinates_h *coordinates);
+
+/**
+ * @brief Sets the minimal zoom level for overlay.
+ * @details This function sets the minimally allowed zoom level of the map to show the overlay.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in] overlay The overlay object handle
+ * @param[in] zoom The new minimal zoom level
+ * @return 0, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_get_min_zoom_level()
+ * @see maps_view_object_overlay_set_max_zoom_level()
+ * @see maps_view_object_overlay_get_max_zoom_level()
+ */
+int maps_view_object_overlay_set_min_zoom_level(maps_view_object_h overlay, int zoom);
+
+/**
+ * @brief Gets the minimal zoom level for overlay.
+ * @details This function gets the minimally allowed zoom level of the map to show the overlay.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in] overlay The overlay object handle
+ * @param[out] zoom The pointer to an integer in which to store
+ * the minimally allowed zoom level.
+ * @return 0, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_set_min_zoom_level()
+ * @see maps_view_object_overlay_set_max_zoom_level()
+ * @see maps_view_object_overlay_get_max_zoom_level()
+ */
+int maps_view_object_overlay_get_min_zoom_level(const maps_view_object_h overlay, int *zoom);
+
+/**
+ * @brief Sets the minimal zoom level for overlay.
+ * @details This function sets the minimally allowed zoom level of the map to show the overlay.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in] overlay The overlay object handle
+ * @param[in] zoom The new minimal zoom level
+ * @return 0, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_get_min_zoom_level()
+ * @see maps_view_object_overlay_set_min_zoom_level()
+ * @see maps_view_object_overlay_get_max_zoom_level()
+ */
+int maps_view_object_overlay_set_max_zoom_level(maps_view_object_h overlay, int zoom);
+
+/**
+ * @brief Gets the minimal zoom level for overlay.
+ * @details This function gets the minimally allowed zoom level of the map to show the overlay.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ *
+ * @param[in] overlay The overlay object handle
+ * @param[out] zoom The pointer to an integer in which to store
+ * the minimally allowed zoom level.
+ * @return 0, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ *
+ * @pre @a overlay is created using maps_view_object_create_overlay().
+ *
+ * @see maps_view_object_create_overlay()
+ * @see maps_view_object_overlay_get_min_zoom_level()
+ * @see maps_view_object_overlay_set_min_zoom_level()
+ * @see maps_view_object_overlay_set_max_zoom_level()
+ */
+int maps_view_object_overlay_get_max_zoom_level(const maps_view_object_h overlay, int *zoom);
+
#ifdef __cplusplus
}
#endif
#endif
/**
+ * @brief Enumerations of color space types
+ * @since_tizen 3.0
+ */
+typedef enum _maps_view_colorspace_type_e
+{
+ MAPS_VIEW_COLORSPACE_RGBA8888,
+ MAPS_VIEW_COLORSPACE_BGRA8888,
+} maps_view_colorspace_type_e;
+
+/**
* @brief Zooms the map on the view.
* @details This function zooms the map on the View with real value of zoom
* factor.
--- /dev/null
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __MAPS_VIEW_SNAPSHOT_H__
+#define __MAPS_VIEW_SNAPSHOT_H__
+
+
+/**
+ * @ingroup CAPI_MAPS_VIEW_MODULE
+ * @defgroup CAPI_MAPS_VIEW_SNAPSHOT_MODULE Snapshot
+ *
+ * @file maps_view_snapshot.h
+ * @brief This file contains the functions of Map Snapshot API
+ *
+ * @addtogroup CAPI_MAPS_VIEW_SNAPSHOT_MODULE
+ * @{
+ * @brief This provides APIs related to take snapshots.
+ *
+ */
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief Enumerations of snapshot file format type
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ */
+typedef enum _maps_view_snapshot_format_type_e
+{
+ MAPS_VIEW_SNAPSHOT_BMP, /**< Indicates the BMP format type */
+ MAPS_VIEW_SNAPSHOT_JPEG, /**< Indicates the JPEG format type */
+} maps_view_snapshot_format_type_e;
+
+/**
+ * @brief Captures a snapshot of the Map View.
+ * \n The request is synchronous.
+ * @details This function retrieves an image of a map currently represented on
+ * the Map View.
+ * @since_tizen @if MOBILE 3.0 @elseif WEARABLE 2.3.2 @endif
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/mapservice
+ * @remarks To check if Maps Provider is capable of capturing snapshots use
+ * maps_service_provider_is_service_supported() with
+ * #MAPS_SERVICE_VIEW_SNAPSHOT passed as @a service parameter.
+ * \n It returns MAPS_ERROR_PERMISSION_DENIED if application doesn't have permission
+ * to write to the path.
+ *
+ * @param[in] view The Map View handle
+ * @param[in] type The type of file format
+ * @param[in] quality The quality for encoding (1~100)
+ * @param[in] path The file path to be created
+ * callback function
+ * @return 0 on success, otherwise a negative error value
+ * @retval #MAPS_ERROR_NONE Successful
+ * @retval #MAPS_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MAPS_ERROR_SERVICE_NOT_AVAILABLE Service not available
+ * @retval #MAPS_ERROR_PERMISSION_DENIED Permission Denied
+ * @retval #MAPS_ERROR_INVALID_OPERATION Operation is not valid
+ *
+ * @pre Call maps_service_create() and map_view_create() to issue Maps Service
+ * and Map View handles respectively.
+ * @post It invokes map_view_snapshot_cb() to deliver requested snapshot.
+ *
+ * @see maps_view_create()
+ * @see maps_service_create()
+ */
+int maps_view_capture_snapshot(maps_view_h view,
+ maps_view_snapshot_format_type_e type,
+ int quality,
+ const char *path);
+
+#ifdef __cplusplus
+}
+#endif
+/**
+ * @}
+ */
+#endif /* __MAPS_VIEW_SNAPSHOT_H__*/
BuildRequires: pkgconfig(eina)
BuildRequires: pkgconfig(evas)
BuildRequires: pkgconfig(ecore)
+BuildRequires: pkgconfig(cairo)
+BuildRequires: pkgconfig(elementary)
+BuildRequires: pkgconfig(capi-media-image-util)
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
maps_area_circle_s cir = origin_handle->circle;
maps_coordinates_s center = cir.center;
double radius = cir.radius;
- maps_area_create_circle((maps_coordinates_h) & center, radius, &new_circle);
+ maps_area_create_circle((maps_coordinates_h)¢er, radius, &new_circle);
if (new_circle) {
*cloned = new_circle;
} else {
#include <maps_extra_types.h>
/**
- * @ingroup CAPI_MAPS_PLACE_MODULE
- * @defgroup CAPI_MAPS_PLACE_DATA_MODULE Place
+ * @ingroup CAPI_MAPS_ROUTE_MODULE
+ * @defgroup CAPI_MAPS_ROUTE_SEGMENT_MODULE Segment
*
* @file maps_route_segment_private.h
- * @brief This file contains the functions related to Place information.
- *
- * @addtogroup CAPI_MAPS_PLACE_DATA_MODULE
+ * @brief This file contains the functions related to Route Segment information.
+ * @addtogroup CAPI_MAPS_ROUTE_SEGMENT_MODULE
* @{
- * @brief This provides APIs related to Place information, used in Place
- * Discovery and Search.
+ * @brief This provides APIs related to Place Segment information, used in Route
+ * Search.
*/
#ifdef __cplusplus
return supported;
}
-
static bool __has_maps_service_privilege()
{
extern const char *MAPS_PLUGINS_PATH_PREFIX;
#include <Evas.h>
#include <unistd.h>
#include <glib.h>
+#include <Elementary.h>
#include "maps_view.h"
#include "maps_view_plugin.h"
#include "inertial_camera.h"
#include "inertial_gesture.h"
#include "gesture_detector_statemachine.h"
+#include "maps_view_event_data.h"
/*
* The structure of callbacks info, Maps View is invoking during events
/* Evas basis */
Evas *canvas;
Evas_Object *panel;
+ Evas_Object *parent;
+ Evas_Object *clipper;
/* Gesture Support */
maps_view_action_e gesture_actions[MAPS_VIEW_GESTURE_LONG_PRESS + 1];
maps_view_event_data_h _maps_view_create_event_data(maps_view_event_type_e type);
void _maps_view_invoke_event_callback(const maps_view_h view, const maps_view_event_data_h event_data);
int _maps_view_set_inertia_enabled(const maps_view_h view, bool enabled);
+extern bool _maps_view_object_overlay_cb(int index, int total, maps_view_object_h object, void *user_data);
+extern int _maps_view_object_overlay_operation(maps_view_h view, maps_view_object_h object, maps_view_object_operation_e operation);
+static int __maps_view_set_center(maps_view_h view, maps_coordinates_h coordinates, bool internal);
+int _maps_view_move_center(maps_view_h view, const int delta_x, const int delta_y);
+int _maps_view_get_plugin_center(const maps_view_h view, maps_coordinates_h *center);
/* ---------------------------------------------------------------------------*/
/* TODO: Apply this approach for other cases, particularly, in maps_service.h*/
-static const plugin::interface_s *__get_plugin_interface(maps_view_h view)
+const plugin::interface_s *__get_plugin_interface(maps_view_h view)
{
const plugin::plugin_s *p =
__extract_plugin(((maps_view_s *)view)->maps);
return v->maps;
}
+int _maps_view_on_overlay_update_all(maps_view_h view)
+{
+ if (!view)
+ return MAPS_ERROR_INVALID_PARAMETER;
+
+ maps_view_s *v = (maps_view_s *)view;
+ return maps_item_list_foreach(v->view_objects, NULL, _maps_view_object_overlay_cb, v->clipper);
+}
+
int _maps_view_on_object_operation(maps_view_h view, maps_view_object_h object, maps_view_object_operation_e operation)
{
if (!view)
return MAPS_ERROR_INVALID_PARAMETER;
- if (!__get_plugin_interface(view)->maps_plugin_on_object)
- return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_object_type_e type;
+ maps_view_object_get_type(object, &type);
+ if (type == MAPS_VIEW_OBJECT_OVERLAY)
+ return _maps_view_object_overlay_operation(view, object, operation);
+ else {
+ if(!__get_plugin_interface(view)->maps_plugin_on_object)
+ return MAPS_ERROR_INVALID_PARAMETER;
- return __get_plugin_interface(view)->maps_plugin_on_object(view, object, operation);
+ return __get_plugin_interface(view)->maps_plugin_on_object(view, object, operation);
+ }
}
static void __on_canvas_tap(void *data, Evas *e, Evas_Object *obj, void *event_info)
ic->get_cur_center(),
ic->get_cur_zoom_factor(),
ic->get_cur_rotation_angle());
+ _maps_view_on_overlay_update_all(v);
g_usleep(10*1000);
}
/* ----------------------CREATE AND DESTROY-----------------------------------*/
+static void __maps_view_parent_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ maps_view_s *v = (maps_view_s*)data;
+
+ int x, y, w, h, ox, oy, ow, oh;
+ evas_object_geometry_get(v->parent, &x, &y, &w, &h);
+ evas_object_geometry_get(v->panel, &ox, &oy, &ow, &oh);
+
+ _maps_view_move_center(v, (x - ox) / 2, (y - oy) / 2);
+ _maps_view_get_plugin_center(v, &v->center);
+ maps_view_set_screen_location(v, x, y, w, h);
+}
+
static void __maps_view_panel_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
maps_view_s *v = (maps_view_s*)data;
- int w, h;
- evas_object_geometry_get(v->panel, NULL, NULL, &w, &h);
- maps_view_resize(v, w, h);
+ int x, y, w, h, ox, oy, ow, oh;
+ evas_object_geometry_get(v->panel, &x, &y, &w, &h);
+ evas_object_geometry_get(v->clipper, &ox, &oy, &ow, &oh);
+
+ _maps_view_move_center(v, (x - ox) / 2, (y - oy) / 2);
+ _maps_view_get_plugin_center(v, &v->center);
+ maps_view_set_screen_location(v, x, y, w, h);
+}
+
+static void __maps_view_create_panel(maps_view_h view, Evas_Object *obj)
+{
+ if (!view || !obj)
+ return;
+
+ maps_view_s *v = (maps_view_s*)view;
+
+ /* Initialize the panel */
+ if (!strncmp(evas_object_type_get(obj), "image", strlen("image"))) {
+ /* if obj is Evas_Image object */
+ MAPS_LOGD("The panel is a Evas_Image");
+ v->parent = NULL;
+ v->panel = obj;
+ evas_object_event_callback_add(v->panel, EVAS_CALLBACK_RESIZE, __maps_view_panel_resize_cb, v);
+ } else {
+ /* if obj is the other kind of (smart) objects */
+ MAPS_LOGD("The panel is not a Evas_Image");
+ v->parent = obj;
+ v->panel = evas_object_image_add(evas_object_evas_get(v->parent));
+ evas_object_smart_member_add(v->panel, v->parent);
+ evas_object_event_callback_add(v->parent, EVAS_CALLBACK_RESIZE, __maps_view_parent_resize_cb, v);
+
+ if (evas_object_visible_get(v->parent))
+ evas_object_show(v->panel);
+ else
+ evas_object_hide(v->panel);
+ }
+ evas_object_image_filled_set(v->panel, EINA_FALSE);
}
/* Create the panel and link it to the instance of Maps Service */
-EXPORT_API int maps_view_create(maps_service_h maps, Evas_Image *obj, maps_view_h *view)
+EXPORT_API int maps_view_create(maps_service_h maps, Evas_Object *obj, maps_view_h *view)
{
if (!maps || !obj || !view)
return MAPS_ERROR_INVALID_PARAMETER;
/* Initialize the list with visual objects */
maps_item_list_create(&v->view_objects);
- v->panel = obj;
-
- evas_object_event_callback_add(v->panel, EVAS_CALLBACK_RESIZE, __maps_view_panel_resize_cb, v);
+ /* Initialize the panel */
+ __maps_view_create_panel(v, obj);
v->maps_plugin_view_handle = NULL;
v->canvas = evas_object_evas_get(v->panel);
/*v->ee = ecore_evas_ecore_evas_get(v->canvas);*/
+ v->clipper = evas_object_rectangle_add(v->canvas);
+
/* Link with Maps Service */
v->maps = maps;
if (v->panel)
evas_object_del(v->panel);
+ if (v->clipper)
+ evas_object_del(v->clipper);
+
if (v->center)
maps_coordinates_destroy(v->center);
/* Show the map with a given position centered using current zoom level and
* rotation angle */
-EXPORT_API int maps_view_set_center(maps_view_h view, maps_coordinates_h coordinates)
+
+static int __maps_view_set_center(maps_view_h view, maps_coordinates_h coordinates, bool internal)
{
if (!view || !coordinates)
return MAPS_ERROR_INVALID_PARAMETER;
maps_view_s *v = (maps_view_s *) view;
/* Set up the target for camera inertial movement */
- if (v->inertial_camera)
+ if(v->inertial_camera && !internal)
v->inertial_camera->set_targets(coordinates,
zoom_factor,
rotation_angle);
maps_coordinates_clone(coordinates, &v->center);
}
- /* Invoke user registered event callback */
- maps_view_event_data_h ed =
- _maps_view_create_event_data(MAPS_VIEW_EVENT_ACTION);
- if (ed) {
- _maps_view_event_data_set_action_type(ed, MAPS_VIEW_ACTION_SCROLL);
- _maps_view_event_data_set_center(ed, v->center);
- _maps_view_invoke_event_callback(v, ed);
- maps_view_event_data_destroy(ed);
+ _maps_view_on_overlay_update_all(view);
+
+ if (!internal) {
+ /* Invoke user registered event callback */
+ maps_view_event_data_h ed =
+ _maps_view_create_event_data(MAPS_VIEW_EVENT_ACTION);
+ if(ed) {
+ _maps_view_event_data_set_action_type(ed, MAPS_VIEW_ACTION_SCROLL);
+ _maps_view_event_data_set_center(ed, v->center);
+ _maps_view_invoke_event_callback(v, ed);
+ maps_view_event_data_destroy(ed);
+ }
}
return error;
}
+EXPORT_API int maps_view_set_center(maps_view_h view, maps_coordinates_h coordinates)
+{
+ return __maps_view_set_center(view, coordinates, FALSE);
+}
+
int _maps_view_move_center(maps_view_h view, const int delta_x, const int delta_y)
{
if (!view)
int error = __get_plugin_interface(view)->maps_plugin_move_center(view, delta_x, delta_y);
+ /* update position of overlay objects */
+ _maps_view_on_overlay_update_all(view);
+
/* Invoke user registered event callback */
maps_view_event_data_h ed =
_maps_view_create_event_data(MAPS_VIEW_EVENT_ACTION);
return MAPS_ERROR_NONE;
}
+EXPORT_API int maps_view_set_min_zoom_level(maps_view_h view, int level)
+{
+ if (!view)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_s *v = (maps_view_s *) view;
+ int min_zoom_level = -1;
+ __get_plugin_interface(v)->maps_plugin_get_min_zoom_level(view, &min_zoom_level);
+ if (min_zoom_level < 0)
+ return MAPS_ERROR_INVALID_OPERATION;
+ if ((level < min_zoom_level) || (level > v->max_zoom_level))
+ return MAPS_ERROR_INVALID_PARAMETER;
+ v->min_zoom_level = level;
+ if (v->min_zoom_level > v->zoom_level)
+ maps_view_set_zoom_level(view, v->min_zoom_level);
+ return MAPS_ERROR_NONE;
+}
+
EXPORT_API int maps_view_get_min_zoom_level(const maps_view_h view, int *min_zoom_level)
{
if (!view || !min_zoom_level)
return MAPS_ERROR_NONE;
}
+EXPORT_API int maps_view_set_max_zoom_level(maps_view_h view, int level)
+{
+ if (!view)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_s *v = (maps_view_s *) view;
+ int max_zoom_level = -1;
+ __get_plugin_interface(v)->maps_plugin_get_max_zoom_level(view, &max_zoom_level);
+ if (max_zoom_level < 0)
+ return MAPS_ERROR_INVALID_OPERATION;
+ if ((level < v->min_zoom_level) || (level > max_zoom_level))
+ return MAPS_ERROR_INVALID_PARAMETER;
+ v->max_zoom_level = level;
+ if (v->max_zoom_level < v->zoom_level)
+ maps_view_set_zoom_level(view, v->max_zoom_level);
+ return MAPS_ERROR_NONE;
+}
+
EXPORT_API int maps_view_get_max_zoom_level(const maps_view_h view, int *max_zoom_level)
{
if (!view || !max_zoom_level)
return MAPS_ERROR_NONE;
}
+int _maps_view_get_parent(const maps_view_h view, Evas_Object **parent)
+{
+ if (!view || !parent)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_s *v = (maps_view_s *) view;
+ *parent = v->parent;
+ return MAPS_ERROR_NONE;
+}
+
+int _maps_view_get_clipper(const maps_view_h view, Evas_Object **clipper)
+{
+ if (!view || !clipper)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_s *v = (maps_view_s *) view;
+ *clipper = v->clipper;
+ return MAPS_ERROR_NONE;
+}
+
EXPORT_API int maps_view_set_screen_location(maps_view_h view, int x, int y, int width, int height)
{
if (!view)
return MAPS_ERROR_INVALID_PARAMETER;
maps_view_s *v = (maps_view_s *) view;
evas_object_move(v->panel, x, y);
+ evas_object_move(v->clipper, x, y);
return MAPS_ERROR_NONE;
}
return MAPS_ERROR_INVALID_PARAMETER;
maps_view_s *v = (maps_view_s *) view;
evas_object_resize(v->panel, width, height);
- return maps_view_set_center(view, v->center);
+ evas_object_resize(v->clipper, width, height);
+ evas_object_image_fill_set(v->panel, 0, 0, width, height);
+ return __maps_view_set_center(view, v->center, TRUE);
}
EXPORT_API int maps_view_set_visibility(maps_view_h view, bool visible)
maps_view_event_type_e type = MAPS_VIEW_EVENT_GESTURE;
maps_view_event_data_get_type(event_data, &type);
+#if 0 // log
+ int maps_view_event_data_get_gesture_type(const maps_view_event_data_h event, maps_view_gesture_e *gesture_type);
+ int maps_view_event_data_get_action_type(const maps_view_event_data_h event, maps_view_action_e *action_type);
+ int maps_view_event_data_get_object(const maps_view_event_data_h event, maps_view_object_h *object);
+ int maps_view_object_get_type(maps_view_object_h object, maps_view_object_type_e *type);
+
+ int subtype = 0;
+ if (type == MAPS_VIEW_EVENT_GESTURE)
+ maps_view_event_data_get_gesture_type(event_data, (maps_view_gesture_e*)&subtype);
+ else if (type == MAPS_VIEW_EVENT_ACTION)
+ maps_view_event_data_get_action_type(event_data, (maps_view_action_e*)&subtype);
+ else if (type == MAPS_VIEW_EVENT_OBJECT) {
+ maps_view_object_h object;
+ maps_view_event_data_get_object(event_data, &object);
+ maps_view_object_get_type(object, (maps_view_object_type_e*)&subtype);
+ }
+ if (type == MAPS_VIEW_EVENT_READY)
+ MAPS_LOGD("[invoked event] type=%d, subtype=%d", type, subtype);
+#endif
+
v->event_callbacks[type].callback(type, event_data, v->event_callbacks[type].user_data);
}
/* Applicable for gesture */
int x;
int y;
+ maps_coordinates_h coordinates;
/* Applicable for center move */
int delta_x;
return MAPS_ERROR_NONE;
}
+int _maps_view_event_data_set_coordinates(maps_view_event_data_h event, maps_coordinates_h coordinates)
+{
+ if (!event || !coordinates)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_event_data_s *e = (maps_view_event_data_s *) event;
+ if (e->coordinates)
+ maps_coordinates_destroy(e->coordinates);
+ return maps_coordinates_clone(coordinates, &e->coordinates);
+}
+
int _maps_view_event_data_set_fingers(maps_view_event_data_h event, int fingers)
{
if (!event)
return MAPS_ERROR_NONE;
}
+EXPORT_API int maps_view_event_data_get_coordinates(const maps_view_event_data_h event, maps_coordinates_h *coordinates)
+{
+ if (!event || !coordinates)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_event_data_s *e = (maps_view_event_data_s *) event;
+ if (e->event_type != MAPS_VIEW_EVENT_GESTURE)
+ return MAPS_ERROR_INVALID_OPERATION;
+ if (!e->coordinates)
+ return MAPS_ERROR_NOT_FOUND;
+ return maps_coordinates_clone(e->coordinates, coordinates);
+}
+
EXPORT_API int maps_view_event_data_get_fingers(const maps_view_event_data_h event, int *fingers)
{
if (!event || !fingers)
#include "marker_constructor.h"
#include "polyline_constructor.h"
#include "polygon_constructor.h"
+#include "overlay_constructor.h"
+#include <cairo.h>
/*
* This represents marker visual object information
unsigned char a;
} maps_view_polygon_data_s;
+typedef struct _maps_view_overlay_data_s {
+ maps_coordinates_h coordinates;
+ Evas_Object *object;
+ int min_zoom_level;
+ int max_zoom_level;
+ maps_view_overlay_type_e type;
+ Evas_Object *bubble;
+ Evas_Object *clipper;
+} maps_view_overlay_data_s;
+
+const int _OVERLAY_BUBBLE_MARGIN = 20;
+const int _OVERLAY_BUBBLE_PIN_SIZE = 20;
+
/*
* This represents visual object information
*/
int _maps_view_on_object_operation(maps_view_h view, maps_view_object_h object,
maps_view_object_operation_e operation);
+int _maps_view_get_parent(const maps_view_h view, Evas_Object **parent);
+int _maps_view_get_clipper(const maps_view_h view, Evas_Object **clipper);
static maps_view_h __get_view(const maps_view_object_h object);
static maps_view_polyline_data_s *__get_polyline_data(const maps_view_object_h object);
static maps_view_polygon_data_s *__get_polygon_data(const maps_view_object_h object);
static maps_view_marker_data_s *__get_marker_data(const maps_view_object_h object);
+static maps_view_overlay_data_s *__get_overlay_data(const maps_view_object_h object);
static int __maps_view_polyline_data_create(void **polyline);
static int __maps_view_polygon_data_create(void **polygon);
static int __maps_view_marker_data_create(void **marker);
+static int __maps_view_overlay_data_create(void **marker);
static int __maps_view_polyline_data_destroy(void *polyline);
static int __maps_view_polygon_data_destroy(void *polygon);
static int __maps_view_marker_data_destroy(void *marker);
+static int __maps_view_overlay_data_destroy(void *marker);
static maps_view_h __get_view(const maps_view_object_h object)
{
return MAPS_ERROR_NONE;
}
+static maps_view_overlay_data_s *__get_overlay_data(const maps_view_object_h object)
+{
+ maps_view_object_s *o = (maps_view_object_s *)object;
+ if (!o || (o->type != MAPS_VIEW_OBJECT_OVERLAY))
+ return NULL;
+ return (maps_view_overlay_data_s *)o->shape_data;
+}
+
+static int __maps_view_overlay_data_create(void **overlay)
+{
+ if (!overlay)
+ return MAPS_ERROR_INVALID_PARAMETER;
+
+ int error = MAPS_ERROR_NONE;
+ maps_view_overlay_data_s *m = NULL;
+
+ do {
+ m = g_slice_new0(maps_view_overlay_data_s);
+ if (!m) {
+ MAPS_LOGE("OUT_OF_MEMORY(0x%08x)",
+ MAPS_ERROR_OUT_OF_MEMORY);
+ return MAPS_ERROR_OUT_OF_MEMORY;
+ }
+
+ error = maps_coordinates_create(.0, .0, &m->coordinates);
+ if (error != MAPS_ERROR_NONE)
+ break;
+
+ *overlay = (maps_view_overlay_data_s *) m;
+ return MAPS_ERROR_NONE;
+ } while(false);
+
+ __maps_view_overlay_data_destroy(m);
+ return error;
+}
+
+static int __maps_view_overlay_data_destroy(void *overlay)
+{
+ if (!overlay)
+ return MAPS_ERROR_INVALID_PARAMETER;
+
+ maps_view_overlay_data_s *m = (maps_view_overlay_data_s *)overlay;
+
+ if (m->coordinates)
+ maps_coordinates_destroy(m->coordinates);
+
+ if (m->object)
+ evas_object_del(m->object);
+
+ if (m->bubble)
+ evas_object_del(m->bubble);
+
+ if (m->clipper) {
+ const Eina_List *clipees = evas_object_clipees_get(m->clipper);
+ if (!clipees || eina_list_count(clipees) == 0) {
+ evas_object_hide(m->clipper);
+ MAPS_LOGD("hide clipper");
+ }
+ }
+
+ g_slice_free(maps_view_overlay_data_s, m);
+
+ return MAPS_ERROR_NONE;
+}
+
int _maps_view_object_create(maps_view_object_type_e type, maps_view_object_h *object)
{
if (!object)
return MAPS_ERROR_INVALID_PARAMETER;
- if ((type < MAPS_VIEW_OBJECT_POLYLINE) || (type > MAPS_VIEW_OBJECT_MARKER))
+ if (type < MAPS_VIEW_OBJECT_POLYLINE || type > MAPS_VIEW_OBJECT_OVERLAY)
return MAPS_ERROR_INVALID_PARAMETER;
int error = MAPS_ERROR_NONE;
case MAPS_VIEW_OBJECT_MARKER:
error = __maps_view_marker_data_create(&o->shape_data);
break;
+ case MAPS_VIEW_OBJECT_OVERLAY:
+ error = __maps_view_overlay_data_create(&o->shape_data);
+ break;
default:
break;
}
maps_view_object_s *o = (maps_view_object_s *) object;
o->view = view;
+
+ maps_view_object_type_e type;
+ maps_view_object_get_type(object, &type);
+ if (type == MAPS_VIEW_OBJECT_OVERLAY) {
+ int min_zoom = 0, max_zoom = 0;
+ maps_view_object_overlay_get_min_zoom_level(object, &min_zoom);
+ maps_view_object_overlay_get_max_zoom_level(object, &max_zoom);
+ if (min_zoom == 0) {
+ maps_view_get_min_zoom_level(view, &min_zoom);
+ maps_view_object_overlay_set_min_zoom_level(object, min_zoom);
+ }
+ if (max_zoom == 0) {
+ maps_view_get_max_zoom_level(view, &max_zoom);
+ maps_view_object_overlay_set_max_zoom_level(object, max_zoom);
+ }
+ }
return MAPS_ERROR_NONE;
}
return pc.get_error();
}
+EXPORT_API int maps_view_object_create_overlay(maps_coordinates_h coordinates,
+ Evas_Object *object, maps_view_overlay_type_e type, maps_view_object_h *overlay)
+{
+ if (!overlay || !coordinates)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ if (type < MAPS_VIEW_OVERLAY_NORMAL || type > MAPS_VIEW_OVERLAY_BOX)
+ return MAPS_ERROR_INVALID_PARAMETER;
+
+ double lat, lon;
+ maps_coordinates_get_latitude_longitude(coordinates, &lat, &lon);
+
+ /* Create a Overlay Visual Object */
+ view::overlay_constructor pc;
+ *overlay = pc.construct(coordinates, object, type);
+ if (pc.get_error() == MAPS_ERROR_NONE)
+ return pc.get_error();
+
+ /* Overlay create failure */
+ maps_view_object_destroy(*overlay);
+ *overlay = NULL;
+ return pc.get_error();
+}
+
EXPORT_API int maps_view_object_destroy(maps_view_object_h object)
{
if (!object)
case MAPS_VIEW_OBJECT_MARKER:
error = __maps_view_marker_data_destroy(o->shape_data);
break;
+ case MAPS_VIEW_OBJECT_OVERLAY:
+ error = __maps_view_overlay_data_destroy(o->shape_data);
+ break;
default:
break;
}
*z_order = m->z_order;
return MAPS_ERROR_NONE;
}
+
+int _maps_view_object_overlay_set_type(maps_view_object_h overlay, maps_view_overlay_type_e type)
+{
+ if (!overlay || (type < MAPS_VIEW_OVERLAY_NORMAL || type > MAPS_VIEW_OVERLAY_BOX))
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ if (!m)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ m->type = type;
+ return MAPS_ERROR_NONE;
+}
+
+int _maps_view_object_overlay_get_bubble(maps_view_object_h overlay, Evas_Object **object)
+{
+ if (!overlay || !object)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ if (!m)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ *object = m->bubble;
+ return MAPS_ERROR_NONE;
+}
+
+int _maps_view_object_overlay_set_bubble(maps_view_object_h overlay)
+{
+ if (!overlay)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ if (!m)
+ return MAPS_ERROR_INVALID_PARAMETER;
+
+ int x, y, w, h;
+ evas_object_geometry_get(m->object, &x, &y, &w, &h);
+
+ w += _OVERLAY_BUBBLE_MARGIN * 2;
+ h += _OVERLAY_BUBBLE_MARGIN * 2 + _OVERLAY_BUBBLE_PIN_SIZE;
+
+ m->bubble = evas_object_image_filled_add(evas_object_evas_get(m->object));
+ evas_object_stack_below(m->bubble, m->object);
+ evas_object_move(m->bubble, x, y);
+ evas_object_resize(m->bubble, w, h);
+ evas_object_show(m->bubble);
+
+ unsigned char *pixels;
+ int row_stride;
+ cairo_t *cairo;
+ cairo_surface_t *surface;
+
+ evas_object_image_alpha_set(m->bubble, EINA_TRUE);
+ evas_object_image_colorspace_set(m->bubble, EVAS_COLORSPACE_ARGB8888);
+ evas_object_image_size_set(m->bubble, w, h);
+ evas_object_image_fill_set(m->bubble, 0, 0, w, h);
+
+ pixels = (unsigned char *)evas_object_image_data_get(m->bubble, EINA_TRUE);
+ row_stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, w);
+ surface = cairo_image_surface_create_for_data(pixels,CAIRO_FORMAT_ARGB32,
+ w, h, row_stride);
+ /* Create the cairo context */
+ cairo = cairo_create (surface);
+
+ /* Configuration */
+ cairo_set_source_rgba(cairo, 0, 0, 0, 0);
+ cairo_paint_with_alpha(cairo, 0);
+
+ /* set the size of bubble */
+ int bx = x + 2;
+ int by = y + 2;
+ int bw = w - bx * 2;
+ int bh = h - by - _OVERLAY_BUBBLE_PIN_SIZE;
+
+ /* build a path */
+ cairo_new_path (cairo);
+ if (m->type == MAPS_VIEW_OVERLAY_BUBBLE) {
+ double r = bh / 8.;
+ double d = M_PI / 180.;
+ cairo_arc (cairo, bx + bw - r, by + r, r, -90 * d, 0 * d);
+ cairo_arc (cairo, bx + bw - r, by + bh - r, r, 0 * d, 90 * d);
+ cairo_line_to(cairo, bx + bw / 2 + _OVERLAY_BUBBLE_PIN_SIZE, by + bh);
+ cairo_line_to(cairo, bx + bw / 2, by + bh + _OVERLAY_BUBBLE_PIN_SIZE);
+ cairo_line_to(cairo, bx + bw / 2 - _OVERLAY_BUBBLE_PIN_SIZE, by + bh);
+ cairo_arc (cairo, bx + r, by + bh - r, r, 90 * d, 180 * d);
+ cairo_arc (cairo, bx + r, by + r, r, 180 * d, 270 * d);
+ }
+ else {
+ cairo_move_to(cairo, 1., 1.);
+ cairo_line_to(cairo, 1., bh);
+ cairo_line_to(cairo, bw / 2 - _OVERLAY_BUBBLE_PIN_SIZE, bh);
+ cairo_line_to(cairo, bw / 2, bh + _OVERLAY_BUBBLE_PIN_SIZE);
+ cairo_line_to(cairo, bw / 2 + _OVERLAY_BUBBLE_PIN_SIZE, bh);
+ cairo_line_to(cairo, bw, bh);
+ cairo_line_to(cairo, bw, 1);
+ }
+ cairo_close_path(cairo);
+
+ /* clipping */
+ cairo_clip_preserve(cairo);
+ cairo_set_source_rgb(cairo, 1., 1., 1.);
+ cairo_fill_preserve(cairo);
+ cairo_set_source_rgb(cairo, .1, .1, .1);
+ cairo_set_line_width(cairo, 3);
+
+
+ cairo_stroke(cairo);
+ cairo_destroy(cairo);
+ cairo_surface_destroy(surface);
+
+ evas_object_image_data_set(m->bubble, pixels);
+ evas_object_image_data_update_add(m->bubble, 0, 0, w, h);
+
+ return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_get_object(maps_view_object_h overlay, Evas_Object **object)
+{
+ if (!overlay || !object)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ if (!m)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ *object = m->object;
+ return MAPS_ERROR_NONE;
+}
+
+int _maps_view_object_overlay_set_object(maps_view_object_h overlay, Evas_Object *object)
+{
+ if (!overlay || !object)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ if (!m)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ m->object = object;
+ if (m->type != MAPS_VIEW_OVERLAY_NORMAL)
+ _maps_view_object_overlay_set_bubble(overlay);
+
+ return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_set_coordinates(maps_view_object_h overlay, maps_coordinates_h coordinates)
+{
+ if (!overlay || !coordinates)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ if (!m)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ if (m->coordinates)
+ maps_coordinates_destroy(m->coordinates);
+ m->coordinates = coordinates;
+ return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_get_coordinates(const maps_view_object_h overlay, maps_coordinates_h *coordinates)
+{
+ if (!overlay || !coordinates)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ if (!m)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ return maps_coordinates_clone(m->coordinates, coordinates);
+}
+
+EXPORT_API int maps_view_object_overlay_set_min_zoom_level(maps_view_object_h overlay, int zoom)
+{
+ if (!overlay || zoom < 0)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ if (!m)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ int map_min_zoom_level = 0;
+ maps_view_get_min_zoom_level(__get_view(overlay), &map_min_zoom_level);
+ if (zoom < map_min_zoom_level)
+ m->min_zoom_level = map_min_zoom_level;
+ else
+ m->min_zoom_level = zoom;
+ return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_get_max_zoom_level(const maps_view_object_h overlay, int *zoom)
+{
+ if (!overlay || !zoom)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ if (!m)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ *zoom = m->max_zoom_level;
+ return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_set_max_zoom_level(maps_view_object_h overlay, int zoom)
+{
+ if (!overlay || zoom < 0)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ if (!m)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ int map_max_zoom_level = 0;
+ maps_view_get_max_zoom_level(__get_view(overlay), &map_max_zoom_level);
+ if (zoom < map_max_zoom_level)
+ m->max_zoom_level = map_max_zoom_level;
+ else
+ m->max_zoom_level = zoom;
+ return MAPS_ERROR_NONE;
+}
+
+EXPORT_API int maps_view_object_overlay_get_min_zoom_level(const maps_view_object_h overlay, int *zoom)
+{
+ if (!overlay || !zoom)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ if (!m)
+ return MAPS_ERROR_INVALID_PARAMETER;
+ *zoom = m->min_zoom_level;
+ return MAPS_ERROR_NONE;
+}
+
+static bool __maps_view_object_overlay_set_visible(maps_view_object_h overlay)
+{
+ if (!overlay)
+ return false;
+
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ maps_view_object_s *o = (maps_view_object_s *)overlay;
+ if (o->visible) {
+ int zoom;
+ maps_view_get_zoom_level(__get_view(overlay), &zoom);
+ if (zoom < m->min_zoom_level || zoom > m->max_zoom_level) {
+ evas_object_hide(m->object);
+ if (m->bubble)
+ evas_object_hide(m->bubble);
+ }
+ else {
+ evas_object_show(m->object);
+ if (m->bubble)
+ evas_object_show(m->bubble);
+ }
+ }
+ else {
+ evas_object_hide(m->object);
+ if (m->bubble)
+ evas_object_hide(m->bubble);
+ }
+ return true;
+}
+
+static bool __maps_view_object_overlay_clip(maps_view_object_h overlay, Evas_Object *clipper)
+{
+ if (!overlay || !clipper)
+ return false;
+
+ int x, y, w, h;
+ maps_view_get_screen_location(__get_view(overlay), &x, &y, &w, &h);
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ evas_object_color_set(clipper, 255, 255, 255, 255);
+ evas_object_move(clipper, x, y);
+ evas_object_resize(clipper, w, h);
+ evas_object_clip_set(m->object, clipper);
+ if (m->bubble)
+ evas_object_clip_set(m->bubble, clipper);
+ evas_object_show(clipper);
+
+ m->clipper = clipper;
+ return true;
+}
+
+static bool __maps_view_object_overlay_move(maps_view_object_h overlay, maps_coordinates_h coordinates)
+{
+ if (!overlay || !coordinates)
+ return false;
+
+ int x, y, w, h;
+ maps_view_geolocation_to_screen(__get_view(overlay), coordinates, &x, &y);
+ maps_view_overlay_data_s *m = __get_overlay_data(overlay);
+ evas_object_geometry_get(m->object, NULL, NULL, &w, &h);
+
+ x -= w / 2;
+ y -= h;
+
+ if (m->type != MAPS_VIEW_OVERLAY_NORMAL) {
+ y -= _OVERLAY_BUBBLE_MARGIN + _OVERLAY_BUBBLE_PIN_SIZE;
+ evas_object_move(m->object, x, y);
+
+ if (m->bubble) {
+ x -= _OVERLAY_BUBBLE_MARGIN;
+ y -= _OVERLAY_BUBBLE_MARGIN ;
+ evas_object_move(m->bubble, x, y);
+ }
+ }
+ else
+ evas_object_move(m->object, x, y);
+ return true;
+}
+
+static bool __maps_view_object_overlay_update(maps_view_object_h overlay, Evas_Object *clipper)
+{
+ if (!overlay || !clipper)
+ return false;
+
+ bool ret = false;
+ maps_coordinates_h coordinates = NULL;
+
+ do {
+ ret = __maps_view_object_overlay_set_visible(overlay);
+ if (!ret) break;
+
+ ret = __maps_view_object_overlay_clip(overlay, clipper);
+ if (!ret) break;
+
+ maps_view_object_overlay_get_coordinates(overlay, &coordinates);
+ ret = __maps_view_object_overlay_move(overlay, coordinates);
+ } while(0);
+
+ if (coordinates)
+ maps_coordinates_destroy(coordinates);
+
+ return ret;
+}
+
+bool _maps_view_object_overlay_cb(int index, int total, maps_view_object_h object, void *user_data)
+{
+ if (!object || !user_data)
+ return false;
+
+ maps_view_object_type_e type;
+ maps_view_object_get_type(object, &type);
+ if (type != MAPS_VIEW_OBJECT_OVERLAY)
+ return true;
+ return __maps_view_object_overlay_update(object, (Evas_Object*)user_data);
+}
+
+int _maps_view_object_overlay_operation(maps_view_h view, maps_view_object_h object, maps_view_object_operation_e operation)
+{
+ if (!view || !object)
+ return MAPS_ERROR_INVALID_PARAMETER;
+
+ Evas_Object *parent = NULL, *clipper = NULL;
+ maps_view_overlay_data_s *o = __get_overlay_data(object);
+
+ if (!o)
+ return MAPS_ERROR_INVALID_PARAMETER;
+
+ if (operation == MAPS_VIEW_OBJECT_ADD) {
+ _maps_view_get_parent(view, &parent);
+ evas_object_smart_member_add(o->bubble, parent);
+ evas_object_smart_member_add(o->object, parent);
+ }
+
+ if (operation != MAPS_VIEW_OBJECT_REMOVE) {
+ _maps_view_get_clipper(view, &clipper);
+ __maps_view_object_overlay_update(object, clipper);
+ }
+
+ return MAPS_ERROR_NONE;
+}
--- /dev/null
+/* Copyright (c) 2010-2014 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <image_util.h>
+
+#include <maps_view_plugin.h>
+#include <module.h>
+#include <empty_module.h>
+#include <stdlib.h>
+
+
+const plugin::interface_s *__get_plugin_interface(maps_view_h view);
+
+static void __convert_rgba_to_bgra(unsigned char *data, int width, int height)
+{
+ int len = width * height;
+ unsigned int *p = (unsigned int *)data;
+ for (int i = 0; i < len; i++)
+ {
+ *p = (*p & 0xFF00FF00) |
+ ((*p & 0x00FF0000) >> 16) |
+ ((*p & 0x000000FF) << 16);
+ p++;
+ };
+}
+
+static bool __encode_bitmap_file(const void *data, int width, int height, const char *file)
+{
+ struct {
+ unsigned char magic[2];
+ } bmpfile_magic = { {'B', 'M'} };
+
+ struct {
+ unsigned int filesz;
+ unsigned short creator1;
+ unsigned short creator2;
+ unsigned int bmp_offset;
+ } bmpfile_header = { 0, 0, 0, 0x36 };
+
+ struct {
+ unsigned int header_sz;
+ unsigned int width;
+ unsigned int height;
+ unsigned short nplanes;
+ unsigned short bitspp;
+ unsigned int compress_type;
+ unsigned int bmp_bytesz;
+ unsigned int hres;
+ unsigned int vres;
+ unsigned int ncolors;
+ unsigned int nimpcolors;
+ } bmp_dib_v3_header_t = { 0x28, 0, 0, 1, 24, 0, 0, 0, 0, 0, 0 };
+
+ unsigned int *blocks;
+ FILE *fp = fopen(file, "w+");
+ int i;
+
+ if (fp == NULL) {
+ MAPS_LOGE("fopen fail");
+ return false;
+ }
+ bmpfile_header.filesz = sizeof(bmpfile_magic) + sizeof(bmpfile_header) + sizeof(bmp_dib_v3_header_t) + (width * height * 3);
+ bmp_dib_v3_header_t.header_sz = sizeof(bmp_dib_v3_header_t);
+ bmp_dib_v3_header_t.width = width;
+ bmp_dib_v3_header_t.height = -height;
+ bmp_dib_v3_header_t.bmp_bytesz = width * height * 3;
+
+ fwrite(&bmpfile_magic, sizeof(bmpfile_magic), 1, fp);
+ fwrite(&bmpfile_header, sizeof(bmpfile_header), 1, fp);
+ fwrite(&bmp_dib_v3_header_t, sizeof(bmp_dib_v3_header_t), 1, fp);
+ blocks = (unsigned int *)data;
+
+ for (i = 0; i < height * width; i++) {
+ fwrite(&blocks[i], 3, 1, fp);
+ }
+ fclose(fp);
+ return true;
+}
+
+static image_util_colorspace_e __convert_colorspace(maps_view_colorspace_type_e cs)
+{
+ switch (cs) {
+ case MAPS_VIEW_COLORSPACE_RGBA8888:
+ return IMAGE_UTIL_COLORSPACE_RGBA8888;
+ case MAPS_VIEW_COLORSPACE_BGRA8888:
+ return IMAGE_UTIL_COLORSPACE_BGRA8888;
+ }
+ return IMAGE_UTIL_COLORSPACE_RGBA8888;
+}
+
+EXPORT_API int maps_view_capture_snapshot(maps_view_h view,
+ maps_view_snapshot_format_type_e type,
+ int quality,
+ const char *path)
+{
+ if (!view || type < MAPS_VIEW_SNAPSHOT_BMP || type > MAPS_VIEW_SNAPSHOT_JPEG ||
+ quality < 0 || quality > 100 || !path || (path && *path == '\0'))
+ return MAPS_ERROR_INVALID_PARAMETER;
+
+ int error = MAPS_ERROR_UNKNOWN;
+ int w, h;
+ unsigned char *image_buffer = NULL;
+ maps_view_colorspace_type_e cs = MAPS_VIEW_COLORSPACE_RGBA8888;
+ char *fname = NULL;
+
+ do {
+ if (!__get_plugin_interface(view)->maps_plugin_capture_snapshot)
+ return MAPS_ERROR_SERVICE_NOT_AVAILABLE;
+
+ error = __get_plugin_interface(view)->maps_plugin_capture_snapshot(view,
+ (void**)&image_buffer, &w, &h, &cs);
+ if (error != MAPS_ERROR_NONE) break;
+ if (cs != MAPS_VIEW_COLORSPACE_RGBA8888 && cs != MAPS_VIEW_COLORSPACE_BGRA8888) {
+ MAPS_LOGE("The color space is not supported yet. (%d)", cs);
+ error = MAPS_ERROR_INVALID_OPERATION;
+ break;
+ }
+
+ int fname_len = strlen(path) + 4;
+ fname = (char*)malloc(fname_len + 1);
+ if (!fname)
+ return MAPS_ERROR_INVALID_OPERATION;
+
+ memset(fname, 0, fname_len + 1);
+ sprintf(fname, "%s.tmp", path);
+
+ if (type == MAPS_VIEW_SNAPSHOT_JPEG) {
+ error = image_util_encode_jpeg(image_buffer, w, h,
+ __convert_colorspace(cs), quality, fname);
+ if (error != IMAGE_UTIL_ERROR_NONE) {
+ MAPS_LOGD("image_buffer=%p, w=%d, h=%d, cs=%d, quality=%d, fname=%s",
+ image_buffer, w, h, cs, quality, fname);
+ MAPS_LOGE("Failed to encode it with JPEG format. error=%d", error);
+ error = MAPS_ERROR_INVALID_OPERATION;
+ }
+ }
+ else if (type == MAPS_VIEW_SNAPSHOT_BMP) {
+ if (cs == MAPS_VIEW_COLORSPACE_RGBA8888) {
+ MAPS_LOGD("RGBA -> BGRA");
+ __convert_rgba_to_bgra(image_buffer, w, h);
+ cs = MAPS_VIEW_COLORSPACE_BGRA8888;
+ }
+ if (!__encode_bitmap_file(image_buffer, w, h, fname)) {
+ MAPS_LOGE("Failed to store it to a file.");
+ error = MAPS_ERROR_INVALID_OPERATION;
+ }
+ }
+ else
+ error = MAPS_ERROR_INVALID_PARAMETER;
+ } while(0);
+
+ if (fname) {
+ if (error == MAPS_ERROR_NONE) {
+ remove(path);
+ rename(fname, path);
+ }
+ else
+ remove(fname);
+ free(fname);
+ }
+ g_free(image_buffer);
+ return error;
+}
return 0;
}
+int maps_plugin_capture_snapshot_empty(maps_view_h view, void **data, int *width, int *height,
+ maps_view_colorspace_type_e *cs)
+{
+ return 0;
+}
+
/* Interface of a plugin with all empty functions */
plugin::interface_s empty_interface = {
/* Plugin dedicated functions */
maps_plugin_get_min_zoom_level_empty,
maps_plugin_get_max_zoom_level_empty,
maps_plugin_get_center_empty,
+ maps_plugin_capture_snapshot_empty,
};
new_plugin->interface.maps_plugin_get_center =
(maps_plugin_get_center_f) gmod_find_sym(plugin,
"maps_plugin_get_center");
+ new_plugin->interface.maps_plugin_capture_snapshot =
+ (maps_plugin_capture_snapshot_f) gmod_find_sym(plugin,
+ "maps_plugin_capture_snapshot");
/* 2.3 Check whether the plugin init function is valid */
if (!new_plugin->interface.maps_plugin_init) {
MAPS_LOGD("maps_plugin_cancel_request:\t\t%p",
itf->maps_plugin_cancel_request);
+ MAPS_LOGD("maps_plugin_capture_snapshot:\t\t%p",
+ itf->maps_plugin_capture_snapshot);
MAPS_LOGD("*********************************************");
}
typedef int (*maps_plugin_get_min_zoom_level_f) (maps_view_h view, int *min_zoom_level);
typedef int (*maps_plugin_get_max_zoom_level_f) (maps_view_h view, int *max_zoom_level);
typedef int (*maps_plugin_get_center_f) (maps_view_h view, maps_coordinates_h *coordinates);
+typedef int (*maps_plugin_capture_snapshot_f) (maps_view_h view, void **data,
+ int *width, int *height, maps_view_colorspace_type_e *cs);
namespace plugin {
maps_plugin_get_min_zoom_level_f maps_plugin_get_min_zoom_level;
maps_plugin_get_max_zoom_level_f maps_plugin_get_max_zoom_level;
maps_plugin_get_center_f maps_plugin_get_center;
+ maps_plugin_capture_snapshot_f maps_plugin_capture_snapshot;
} interface_s;
/* Plugin structure */
extern maps_view_object_h _maps_view_object_hit_test(maps_view_h view, int x, int y, maps_view_gesture_e gesture);
extern int _maps_view_event_data_set_gesture_type(maps_view_event_data_h event, maps_view_gesture_e gesture_type);
extern int _maps_view_event_data_set_position(maps_view_event_data_h event, int x, int y);
+extern int _maps_view_event_data_set_coordinates(maps_view_event_data_h event, maps_coordinates_h coordinates);
extern int _maps_view_event_data_set_center(maps_view_event_data_h event, maps_coordinates_h center);
extern int _maps_view_event_data_set_fingers(maps_view_event_data_h event, int fingers);
extern int _maps_view_event_data_set_zoom_factor(maps_view_event_data_h event, double zoom_factor);
if (ed) {
_maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_LONG_PRESS);
_maps_view_event_data_set_position(ed, tp._x, tp._y);
+ _maps_view_event_data_set_coordinates(ed, c);
_maps_view_event_data_set_fingers(ed, 1);
_maps_view_invoke_event_callback(_gd->_view, ed);
maps_view_event_data_destroy(ed);
if (ed) {
_maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_DOUBLE_TAP);
_maps_view_event_data_set_position(ed, tp._x, tp._y);
+ _maps_view_event_data_set_coordinates(ed, c);
_maps_view_event_data_set_fingers(ed, 1);
_maps_view_invoke_event_callback(_gd->_view, ed);
maps_view_event_data_destroy(ed);
if (ed) {
_maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_TAP);
_maps_view_event_data_set_position(ed, tp._x, tp._y);
+ _maps_view_event_data_set_coordinates(ed, c);
_maps_view_event_data_set_fingers(ed, 1);
_maps_view_invoke_event_callback(_gd->_view, ed);
maps_view_event_data_destroy(ed);
if (ed) {
_maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_2_FINGER_TAP);
_maps_view_event_data_set_position(ed, gesture_center._x, gesture_center._y);
+ _maps_view_event_data_set_coordinates(ed, c);
_maps_view_event_data_set_fingers(ed, 2);
_maps_view_invoke_event_callback(_gd->_view, ed);
maps_view_event_data_destroy(ed);
void view::gesture_processor::on_panning_finished(int finger_no)
{
+ const touch_point cur_tp = _gd->_info._finger_move[finger_no];
+
/* Obtain fresh central coordinates of the map in the Plugin */
maps_coordinates_h c = NULL;
_maps_view_get_plugin_center(_gd->_view, &c);
/* Directly set the updated center of the map */
_maps_view_set_center_directly(_gd->_view, c);
+ maps_coordinates_destroy(c);
+ c = NULL;
+
+ maps_view_screen_to_geolocation(_gd->_view, cur_tp._x, cur_tp._y, &c);
+ /* Invoke user registered event callback */
+ maps_view_event_data_h ed = _maps_view_create_event_data(MAPS_VIEW_EVENT_GESTURE);
+ if(ed) {
+ _maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_SCROLL);
+ _maps_view_event_data_set_position(ed, cur_tp._x, cur_tp._y);
+ _maps_view_event_data_set_coordinates(ed, c);
+ _maps_view_event_data_set_fingers(ed, 1);
+ _maps_view_invoke_event_callback(_gd->_view, ed);
+ maps_view_event_data_destroy(ed);
+ }
maps_coordinates_destroy(c);
}
-delta_x,
-delta_y));
+ /* c. Get coordinates after delta_x and delta_y are updated */
+ maps_coordinates_h c = NULL;
+ maps_view_screen_to_geolocation(_gd->_view, cur_tp._x, cur_tp._y, &c);
+
/* Invoke user registered event callback */
maps_view_event_data_h ed = _maps_view_create_event_data(MAPS_VIEW_EVENT_GESTURE);
if (ed) {
_maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_SCROLL);
_maps_view_event_data_set_position(ed, cur_tp._x, cur_tp._y);
+ _maps_view_event_data_set_coordinates(ed, c);
_maps_view_event_data_set_fingers(ed, 1);
_maps_view_invoke_event_callback(_gd->_view, ed);
maps_view_event_data_destroy(ed);
}
+ maps_coordinates_destroy(c);
}
view::touch_point view::gesture_processor::calc_center(
maps_view_event_data_h ed = _maps_view_create_event_data(MAPS_VIEW_EVENT_GESTURE);
if (ed) {
_maps_view_event_data_set_position(ed, cur_center._x, cur_center._y);
+ _maps_view_event_data_set_coordinates(ed, center);
_maps_view_event_data_set_fingers(ed, 2);
if (zoom_changed) {
if (ed) {
_maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_ZOOM);
_maps_view_event_data_set_position(ed, cur_center._x, cur_center._y);
+ _maps_view_event_data_set_coordinates(ed, center);
_maps_view_event_data_set_fingers(ed, 2);
_maps_view_event_data_set_zoom_factor(ed, zoom_factor);
_maps_view_event_data_set_rotation_angle(ed, rotation_angle);
if (ed) {
_maps_view_event_data_set_gesture_type(ed, MAPS_VIEW_GESTURE_ROTATE);
_maps_view_event_data_set_position(ed, cur_center._x, cur_center._y);
+ _maps_view_event_data_set_coordinates(ed, center);
_maps_view_event_data_set_fingers(ed, 2);
_maps_view_event_data_set_zoom_factor(ed, zoom_factor);
_maps_view_event_data_set_rotation_angle(ed, rotation_angle);
--- /dev/null
+/* Copyright (c) 2010-2014 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#include "overlay_constructor.h"
+
+extern int _maps_view_object_create(const maps_view_object_type_e type, maps_view_object_h *object);
+
+extern int _maps_view_object_overlay_set_object(maps_view_object_h overlay, Evas_Object *object);
+
+extern int _maps_view_object_overlay_set_type(maps_view_object_h overlay, maps_view_overlay_type_e type);
+
+maps_view_object_h view::overlay_constructor::construct(maps_coordinates_h coordinates,
+ Evas_Object *object, maps_view_overlay_type_e type)
+{
+ if (!coordinates || !object) {
+ __error = MAPS_ERROR_INVALID_PARAMETER;
+ return NULL;
+ }
+
+ __error = MAPS_ERROR_NONE;
+
+ maps_view_object_h overlay = NULL;
+ do {
+ /* 1. Create a visual object for marker */
+ __error = _maps_view_object_create(MAPS_VIEW_OBJECT_OVERLAY, &overlay);
+ if (__error != MAPS_ERROR_NONE)
+ break;
+
+ /* 2. Set the overlay type */
+ __error = _maps_view_object_overlay_set_type(overlay, type);
+ if (__error != MAPS_ERROR_NONE)
+ break;
+
+ /* 3. Set the evas object to the overlay */
+ __error = _maps_view_object_overlay_set_object(overlay, object);
+ if (__error != MAPS_ERROR_NONE)
+ break;
+
+ /* 4. Move the overlay to the given coordinates */
+ __error = maps_view_object_overlay_set_coordinates(overlay, coordinates);
+ if (__error != MAPS_ERROR_NONE)
+ break;
+
+ /* SUCCESS */
+ return overlay;
+
+ } while(false);
+
+ /* FAILURE: Releasing objects */
+ maps_view_object_destroy(overlay);
+ return NULL;
+}
--- /dev/null
+/* Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __MAPS_VIEW_OVERLAY_CONSTRUCTOR_H__
+#define __MAPS_VIEW_OVERLAY_CONSTRUCTOR_H__
+
+#include "maps_error.h"
+#include "maps_view_object.h"
+
+namespace view
+{
+ class overlay_constructor {
+ private:
+ int __error;
+ public:
+ overlay_constructor()
+ : __error(MAPS_ERROR_NONE)
+ {
+ }
+ public:
+ maps_view_object_h construct(maps_coordinates_h coordinates, Evas_Object *object, maps_view_overlay_type_e type);
+ int get_error() const
+ {
+ return __error;
+ }
+ };
+};
+
+#endif /* __MAPS_VIEW_overlay_constructor_H__ */