#ifndef _EFL_CANVAS_GESTURE_ZOOM_EO_H_
#define _EFL_CANVAS_GESTURE_ZOOM_EO_H_

#ifndef _EFL_CANVAS_GESTURE_ZOOM_EO_CLASS_TYPE
#define _EFL_CANVAS_GESTURE_ZOOM_EO_CLASS_TYPE

typedef Eo Efl_Canvas_Gesture_Zoom;

#endif

#ifndef _EFL_CANVAS_GESTURE_ZOOM_EO_TYPES
#define _EFL_CANVAS_GESTURE_ZOOM_EO_TYPES


#endif
#ifdef EFL_BETA_API_SUPPORT
/** Zoom gesture class holding state information. See @ref Efl_Canvas_Gesture
 * to see what this state is and @[Efl.Gesture.Events.gesture,zoom] for a
 * description of the Flick gesture.
 *
 * @ingroup Efl_Canvas_Gesture_Zoom
 */
#define EFL_CANVAS_GESTURE_ZOOM_CLASS efl_canvas_gesture_zoom_class_get()

EWAPI const Efl_Class *efl_canvas_gesture_zoom_class_get(void);

/**
 * @brief Gets the current radius (i.e. the distance between the two fingers)
 * of the gesture.
 *
 * @param[in] obj The object.
 *
 * @return The radius value in pixels.
 *
 * @ingroup Efl_Canvas_Gesture_Zoom
 */
EOAPI double efl_gesture_zoom_radius_get(Eo *obj);

/**
 * @brief Gets the current zoom value of the gesture. When the gesture begins,
 * the finger distance is recorded. When the distance becomes greater than the
 * initial one, a zoom value greater than <tt>1.0</tt> is reported. When
 * it becomes smaller, a zoom value lesser than <tt>1.0</tt> is reported.
 *
 * @param[in] obj The object.
 *
 * @return The zoom value. <tt>1.0</tt> means no zoom.
 *
 * @ingroup Efl_Canvas_Gesture_Zoom
 */
EOAPI double efl_gesture_zoom_get(Eo *obj);
#endif /* EFL_BETA_API_SUPPORT */

#endif
