#ifndef _EFL_UI_H #define _EFL_UI_H #include #include /* Standard headers for standard system calls etc. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef ELM_DIRENT_H #include #endif #ifndef _WIN32 # include #endif #include #ifdef ELM_UNIX #include #ifdef ELM_LIBINTL_H #include #endif #include #include #include #endif #ifdef ELM_ALLOCA_H #include #endif #ifdef _WIN32 # define WIN32_LEAN_AND_MEAN # include # undef WIN32_LEAN_AND_MEAN #elif defined (__FreeBSD__) || defined (__OpenBSD__) # include # include #elif defined (__ANDROID__) # include #elif defined (__sun) # include #else # include # include #endif #include #define __EFL_UI_IS_REQUIRED #include #include #include #include #ifdef EAPI # undef EAPI #endif #ifdef EWAPI # undef EWAPI #endif #ifdef _WIN32 # ifdef EFL_BUILD # ifdef DLL_EXPORT # define EAPI __declspec(dllexport) # else # define EAPI # endif # else # define EAPI __declspec(dllimport) # endif # define EAPI_WEAK #else # ifdef __GNUC__ # if __GNUC__ >= 4 # define EAPI __attribute__ ((visibility("default"))) # define EAPI_WEAK __attribute__ ((weak)) # else # define EAPI # define EAPI_WEAK # endif # else # define EAPI # define EAPI_WEAK # endif #endif #define EWAPI EAPI EAPI_WEAK #ifdef __cplusplus extern "C" { #endif EAPI extern double _efl_startup_time; /** Successfully applied the requested style from the current theme. */ EAPI extern Eina_Error EFL_UI_THEME_APPLY_ERROR_NONE; // EO types. Defined for legacy-only builds as legacy uses typedef of EO types. #include "efl_ui.eot.h" //define focus manager earlier since focus object and manager is circular typedef Eo Efl_Ui_Focus_Manager; #define _EFL_UI_FOCUS_MANAGER_EO_CLASS_TYPE # include # include # ifdef EFL_BETA_API_SUPPORT EAPI void efl_ui_focus_relation_free(Efl_Ui_Focus_Relations *rel); # endif # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include /* FIXME: what the actual fuck. */ #ifdef EFL_BETA_API_SUPPORT /** * @brief Set the window's autodel state. * * When closing the window in any way outside of the program control, like * pressing the X button in the titlebar or using a command from the Window * Manager, a "delete,request" signal is emitted to indicate that this event * occurred and the developer can take any action, which may include, or not, * destroying the window object. * * When the @c autodel parameter is set, the window will be automatically * destroyed when this event occurs, after the signal is emitted. If @c autodel * is @c false, then the window will not be destroyed and is up to the program * to do so when it's required. * * @param[in] obj The object. * @param[in] autodel If @c true, the window will automatically delete itself * when closed. * * Note: This function is only available in C. * * @ingroup Efl_Ui_Win */ EAPI void efl_ui_win_autodel_set(Efl_Ui_Win *obj, Eina_Bool autodel); /** * @brief Get the window's autodel state. * * @param[in] obj The object. * * @return If @c true, the window will automatically delete itself when closed. * * Note: This function is only available in C. * * @ingroup Efl_Ui_Win */ EAPI Eina_Bool efl_ui_win_autodel_get(const Efl_Ui_Win *obj); #endif # include # include # include // FIXME - Text object must stop using Context_Item_Clicked_Cb! typedef void (*Context_Item_Clicked_Cb)(void *data, Eo *obj, void *event_info); # include # include # include # include # include # include # include # include # include # include # include # include # include /* FIXME: Multibuttonentry must not use elm_widget_item */ # include # include # include # include # include # include # include # include # include # include # include # include # include #define _EFL_UI_SPOTLIGHT_MANAGEREO_EO_CLASS_TYPE typedef Eo Efl_Ui_Spotlight_Manager; #define _EFL_UI_SPOTLIGHT_INDICATOR_EO_CLASS_TYPE typedef Eo Efl_Ui_Spotlight_Indicator; # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include /** * Initialize Elementary * * @param[in] argc System's argument count value * @param[in] argv System's pointer to array of argument strings * @return The init counter value. * * This function initializes Elementary and increments a counter of * the number of calls to it. It returns the new counter's value. * * @warning This call is exported only for use by the @c ELM_MAIN() * macro. There is no need to use this if you use this macro (which * is highly advisable). An elm_main() should contain the entry * point code for your application, having the same prototype as * elm_init(), and @b not being static (putting the @c EAPI_MAIN symbol * in front of its type declaration is advisable). The @c * ELM_MAIN() call should be placed just after it. * * Example: * @dontinclude bg_example_01.c * @skip static void * @until ELM_MAIN * * See the full @ref bg_example_01_c "example". * * @see elm_shutdown(). * @ingroup Elm_General */ EAPI int elm_init(int argc, char **argv); /** * Shut down Elementary * * @return The init counter value. * * This should be called at the end of your application, just * before it ceases to do any more processing. This will clean up * any permanent resources your application may have allocated via * Elementary that would otherwise persist. * * @see elm_init() for an example * * @note elm_shutdown() will iterate main loop until all ecore_evas are freed. * There is a possibility to call your ecore callbacks(timer, animator, event, * job, and etc.) in elm_shutdown() * * @ingroup Elm_General */ EAPI int elm_shutdown(void); #ifdef __cplusplus } #endif #undef EAPI #define EAPI #endif // We are including efl_general.h again, just in case Efl_Core.h was already included before this // and the __EFL_*_IS_REQUIRED changed since then. #include