#ifndef _EFL_INPUT_INTERFACE_EO_H_
#define _EFL_INPUT_INTERFACE_EO_H_

#ifndef _EFL_INPUT_INTERFACE_EO_CLASS_TYPE
#define _EFL_INPUT_INTERFACE_EO_CLASS_TYPE

typedef Eo Efl_Input_Interface;

#endif

#ifndef _EFL_INPUT_INTERFACE_EO_TYPES
#define _EFL_INPUT_INTERFACE_EO_TYPES


#endif
/**
 * @brief An object implementing this interface can send pointer events.
 *
 * Windows and canvas objects may send input events.
 *
 * @ingroup Efl_Input_Interface
 */
#define EFL_INPUT_INTERFACE_INTERFACE efl_input_interface_interface_get()

EWAPI const Eo_Class *efl_input_interface_interface_get(void);

EOAPI extern const Eo_Event_Description _EFL_EVENT_POINTER_MOVE;
EOAPI extern const Eo_Event_Description _EFL_EVENT_POINTER_DOWN;
EOAPI extern const Eo_Event_Description _EFL_EVENT_POINTER_UP;
EOAPI extern const Eo_Event_Description _EFL_EVENT_POINTER_CANCEL;
EOAPI extern const Eo_Event_Description _EFL_EVENT_POINTER_IN;
EOAPI extern const Eo_Event_Description _EFL_EVENT_POINTER_OUT;
EOAPI extern const Eo_Event_Description _EFL_EVENT_POINTER_WHEEL;
EOAPI extern const Eo_Event_Description _EFL_EVENT_KEY_DOWN;
EOAPI extern const Eo_Event_Description _EFL_EVENT_KEY_UP;
EOAPI extern const Eo_Event_Description _EFL_EVENT_HOLD;

/**
 * No description
 */
#define EFL_EVENT_POINTER_MOVE (&(_EFL_EVENT_POINTER_MOVE))

/**
 * No description
 */
#define EFL_EVENT_POINTER_DOWN (&(_EFL_EVENT_POINTER_DOWN))

/**
 * No description
 */
#define EFL_EVENT_POINTER_UP (&(_EFL_EVENT_POINTER_UP))

/**
 * No description
 */
#define EFL_EVENT_POINTER_CANCEL (&(_EFL_EVENT_POINTER_CANCEL))

/**
 * No description
 */
#define EFL_EVENT_POINTER_IN (&(_EFL_EVENT_POINTER_IN))

/**
 * No description
 */
#define EFL_EVENT_POINTER_OUT (&(_EFL_EVENT_POINTER_OUT))

/**
 * No description
 */
#define EFL_EVENT_POINTER_WHEEL (&(_EFL_EVENT_POINTER_WHEEL))

/**
 * No description
 */
#define EFL_EVENT_KEY_DOWN (&(_EFL_EVENT_KEY_DOWN))

/**
 * No description
 */
#define EFL_EVENT_KEY_UP (&(_EFL_EVENT_KEY_UP))

/** All input events are on hold or resumed.
 *
 * @ingroup Efl_Input_Interface
 */
#define EFL_EVENT_HOLD (&(_EFL_EVENT_HOLD))

#endif
