forked from enlightenment/efl
Merge branch 'devs/captainigloo/doc'
Improve documentation accross all EFL libraries. Work was done on behalf of Samsung by Cadoles, Openwide and Zefla. Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
commit
30abbb31a1
|
@ -23,16 +23,23 @@
|
|||
it can be found in @ref Ecore_Main_Loop_Page.
|
||||
|
||||
The Ecore library provides the following modules:
|
||||
@li @ref Ecore_Init_Group
|
||||
@li @ref Ecore_Getopt_Group
|
||||
@li @ref Ecore_Main_Loop_Group
|
||||
@li @ref Ecore_System_Events
|
||||
@li @ref Ecore_Time_Group
|
||||
@li @ref Ecore_Thread_Group
|
||||
@li @ref Ecore_Pipe_Group
|
||||
@li @ref Ecore_Application_Group
|
||||
@li @ref Ecore_Throttle_Group
|
||||
@li @ref Ecore_Job_Group
|
||||
@li @ref Ecore_File_Group
|
||||
@li @ref Ecore_Con_Group
|
||||
@li @ref Ecore_Evas_Group
|
||||
@li @ref Ecore_FB_Group
|
||||
@li @ref Ecore_Input_Group
|
||||
@li @ref Ecore_IMF_Lib_Group
|
||||
@li @ref Ecore_IMF_Context_Group
|
||||
@li @ref Ecore_IMF_Context_Module_Group
|
||||
@li @ref Ecore_IMF_Evas_Group
|
||||
@li @link Ecore_Ipc.h Ecore_IPC - Inter Process Communication functions. @endlink
|
||||
@li @ref Ecore_IPC_Group
|
||||
@li @link Ecore_X.h Ecore_X - X Windows System wrapper. @endlink
|
||||
@li @ref Ecore_Win32_Group
|
||||
@li @ref Ecore_Audio_Group
|
||||
|
@ -80,6 +87,9 @@
|
|||
@li @ref Ecore_FD_Handler_Group
|
||||
@li @ref Ecore_Event_Group
|
||||
@li @ref Ecore_Exe_Group
|
||||
@li @ref Ecore_Animator_Group
|
||||
@li @ref Ecore_Poller_Group
|
||||
|
||||
|
||||
@section ecore_main_intro_example Introductory Examples
|
||||
|
||||
|
|
|
@ -67,15 +67,36 @@ EAPI int ecore_shutdown(void);
|
|||
* @{
|
||||
*/
|
||||
|
||||
#define ECORE_VERSION_MAJOR EFL_VERSION_MAJOR
|
||||
#define ECORE_VERSION_MINOR EFL_VERSION_MINOR
|
||||
#define ECORE_VERSION_MAJOR EFL_VERSION_MAJOR /**< Ecore version major number */
|
||||
#define ECORE_VERSION_MINOR EFL_VERSION_MINOR /**< Ecore version minor number */
|
||||
|
||||
/**
|
||||
* @typedef Ecore_Version
|
||||
*
|
||||
* This is the Ecore version information structure that can be used at
|
||||
* runtime to detect which version of ecore is being used and adapt
|
||||
* appropriately as follows for example:
|
||||
*
|
||||
* @code
|
||||
* #if defined(ECORE_VERSION_MAJOR) && (ECORE_VERSION_MAJOR >= 1) && defined(ECORE_VERSION_MINOR) && (ECORE_VERSION_MINOR > 0)
|
||||
* printf("Ecore version: %i.%i.%i\n",
|
||||
* ecore_version->major,
|
||||
* ecore_version->minor,
|
||||
* ecore_version->micro);
|
||||
* if (ecore_version->revision > 0)
|
||||
* {
|
||||
* printf(" Built from Git revision # %i\n", ecore_version->revision);
|
||||
* }
|
||||
* #endif
|
||||
* @endcode
|
||||
*
|
||||
*/
|
||||
typedef struct _Ecore_Version
|
||||
{
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int revision;
|
||||
int major; /** < major (binary or source incompatible changes) */
|
||||
int minor; /** < minor (new features, bugfixes, major improvements version) */
|
||||
int micro; /** < micro (bugfix, internal improvements, no new features version) */
|
||||
int revision; /** < git revision (0 if a proper release or the git revision number Ecore is built from) */
|
||||
} Ecore_Version;
|
||||
|
||||
EAPI extern Ecore_Version *ecore_version;
|
||||
|
@ -128,6 +149,7 @@ EAPI void ecore_main_loop_iterate(void);
|
|||
* DO NOT use this function unless you are the person God comes to ask for
|
||||
* advice when He has trouble managing the Universe.
|
||||
*
|
||||
* @return 1 if event exists, else 0.
|
||||
* @see ecore_main_loop_iterate()
|
||||
*/
|
||||
EAPI int ecore_main_loop_iterate_may_block(int may_block);
|
||||
|
@ -274,10 +296,14 @@ typedef void *(*Ecore_Data_Cb)(void *data);
|
|||
/**
|
||||
* Add a function to be called by ecore_fork_reset()
|
||||
*
|
||||
* @param func The function to add.
|
||||
* @param data The data to pass to this function.
|
||||
*
|
||||
* This queues @p func to be called (and passed @p data as its argument) when
|
||||
* ecore_fork_reset() is called. This allows other libraries and subsystems
|
||||
* to also reset their internal state after a fork.
|
||||
*
|
||||
* @return EINA_TRUE on success, else EINA_FALSE.
|
||||
* @since 1.7
|
||||
*/
|
||||
EAPI Eina_Bool ecore_fork_reset_callback_add(Ecore_Cb func, const void *data);
|
||||
|
@ -285,9 +311,13 @@ EAPI Eina_Bool ecore_fork_reset_callback_add(Ecore_Cb func, const void *data);
|
|||
/**
|
||||
* This removes the callback specified
|
||||
*
|
||||
* @param func The function to delete.
|
||||
* @param data The data passed to this function.
|
||||
*
|
||||
* This deletes the callback added by ecore_fork_reset_callback_add() using
|
||||
* the function and data pointer to specify which to remove.
|
||||
*
|
||||
* @return EINA_TRUE on success, else EINA_FALSE.
|
||||
* @since 1.7
|
||||
*/
|
||||
EAPI Eina_Bool ecore_fork_reset_callback_del(Ecore_Cb func, const void *data);
|
||||
|
@ -451,7 +481,7 @@ EAPI int ecore_thread_main_loop_end(void);
|
|||
* @{
|
||||
*/
|
||||
|
||||
#define ECORE_EVENT_NONE 0
|
||||
#define ECORE_EVENT_NONE 0 /**< None event */
|
||||
#define ECORE_EVENT_SIGNAL_USER 1 /**< User signal event */
|
||||
#define ECORE_EVENT_SIGNAL_HUP 2 /**< Hup signal event */
|
||||
#define ECORE_EVENT_SIGNAL_EXIT 3 /**< Exit signal event */
|
||||
|
@ -462,7 +492,7 @@ EAPI int ecore_thread_main_loop_end(void);
|
|||
#define ECORE_EVENT_LOCALE_CHANGED 8 /**< Locale changed */
|
||||
#define ECORE_EVENT_HOSTNAME_CHANGED 9 /**< Hostname changed */
|
||||
#define ECORE_EVENT_SYSTEM_TIMEDATE_CHANGED 10 /**< Time or Date changed */
|
||||
#define ECORE_EVENT_COUNT 11
|
||||
#define ECORE_EVENT_COUNT 11 /**< Number of events */
|
||||
|
||||
typedef struct _Ecore_Win32_Handler Ecore_Win32_Handler; /**< A handle for HANDLE handlers on Windows */
|
||||
typedef struct _Ecore_Event_Handler Ecore_Event_Handler; /**< A handle for an event handler */
|
||||
|
@ -494,7 +524,11 @@ typedef void (*Ecore_End_Cb)(void *user_data, void *func_data);
|
|||
*/
|
||||
typedef Eina_Bool (*Ecore_Event_Handler_Cb)(void *data, int type, void *event);
|
||||
|
||||
struct _Ecore_Event_Signal_User /** User signal event */
|
||||
/**
|
||||
* @struct _Ecore_Event_Signal_User
|
||||
* @brief A structure that stores information of a User signal event.
|
||||
*/
|
||||
struct _Ecore_Event_Signal_User
|
||||
{
|
||||
int number; /**< The signal number. Either 1 or 2 */
|
||||
void *ext_data; /**< Extension data - not used */
|
||||
|
@ -504,7 +538,11 @@ struct _Ecore_Event_Signal_User /** User signal event */
|
|||
#endif
|
||||
};
|
||||
|
||||
struct _Ecore_Event_Signal_Hup /** Hup signal event */
|
||||
/**
|
||||
* @struct _Ecore_Event_Signal_Hup
|
||||
* @brief A structure that stores information of a Hup signal event.
|
||||
*/
|
||||
struct _Ecore_Event_Signal_Hup
|
||||
{
|
||||
void *ext_data; /**< Extension data - not used */
|
||||
|
||||
|
@ -513,7 +551,11 @@ struct _Ecore_Event_Signal_Hup /** Hup signal event */
|
|||
#endif
|
||||
};
|
||||
|
||||
struct _Ecore_Event_Signal_Exit /** Exit request event */
|
||||
/**
|
||||
* @struct _Ecore_Event_Signal_Exit
|
||||
* @brief A structure that stores information of an Exit request event.
|
||||
*/
|
||||
struct _Ecore_Event_Signal_Exit
|
||||
{
|
||||
Eina_Bool interrupt : 1; /**< Set if the exit request was an interrupt signal*/
|
||||
Eina_Bool quit : 1; /**< set if the exit request was a quit signal */
|
||||
|
@ -525,7 +567,11 @@ struct _Ecore_Event_Signal_Exit /** Exit request event */
|
|||
#endif
|
||||
};
|
||||
|
||||
struct _Ecore_Event_Signal_Power /** Power event */
|
||||
/**
|
||||
* @struct _Ecore_Event_Signal_Power
|
||||
* @brief A structure that stores information of a Power event.
|
||||
*/
|
||||
struct _Ecore_Event_Signal_Power
|
||||
{
|
||||
void *ext_data; /**< Extension data - not used */
|
||||
|
||||
|
@ -534,7 +580,11 @@ struct _Ecore_Event_Signal_Power /** Power event */
|
|||
#endif
|
||||
};
|
||||
|
||||
struct _Ecore_Event_Signal_Realtime /** Realtime event */
|
||||
/**
|
||||
* @struct _Ecore_Event_Signal_Realtime
|
||||
* @brief A structure that stores information of a Realtime event.
|
||||
*/
|
||||
struct _Ecore_Event_Signal_Realtime
|
||||
{
|
||||
int num; /**< The realtime signal's number */
|
||||
|
||||
|
@ -907,13 +957,21 @@ typedef struct _Ecore_Exe_Event_Del Ecore_Exe_Event_Del; /**< Spawned Exe
|
|||
typedef struct _Ecore_Exe_Event_Data_Line Ecore_Exe_Event_Data_Line; /**< Lines from a child process */
|
||||
typedef struct _Ecore_Exe_Event_Data Ecore_Exe_Event_Data; /**< Data from a child process */
|
||||
|
||||
struct _Ecore_Exe_Event_Add /** Process add event */
|
||||
/**
|
||||
* @struct _Ecore_Exe_Event_Add
|
||||
* @brief A structure that stores information of a Process add event.
|
||||
*/
|
||||
struct _Ecore_Exe_Event_Add
|
||||
{
|
||||
Ecore_Exe *exe; /**< The handle to the added process */
|
||||
void *ext_data; /**< Extension data - not used */
|
||||
};
|
||||
|
||||
struct _Ecore_Exe_Event_Del /** Process exit event */
|
||||
/**
|
||||
* @struct _Ecore_Exe_Event_Del
|
||||
* @brief A structure that stores information of a Process exit event.
|
||||
*/
|
||||
struct _Ecore_Exe_Event_Del
|
||||
{
|
||||
pid_t pid; /**< The process ID of the process that exited */
|
||||
int exit_code; /**< The exit code of the process */
|
||||
|
@ -927,13 +985,21 @@ struct _Ecore_Exe_Event_Del /** Process exit event */
|
|||
#endif
|
||||
};
|
||||
|
||||
struct _Ecore_Exe_Event_Data_Line /**< Lines from a child process */
|
||||
/**
|
||||
* @struct _Ecore_Exe_Event_Data_Line
|
||||
* @brief A structure that stores information of lines data from a child process.
|
||||
*/
|
||||
struct _Ecore_Exe_Event_Data_Line
|
||||
{
|
||||
char *line; /**< The bytes of a line of buffered data */
|
||||
int size; /**< The size of the line buffer in bytes */
|
||||
};
|
||||
|
||||
struct _Ecore_Exe_Event_Data /** Data from a child process event */
|
||||
/**
|
||||
* @struct _Ecore_Exe_Event_Data
|
||||
* @brief A structure that stores information of data from a child process event.
|
||||
*/
|
||||
struct _Ecore_Exe_Event_Data
|
||||
{
|
||||
Ecore_Exe *exe; /**< The handle to the process */
|
||||
void *data; /**< the raw binary data from the child process that was received */
|
||||
|
@ -1072,7 +1138,7 @@ EAPI Ecore_Exe_Event_Data *ecore_exe_event_data_get(Ecore_Exe *exe, Ecore_Exe_Fl
|
|||
/**
|
||||
* Frees the given event data.
|
||||
*
|
||||
* @param e The given event data.
|
||||
* @param data The given event data.
|
||||
*/
|
||||
EAPI void ecore_exe_event_data_free(Ecore_Exe_Event_Data *data);
|
||||
|
||||
|
@ -1388,7 +1454,19 @@ EAPI Eina_Bool ecore_main_fd_handler_active_get(Ecore_Fd_Handler *fd_handler, Ec
|
|||
*/
|
||||
EAPI void ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler, Ecore_Fd_Handler_Flags flags);
|
||||
|
||||
/**
|
||||
* @brief Create a Ecore_Win32_Handler object and add it to the win32_handlers list.
|
||||
* @param h The win32 handler.
|
||||
* @param func The function to add as a callback.
|
||||
* @param data The data to pass to the callback when it is called.
|
||||
*/
|
||||
EAPI Ecore_Win32_Handler *ecore_main_win32_handler_add(void *h, Ecore_Win32_Handle_Cb func, const void *data);
|
||||
/**
|
||||
* @brief Set Ecore_Win32_Handler object to delete state.
|
||||
* The handler will be deleted in the _ecore_main_win32_handlers_cleanup function.
|
||||
*
|
||||
* @param win32_handler The Ecore_Win32_Handler object.
|
||||
*/
|
||||
EAPI void *ecore_main_win32_handler_del(Ecore_Win32_Handler *win32_handler);
|
||||
|
||||
/**
|
||||
|
@ -2244,7 +2322,7 @@ EAPI Ecore_Pipe *ecore_pipe_add(Ecore_Pipe_Cb handler, const void *data);
|
|||
/**
|
||||
* Create a pipe with more parameters
|
||||
*
|
||||
* @param hanlder Same as ecore_pipe_add()
|
||||
* @param handler Same as ecore_pipe_add()
|
||||
* @param data Same as ecore_pipe_add()
|
||||
* @param fd_read An fd to use for reading or -1 otherwise
|
||||
* @param fd_write An fd to use for writing or -1 otherwise
|
||||
|
@ -2252,7 +2330,8 @@ EAPI Ecore_Pipe *ecore_pipe_add(Ecore_Pipe_Cb handler, const void *data);
|
|||
* @param write_survive_fork Should write fd survive a fork
|
||||
*
|
||||
* This is the same as ecore_pipe_add() but with some added parameters.
|
||||
*
|
||||
*
|
||||
* @return A pointer to the new Ecore_Pipe object on success, else NULL.
|
||||
* @see ecore_pipe_add()
|
||||
*/
|
||||
EAPI Ecore_Pipe *ecore_pipe_full_add(Ecore_Pipe_Cb handler,
|
||||
|
@ -2921,7 +3000,7 @@ EAPI double ecore_timer_precision_get(void);
|
|||
/**
|
||||
* @brief Sets the precision to be used by timer infrastructure.
|
||||
*
|
||||
* @param value allowed introduced timeout delay, in seconds.
|
||||
* @param precision allowed introduced timeout delay, in seconds.
|
||||
*
|
||||
* This sets the precision for @b all timers. The precision determines how much
|
||||
* of an difference from the requested interval is acceptable. One common reason
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -82,6 +82,7 @@ typedef struct _Ecore_Audio_Module Ecore_Audio_Module;
|
|||
typedef struct _Ecore_Audio_Object Ecore_Audio_Object; /**< The audio object */
|
||||
|
||||
/*
|
||||
* @brief Structure to hold the callbacks needed to implement virtual file IO
|
||||
* @since 1.8
|
||||
*/
|
||||
struct _Ecore_Audio_Vio {
|
||||
|
|
|
@ -426,7 +426,7 @@ typedef struct _Ecore_Con_Event_Url_Progress Ecore_Con_Event_Url_Progress;
|
|||
*/
|
||||
struct _Ecore_Con_Event_Client_Add
|
||||
{
|
||||
Ecore_Con_Client *client; /** the client that connected */
|
||||
Ecore_Con_Client *client; /**< the client that connected */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -436,7 +436,7 @@ struct _Ecore_Con_Event_Client_Add
|
|||
*/
|
||||
struct _Ecore_Con_Event_Client_Upgrade
|
||||
{
|
||||
Ecore_Con_Client *client; /** the client that completed handshake */
|
||||
Ecore_Con_Client *client; /**< the client that completed handshake */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -445,7 +445,7 @@ struct _Ecore_Con_Event_Client_Upgrade
|
|||
*/
|
||||
struct _Ecore_Con_Event_Client_Del
|
||||
{
|
||||
Ecore_Con_Client *client; /** the client that was lost */
|
||||
Ecore_Con_Client *client; /**< the client that was lost */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -454,7 +454,7 @@ struct _Ecore_Con_Event_Client_Del
|
|||
*/
|
||||
struct _Ecore_Con_Event_Client_Error
|
||||
{
|
||||
Ecore_Con_Client *client; /** the client for which an error occurred */
|
||||
Ecore_Con_Client *client; /**< the client for which an error occurred */
|
||||
char *error; /**< the error string describing what happened */
|
||||
};
|
||||
|
||||
|
@ -464,7 +464,7 @@ struct _Ecore_Con_Event_Client_Error
|
|||
*/
|
||||
struct _Ecore_Con_Event_Server_Add
|
||||
{
|
||||
Ecore_Con_Server *server; /** the server that was connected to */
|
||||
Ecore_Con_Server *server; /**< the server that was connected to */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -474,7 +474,7 @@ struct _Ecore_Con_Event_Server_Add
|
|||
*/
|
||||
struct _Ecore_Con_Event_Server_Upgrade
|
||||
{
|
||||
Ecore_Con_Server *server; /** the server that was connected to */
|
||||
Ecore_Con_Server *server; /**< the server that was connected to */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -483,7 +483,7 @@ struct _Ecore_Con_Event_Server_Upgrade
|
|||
*/
|
||||
struct _Ecore_Con_Event_Server_Del
|
||||
{
|
||||
Ecore_Con_Server *server; /** the client that was lost */
|
||||
Ecore_Con_Server *server; /**< the client that was lost */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -492,7 +492,7 @@ struct _Ecore_Con_Event_Server_Del
|
|||
*/
|
||||
struct _Ecore_Con_Event_Server_Error
|
||||
{
|
||||
Ecore_Con_Server *server; /** the server for which an error occurred */
|
||||
Ecore_Con_Server *server; /**< the server for which an error occurred */
|
||||
char *error; /**< the error string describing what happened */
|
||||
};
|
||||
|
||||
|
|
|
@ -31,43 +31,254 @@
|
|||
# endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup Ecore_Con_Eet_Group Eet connection functions
|
||||
* @ingroup Ecore_Con_Group
|
||||
*
|
||||
* The Ecore Connection Eet library ( @c Ecore_Con_Eet) adds @c Eet data
|
||||
* serialization features to Ecore Connection objects. Its main aim is to
|
||||
* provide a way to send @c Eet data streams to another program through sockets
|
||||
* using @c Ecore_Con objects.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
typedef struct _Ecore_Con_Eet Ecore_Con_Eet;
|
||||
typedef struct _Ecore_Con_Reply Ecore_Con_Reply;
|
||||
|
||||
/**
|
||||
* @typedef Ecore_Con_Eet_Data_Cb
|
||||
* @brief Called when an Ecore_Con_Eet object receives data.
|
||||
*/
|
||||
typedef void (*Ecore_Con_Eet_Data_Cb)(void *data, Ecore_Con_Reply *reply, const char *protocol_name, void *value);
|
||||
|
||||
/**
|
||||
* @typedef Ecore_Con_Eet_Raw_Data_Cb
|
||||
* @brief Called when an Ecore_Con_Eet object receives raw data.
|
||||
*/
|
||||
typedef void (*Ecore_Con_Eet_Raw_Data_Cb)(void *data, Ecore_Con_Reply *reply, const char *protocol_name, const char *section, void *value, size_t length);
|
||||
|
||||
/**
|
||||
* @typedef Ecore_Con_Eet_Client_Cb
|
||||
* @brief Called when a client connects to the server.
|
||||
*/
|
||||
typedef Eina_Bool (*Ecore_Con_Eet_Client_Cb)(void *data, Ecore_Con_Reply *reply, Ecore_Con_Client *conn);
|
||||
|
||||
/**
|
||||
* @typedef Ecore_Con_Eet_Server_Cb
|
||||
* @brief Called when the server has accepted the connection of the client.
|
||||
*/
|
||||
typedef Eina_Bool (*Ecore_Con_Eet_Server_Cb)(void *data, Ecore_Con_Reply *reply, Ecore_Con_Server *conn);
|
||||
|
||||
/**
|
||||
* Create a Ecore_Con_Eet server.
|
||||
*
|
||||
* @param server An existing Ecore_Con_Server that have been previously
|
||||
* created by the server program with @ref
|
||||
* ecore_con_server_add.
|
||||
*
|
||||
* @return A new Ecore_Con_Eet server.
|
||||
*/
|
||||
EAPI Ecore_Con_Eet *ecore_con_eet_server_new(Ecore_Con_Server *server);
|
||||
|
||||
/**
|
||||
* Create a Ecore_Con_Eet client.
|
||||
*
|
||||
* @param server An existing Ecore_Con_Server that have been previously
|
||||
* returned by a call to @ref ecore_con_server_connect in the
|
||||
* client program.
|
||||
*
|
||||
* @return A new Ecore_Con_Eet client.
|
||||
*/
|
||||
EAPI Ecore_Con_Eet *ecore_con_eet_client_new(Ecore_Con_Server *server);
|
||||
|
||||
/**
|
||||
* Free an existing Ecore_Con_Eet object.
|
||||
*
|
||||
* @param server An existing Ecore_Con_Eet object that have been previously
|
||||
* allocated by a @ref ecore_con_eet_server_new or @ref
|
||||
* ecore_con_eet_client_new.
|
||||
*
|
||||
*/
|
||||
EAPI void ecore_con_eet_server_free(Ecore_Con_Eet *ece);
|
||||
|
||||
/**
|
||||
* Register an @c Eet data descriptor on a Ecore_Con_Eet object.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param name The name of the Eet stream to connect.
|
||||
* @param edd A Eet data descriptor that describes the data organization
|
||||
* in the Eet stream.
|
||||
*
|
||||
*/
|
||||
EAPI void ecore_con_eet_register(Ecore_Con_Eet *ece, const char *name, Eet_Data_Descriptor *edd);
|
||||
|
||||
/**
|
||||
* Register a data callback on a Ecore_Con_Eet object.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param name The name of the Eet stream to connect.
|
||||
* @param func The function to call as a callback.
|
||||
* @param data The data to pass to the callback.
|
||||
*
|
||||
*/
|
||||
EAPI void ecore_con_eet_data_callback_add(Ecore_Con_Eet *ece, const char *name, Ecore_Con_Eet_Data_Cb func, const void *data);
|
||||
|
||||
/**
|
||||
* Remove a data callback on a Ecore_Con_Eet object.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param name The name of the Eet stream to remove callback on.
|
||||
*
|
||||
*/
|
||||
EAPI void ecore_con_eet_data_callback_del(Ecore_Con_Eet *ece, const char *name);
|
||||
|
||||
/**
|
||||
* Register a raw data callback on a Ecore_Con_Eet object.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param name The name of the raw Eet stream to connect.
|
||||
* @param func The function to call as a callback.
|
||||
* @param data The data to pass to the callback.
|
||||
*
|
||||
*/
|
||||
EAPI void ecore_con_eet_raw_data_callback_add(Ecore_Con_Eet *ece, const char *name, Ecore_Con_Eet_Raw_Data_Cb func, const void *data);
|
||||
|
||||
/**
|
||||
* Remove a raw data callback on a Ecore_Con_Eet object.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param name The name of the raw Eet stream to remove callback on.
|
||||
*
|
||||
*/
|
||||
EAPI void ecore_con_eet_raw_data_callback_del(Ecore_Con_Eet *ece, const char *name);
|
||||
|
||||
/**
|
||||
* Register a client connect callback on a Ecore_Con_Eet object.
|
||||
* @brief This callback can be registered on the server program to know when a
|
||||
* client connects.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param func The function to call as a callback.
|
||||
* @param data The data to pass to the callback.
|
||||
*/
|
||||
EAPI void ecore_con_eet_client_connect_callback_add(Ecore_Con_Eet *ece, Ecore_Con_Eet_Client_Cb func, const void *data);
|
||||
|
||||
/**
|
||||
* Remove a client connect callback on a Ecore_Con_Eet object.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param func The callback to remove.
|
||||
* @param data The data passed to this function at the callback registration.
|
||||
*/
|
||||
EAPI void ecore_con_eet_client_connect_callback_del(Ecore_Con_Eet *ece, Ecore_Con_Eet_Client_Cb func, const void *data);
|
||||
|
||||
/**
|
||||
* Register a client disconnect callback on a Ecore_Con_Eet object.
|
||||
* @brief This callback can be registered on the server program to know when a
|
||||
* client disconnects.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param func The function to call as a callback.
|
||||
* @param data The data to pass to the callback.
|
||||
*/
|
||||
EAPI void ecore_con_eet_client_disconnect_callback_add(Ecore_Con_Eet *ece, Ecore_Con_Eet_Client_Cb func, const void *data);
|
||||
|
||||
/**
|
||||
* Remove a client disconnect callback on a Ecore_Con_Eet object.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param func The callback to remove.
|
||||
* @param data The data passed to this function at the callback registration.
|
||||
*/
|
||||
EAPI void ecore_con_eet_client_disconnect_callback_del(Ecore_Con_Eet *ece, Ecore_Con_Eet_Client_Cb func, const void *data);
|
||||
|
||||
/**
|
||||
* Register a server connect callback on a Ecore_Con_Eet object.
|
||||
* @brief This callback can be registered on the client program to be called
|
||||
* when it has been connected to the server.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param func The function to call as a callback.
|
||||
* @param data The data to pass to the callback.
|
||||
*/
|
||||
EAPI void ecore_con_eet_server_connect_callback_add(Ecore_Con_Eet *ece, Ecore_Con_Eet_Server_Cb func, const void *data);
|
||||
|
||||
/**
|
||||
* Remove a server connect callback on a Ecore_Con_Eet object.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param func The callback to remove.
|
||||
* @param data The data passed to this function at the callback registration.
|
||||
*/
|
||||
EAPI void ecore_con_eet_server_connect_callback_del(Ecore_Con_Eet *ece, Ecore_Con_Eet_Server_Cb func, const void *data);
|
||||
|
||||
/**
|
||||
* Register a server disconnect callback on a Ecore_Con_Eet object.
|
||||
* @brief This callback can be registered on the client program to be called
|
||||
* when it has been disconnected from the server.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param func The function to call as a callback.
|
||||
* @param data The data to pass to the callback.
|
||||
*/
|
||||
EAPI void ecore_con_eet_server_disconnect_callback_add(Ecore_Con_Eet *ece, Ecore_Con_Eet_Server_Cb func, const void *data);
|
||||
|
||||
/**
|
||||
* Remove a server disconnect callback on a Ecore_Con_Eet object.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param func The callback to remove.
|
||||
* @param data The data passed to this function at the callback registration.
|
||||
*/
|
||||
EAPI void ecore_con_eet_server_disconnect_callback_del(Ecore_Con_Eet *ece, Ecore_Con_Eet_Server_Cb func, const void *data);
|
||||
|
||||
/**
|
||||
* Attach data to an Ecore_Con_Eet object.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @param data The data to attach to the Ecore_Con_Eet object.
|
||||
*/
|
||||
EAPI void ecore_con_eet_data_set(Ecore_Con_Eet *ece, const void *data);
|
||||
|
||||
/**
|
||||
* Get the data attached to an Ecore_Con_Eet object.
|
||||
*
|
||||
* @param ece An Ecore_Con_Eet object.
|
||||
* @return The data attached to the Ecore_Con_Eet object.
|
||||
*/
|
||||
EAPI void *ecore_con_eet_data_get(Ecore_Con_Eet *ece);
|
||||
|
||||
/**
|
||||
* Get the Ecore_Con_Eet object corresponding to the Ecore_Con_Reply object.
|
||||
*
|
||||
* @param reply An Ecore_Con_Reply object.
|
||||
* @return The corresponding Ecore_Con_Eet object.
|
||||
*/
|
||||
EAPI Ecore_Con_Eet *ecore_con_eet_reply(Ecore_Con_Reply *reply);
|
||||
|
||||
/**
|
||||
* Send some data using a protocol type.
|
||||
*
|
||||
* @param reply An Ecore_Con_Reply object.
|
||||
* @param protocol_name The protocol type to use.
|
||||
* @param value The data to send.
|
||||
*/
|
||||
EAPI void ecore_con_eet_send(Ecore_Con_Reply *reply, const char *protocol_name, void *value);
|
||||
|
||||
/**
|
||||
* Send some raw data using a protocol type.
|
||||
*
|
||||
* @param reply An Ecore_Con_Reply object.
|
||||
* @param protocol_name The protocol type to use.
|
||||
* @param section The section to add to the protocol.
|
||||
* @param value The data to send.
|
||||
* @param length The data length.
|
||||
*/
|
||||
EAPI void ecore_con_eet_raw_send(Ecore_Con_Reply *reply, const char *protocol_name, const char *section, void *value, unsigned int length);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
|
@ -140,7 +140,6 @@ EAPI Eina_Bool ecore_file_can_write (const char *file);
|
|||
EAPI Eina_Bool ecore_file_can_exec (const char *file);
|
||||
EAPI char *ecore_file_readlink (const char *link);
|
||||
EAPI Eina_List *ecore_file_ls (const char *dir);
|
||||
EAPI Eina_Iterator *ecore_file_ls_iterator (const char *dir);
|
||||
EAPI char *ecore_file_app_exe_get (const char *app);
|
||||
EAPI char *ecore_file_escape_name (const char *filename);
|
||||
EAPI char *ecore_file_strip_ext (const char *file);
|
||||
|
|
|
@ -78,6 +78,11 @@ extern "C" {
|
|||
*/
|
||||
|
||||
/* ecore_imf_context_input_panel_event_callback_add() flag */
|
||||
|
||||
/**
|
||||
* @typedef Ecore_IMF_Input_Panel_Event
|
||||
* Enum containing input panel events.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ECORE_IMF_INPUT_PANEL_STATE_EVENT, /**< called when the state of the input panel is changed. @since 1.7 */
|
||||
|
@ -88,6 +93,10 @@ typedef enum
|
|||
ECORE_IMF_CANDIDATE_PANEL_GEOMETRY_EVENT /**< called when the size of the candidate word panel is changed. @since 1.7 */
|
||||
} Ecore_IMF_Input_Panel_Event;
|
||||
|
||||
/**
|
||||
* @typedef Ecore_IMF_Input_Panel_State
|
||||
* Enum containing input panel state notifications.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ECORE_IMF_INPUT_PANEL_STATE_SHOW, /**< Notification after the display of the input panel @since 1.7 */
|
||||
|
@ -95,12 +104,20 @@ typedef enum
|
|||
ECORE_IMF_INPUT_PANEL_STATE_WILL_SHOW /**< Notification prior to the display of the input panel @since 1.7 */
|
||||
} Ecore_IMF_Input_Panel_State;
|
||||
|
||||
/**
|
||||
* @typedef Ecore_IMF_Input_Panel_Shift_Mode
|
||||
* Enum containing input shift mode states.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF, /**< @since 1.7 */
|
||||
ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON /**< @since 1.7 */
|
||||
} Ecore_IMF_Input_Panel_Shift_Mode;
|
||||
|
||||
/**
|
||||
* @typedef Ecore_IMF_Candidate_Panel_State
|
||||
* Enum containing candidate word panel state notifications.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ECORE_IMF_CANDIDATE_PANEL_SHOW, /**< Notification after the display of the candidate word panel @since 1.7 */
|
||||
|
@ -139,6 +156,13 @@ EAPI extern int ECORE_IMF_EVENT_PREEDIT_CHANGED;
|
|||
EAPI extern int ECORE_IMF_EVENT_COMMIT;
|
||||
EAPI extern int ECORE_IMF_EVENT_DELETE_SURROUNDING;
|
||||
|
||||
/**
|
||||
* @typedef Ecore_IMF_Event_Cb
|
||||
*
|
||||
* @brief Called when a Ecore_IMF event happens.
|
||||
*
|
||||
* @see ecore_imf_context_event_callback_add()
|
||||
*/
|
||||
typedef void (*Ecore_IMF_Event_Cb) (void *data, Ecore_IMF_Context *ctx, void *event_info);
|
||||
|
||||
/**
|
||||
|
@ -214,6 +238,10 @@ typedef enum
|
|||
ECORE_IMF_MOUSE_TRIPLE_CLICK = 1 << 1 /**< A triple click */
|
||||
} Ecore_IMF_Mouse_Flags;
|
||||
|
||||
/**
|
||||
* @typedef Ecore_IMF_Input_Mode
|
||||
* Type for Ecore_IMF input mode
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ECORE_IMF_INPUT_MODE_ALPHA = 1 << 0,
|
||||
|
@ -362,27 +390,47 @@ typedef enum
|
|||
ECORE_IMF_BIDI_DIRECTION_RTL /**< The Right to Left mode @since 1.12 */
|
||||
} Ecore_IMF_BiDi_Direction;
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Preedit_Start
|
||||
* @brief The structure type used with the Preedit_Start Input Method event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Preedit_Start
|
||||
{
|
||||
Ecore_IMF_Context *ctx;
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Preedit_End
|
||||
* @brief The structure type used with the Preedit_End Input Method event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Preedit_End
|
||||
{
|
||||
Ecore_IMF_Context *ctx;
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Preedit_Changed
|
||||
* @brief The structure type used with the Preedit_Changed Input Method event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Preedit_Changed
|
||||
{
|
||||
Ecore_IMF_Context *ctx;
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Commit
|
||||
* @brief The structure type used with the Commit Input Method event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Commit
|
||||
{
|
||||
Ecore_IMF_Context *ctx;
|
||||
char *str;
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Delete_Surrounding
|
||||
* @brief The structure type used with the Delete_Surrounding Input Method event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Delete_Surrounding
|
||||
{
|
||||
Ecore_IMF_Context *ctx;
|
||||
|
@ -390,6 +438,10 @@ struct _Ecore_IMF_Event_Delete_Surrounding
|
|||
int n_chars;
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Selection
|
||||
* @brief The structure type used with the Selection Input Method event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Selection
|
||||
{
|
||||
Ecore_IMF_Context *ctx;
|
||||
|
@ -397,6 +449,10 @@ struct _Ecore_IMF_Event_Selection
|
|||
int end;
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Mouse_Down
|
||||
* @brief The structure type used with the Mouse_Down event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Mouse_Down
|
||||
{
|
||||
int button; /**< The button which has been pressed */
|
||||
|
@ -412,6 +468,10 @@ struct _Ecore_IMF_Event_Mouse_Down
|
|||
unsigned int timestamp; /**< The timestamp when the event occurred */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Mouse_Up
|
||||
* @brief The structure type used with the Mouse_Up event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Mouse_Up
|
||||
{
|
||||
int button; /**< The button which has been pressed */
|
||||
|
@ -427,6 +487,10 @@ struct _Ecore_IMF_Event_Mouse_Up
|
|||
unsigned int timestamp; /**< The timestamp when the event occurred */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Mouse_In
|
||||
* @brief The structure type used with the Mouse_In event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Mouse_In
|
||||
{
|
||||
int buttons;
|
||||
|
@ -441,6 +505,10 @@ struct _Ecore_IMF_Event_Mouse_In
|
|||
unsigned int timestamp; /**< The timestamp when the event occurred */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Mouse_Out
|
||||
* @brief The structure type used with the Mouse_Out event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Mouse_Out
|
||||
{
|
||||
int buttons;
|
||||
|
@ -455,6 +523,10 @@ struct _Ecore_IMF_Event_Mouse_Out
|
|||
unsigned int timestamp; /**< The timestamp when the event occurred */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Mouse_Move
|
||||
* @brief The structure type used with the Mouse_Move event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Mouse_Move
|
||||
{
|
||||
int buttons;
|
||||
|
@ -471,6 +543,10 @@ struct _Ecore_IMF_Event_Mouse_Move
|
|||
unsigned int timestamp; /**< The timestamp when the event occurred */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Mouse_Wheel
|
||||
* @brief The structure type used with the Mouse_Wheel event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Mouse_Wheel
|
||||
{
|
||||
int direction; /* 0 = default up/down wheel */
|
||||
|
@ -486,6 +562,10 @@ struct _Ecore_IMF_Event_Mouse_Wheel
|
|||
unsigned int timestamp; /**< The timestamp when the event occurred */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Key_Down
|
||||
* @brief The structure type used with the Key_Down event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Key_Down
|
||||
{
|
||||
const char *keyname; /**< The string name of the key pressed */
|
||||
|
@ -497,6 +577,10 @@ struct _Ecore_IMF_Event_Key_Down
|
|||
unsigned int timestamp; /**< The timestamp when the event occurred */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Event_Key_Up
|
||||
* @brief The structure type used with the Key_Up event
|
||||
*/
|
||||
struct _Ecore_IMF_Event_Key_Up
|
||||
{
|
||||
const char *keyname; /**< The string name of the key pressed */
|
||||
|
@ -508,6 +592,9 @@ struct _Ecore_IMF_Event_Key_Up
|
|||
unsigned int timestamp; /**< The timestamp when the event occurred */
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief A union of IMF events.
|
||||
*/
|
||||
union _Ecore_IMF_Event
|
||||
{
|
||||
Ecore_IMF_Event_Mouse_Down mouse_down;
|
||||
|
@ -520,6 +607,10 @@ union _Ecore_IMF_Event
|
|||
Ecore_IMF_Event_Key_Up key_up;
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Preedit_Attr
|
||||
* @brief Structure that contains preedit attribute information.
|
||||
*/
|
||||
struct _Ecore_IMF_Preedit_Attr
|
||||
{
|
||||
Ecore_IMF_Preedit_Type preedit_type; /**< preedit style type */
|
||||
|
@ -527,47 +618,58 @@ struct _Ecore_IMF_Preedit_Attr
|
|||
unsigned int end_index; /**< end index of the range (in bytes) */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Context_Class
|
||||
* @brief Structure used when creating a new Input Method Context. This
|
||||
* structure is mainly used by modules implementing the Input Method Context
|
||||
* interface.
|
||||
*
|
||||
*/
|
||||
struct _Ecore_IMF_Context_Class
|
||||
{
|
||||
void (*add) (Ecore_IMF_Context *ctx);
|
||||
void (*del) (Ecore_IMF_Context *ctx);
|
||||
void (*client_window_set) (Ecore_IMF_Context *ctx, void *window);
|
||||
void (*client_canvas_set) (Ecore_IMF_Context *ctx, void *canvas);
|
||||
void (*show) (Ecore_IMF_Context *ctx);
|
||||
void (*hide) (Ecore_IMF_Context *ctx);
|
||||
void (*preedit_string_get) (Ecore_IMF_Context *ctx, char **str, int *cursor_pos);
|
||||
void (*focus_in) (Ecore_IMF_Context *ctx);
|
||||
void (*focus_out) (Ecore_IMF_Context *ctx);
|
||||
void (*reset) (Ecore_IMF_Context *ctx);
|
||||
void (*cursor_position_set) (Ecore_IMF_Context *ctx, int cursor_pos);
|
||||
void (*use_preedit_set) (Ecore_IMF_Context *ctx, Eina_Bool use_preedit);
|
||||
void (*input_mode_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode);
|
||||
Eina_Bool (*filter_event) (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event);
|
||||
void (*preedit_string_with_attributes_get) (Ecore_IMF_Context *ctx, char **str, Eina_List **attrs, int *cursor_pos);
|
||||
void (*prediction_allow_set)(Ecore_IMF_Context *ctx, Eina_Bool prediction);
|
||||
void (*autocapital_type_set)(Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type);
|
||||
void (*control_panel_show) (Ecore_IMF_Context *ctx);
|
||||
void (*control_panel_hide) (Ecore_IMF_Context *ctx);
|
||||
void (*input_panel_layout_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout);
|
||||
Ecore_IMF_Input_Panel_Layout (*input_panel_layout_get) (Ecore_IMF_Context *ctx);
|
||||
void (*input_panel_language_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang);
|
||||
Ecore_IMF_Input_Panel_Lang (*input_panel_language_get) (Ecore_IMF_Context *ctx);
|
||||
void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, int h);
|
||||
void (*input_panel_imdata_set)(Ecore_IMF_Context *ctx, const void* data, int len);
|
||||
void (*input_panel_imdata_get)(Ecore_IMF_Context *ctx, void* data, int *len);
|
||||
void (*input_panel_return_key_type_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type);
|
||||
void (*input_panel_return_key_disabled_set) (Ecore_IMF_Context *ctx, Eina_Bool disabled);
|
||||
void (*input_panel_caps_lock_mode_set) (Ecore_IMF_Context *ctx, Eina_Bool mode);
|
||||
void (*input_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h);
|
||||
Ecore_IMF_Input_Panel_State (*input_panel_state_get) (Ecore_IMF_Context *ctx);
|
||||
void (*input_panel_event_callback_add) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, void (*func) (void *data, Ecore_IMF_Context *ctx, int value), void *data);
|
||||
void (*input_panel_event_callback_del) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, void (*func) (void *data, Ecore_IMF_Context *ctx, int value));
|
||||
void (*input_panel_language_locale_get) (Ecore_IMF_Context *ctx, char **lang);
|
||||
void (*candidate_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h);
|
||||
void (*input_hint_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Hints input_hints);
|
||||
void (*bidi_direction_set) (Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction direction);
|
||||
void (*add) (Ecore_IMF_Context *ctx); /**< Create the Input Method Context */
|
||||
void (*del) (Ecore_IMF_Context *ctx); /**< Delete the Input Method Context */
|
||||
void (*client_window_set) (Ecore_IMF_Context *ctx, void *window); /**< Set the client window for the Input Method Context */
|
||||
void (*client_canvas_set) (Ecore_IMF_Context *ctx, void *canvas); /**< Set the client canvas for the Input Method Context */
|
||||
void (*show) (Ecore_IMF_Context *ctx); /**< Show the Input Method Context */
|
||||
void (*hide) (Ecore_IMF_Context *ctx); /**< Hide the Input Method Context */
|
||||
void (*preedit_string_get) (Ecore_IMF_Context *ctx, char **str, int *cursor_pos); /**< Return current preedit string and cursor position */
|
||||
void (*focus_in) (Ecore_IMF_Context *ctx); /**< Input Method context widget has gained focus */
|
||||
void (*focus_out) (Ecore_IMF_Context *ctx); /**< Input Method context widget has lost focus */
|
||||
void (*reset) (Ecore_IMF_Context *ctx); /**< A change has been made */
|
||||
void (*cursor_position_set) (Ecore_IMF_Context *ctx, int cursor_pos); /**< Cursor position changed */
|
||||
void (*use_preedit_set) (Ecore_IMF_Context *ctx, Eina_Bool use_preedit); /**< Use preedit string to display feedback */
|
||||
void (*input_mode_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Mode input_mode); /**< Set the input mode */
|
||||
Eina_Bool (*filter_event) (Ecore_IMF_Context *ctx, Ecore_IMF_Event_Type type, Ecore_IMF_Event *event); /**< Internally handle an event */
|
||||
void (*preedit_string_with_attributes_get) (Ecore_IMF_Context *ctx, char **str, Eina_List **attrs, int *cursor_pos); /**< return current preedit string, attributes, and cursor position */
|
||||
void (*prediction_allow_set)(Ecore_IMF_Context *ctx, Eina_Bool prediction); /**< Allow text prediction */
|
||||
void (*autocapital_type_set)(Ecore_IMF_Context *ctx, Ecore_IMF_Autocapital_Type autocapital_type); /**< Set auto-capitalization type */
|
||||
void (*control_panel_show) (Ecore_IMF_Context *ctx); /**< Show the control panel */
|
||||
void (*control_panel_hide) (Ecore_IMF_Context *ctx); /**< Hide the control panel */
|
||||
void (*input_panel_layout_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Layout layout); /**< Set the layout of the input panel */
|
||||
Ecore_IMF_Input_Panel_Layout (*input_panel_layout_get) (Ecore_IMF_Context *ctx); /**< Return the current layout of the input panel */
|
||||
void (*input_panel_language_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Lang lang); /**< Set the language of the input panel */
|
||||
Ecore_IMF_Input_Panel_Lang (*input_panel_language_get) (Ecore_IMF_Context *ctx); /**< Get the current language of the input panel */
|
||||
void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, int h); /**< Set the cursor location */
|
||||
void (*input_panel_imdata_set)(Ecore_IMF_Context *ctx, const void* data, int len); /**< Set panel-specific data to the input panel */
|
||||
void (*input_panel_imdata_get)(Ecore_IMF_Context *ctx, void* data, int *len); /**< Get current panel-specific data from the input panel */
|
||||
void (*input_panel_return_key_type_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Return_Key_Type return_key_type); /**< Set the return key theme of the input panel based on return key type provided */
|
||||
void (*input_panel_return_key_disabled_set) (Ecore_IMF_Context *ctx, Eina_Bool disabled); /**< Disable return key of the input panel */
|
||||
void (*input_panel_caps_lock_mode_set) (Ecore_IMF_Context *ctx, Eina_Bool mode); /**< Set input panel caps lock mode */
|
||||
void (*input_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h); /**< Return input panel geometry */
|
||||
Ecore_IMF_Input_Panel_State (*input_panel_state_get) (Ecore_IMF_Context *ctx); /**< Return input panel state */
|
||||
void (*input_panel_event_callback_add) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, void (*func) (void *data, Ecore_IMF_Context *ctx, int value), void *data); /**< Add a callback on input panel state,language,mode change */
|
||||
void (*input_panel_event_callback_del) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Panel_Event type, void (*func) (void *data, Ecore_IMF_Context *ctx, int value)); /**< Delete the input panel event callback */
|
||||
void (*input_panel_language_locale_get) (Ecore_IMF_Context *ctx, char **lang); /**< Return the current language locale */
|
||||
void (*candidate_panel_geometry_get)(Ecore_IMF_Context *ctx, int *x, int *y, int *w, int *h); /**< Return the candidate panel geometry */
|
||||
void (*input_hint_set) (Ecore_IMF_Context *ctx, Ecore_IMF_Input_Hints input_hints); /**< Sets input hint to fine-tune input methods behavior */
|
||||
void (*bidi_direction_set) (Ecore_IMF_Context *ctx, Ecore_IMF_BiDi_Direction direction); /**< Set bidirectionality at the cursor position */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_IMF_Context_Info
|
||||
* @brief A IMF structure containing context information.
|
||||
*/
|
||||
struct _Ecore_IMF_Context_Info
|
||||
{
|
||||
const char *id; /* ID */
|
||||
|
@ -597,6 +699,15 @@ EAPI int ecore_imf_init(void);
|
|||
*/
|
||||
EAPI int ecore_imf_shutdown(void);
|
||||
|
||||
/**
|
||||
* Register an Ecore_IMF module.
|
||||
*
|
||||
* @param info An Ecore_IMF_Context_Info structure
|
||||
* @param imf_module_create A function to call at the creation
|
||||
* @param imf_module_exit A function to call when exiting
|
||||
*
|
||||
* @ingroup Ecore_IMF_Lib_Group
|
||||
*/
|
||||
EAPI void ecore_imf_module_register(const Ecore_IMF_Context_Info *info, Ecore_IMF_Context *(*imf_module_create)(void), Ecore_IMF_Context *(*imf_module_exit)(void));
|
||||
|
||||
/**
|
||||
|
@ -619,6 +730,18 @@ EAPI Eina_Bool ecore_imf_input_panel_hide(void);
|
|||
* @ingroup Ecore_IMF_Context_Group
|
||||
*/
|
||||
EAPI Eina_List *ecore_imf_context_available_ids_get(void);
|
||||
|
||||
/**
|
||||
* Get the list of the available Input Method Context ids by canvas type.
|
||||
*
|
||||
* Note that the caller is responsible for freeing the Eina_List
|
||||
* when finished with it. There is no need to finish the list strings.
|
||||
*
|
||||
* @param canvas_type A string containing the canvas type.
|
||||
* @return Return an Eina_List of strings;
|
||||
* on failure it returns NULL.
|
||||
* @ingroup Ecore_IMF_Context_Group
|
||||
*/
|
||||
EAPI Eina_List *ecore_imf_context_available_ids_by_canvas_type_get(const char *canvas_type);
|
||||
|
||||
/**
|
||||
|
@ -631,6 +754,18 @@ EAPI Eina_List *ecore_imf_context_available_ids_by_canvas_typ
|
|||
* @ingroup Ecore_IMF_Context_Group
|
||||
*/
|
||||
EAPI const char *ecore_imf_context_default_id_get(void);
|
||||
|
||||
/**
|
||||
* Get the id of the default Input Method Context corresponding to a canvas
|
||||
* type.
|
||||
* The id may be used to create a new instance of an Input Method
|
||||
* Context object.
|
||||
*
|
||||
* @param canvas_type A string containing the canvas type.
|
||||
* @return Return a string containing the id of the default Input
|
||||
* Method Context; on failure it returns NULL.
|
||||
* @ingroup Ecore_IMF_Context_Group
|
||||
*/
|
||||
EAPI const char *ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type);
|
||||
|
||||
/**
|
||||
|
@ -1670,6 +1805,7 @@ EAPI Eina_Bool ecore_imf_context_input_panel_show_on_demand_
|
|||
/**
|
||||
* @brief Sets the bidirectionality at the current cursor position.
|
||||
*
|
||||
* @ingroup Ecore_IMF_Context_Group
|
||||
* @since 1.12.0
|
||||
*
|
||||
* @param[in] ctx An #Ecore_IMF_Context
|
||||
|
@ -1680,6 +1816,7 @@ EAPI void ecore_imf_context_bidi_direction_set(Ecore_IM
|
|||
/**
|
||||
* @brief Gets the bidirectionality at the current cursor position.
|
||||
*
|
||||
* @ingroup Ecore_IMF_Context_Group
|
||||
* @since 1.12.0
|
||||
*
|
||||
* @param[in] ctx An #Ecore_IMF_Context
|
||||
|
|
|
@ -39,6 +39,12 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup Ecore_Input_Group Ecore Input
|
||||
* @ingroup Ecore_Group
|
||||
*
|
||||
*@{
|
||||
*/
|
||||
EAPI extern int ECORE_EVENT_KEY_DOWN;
|
||||
EAPI extern int ECORE_EVENT_KEY_UP;
|
||||
EAPI extern int ECORE_EVENT_MOUSE_BUTTON_DOWN;
|
||||
|
@ -72,7 +78,11 @@ extern "C" {
|
|||
typedef struct _Ecore_Event_Mouse_Move Ecore_Event_Mouse_Move;
|
||||
typedef struct _Ecore_Event_Mouse_IO Ecore_Event_Mouse_IO;
|
||||
typedef struct _Ecore_Event_Modifiers Ecore_Event_Modifiers;
|
||||
|
||||
|
||||
/**
|
||||
* @typedef Ecore_Event_Modifier
|
||||
* An enum of modifier events.
|
||||
*/
|
||||
typedef enum _Ecore_Event_Modifier
|
||||
{
|
||||
ECORE_NONE,
|
||||
|
@ -86,18 +96,30 @@ extern "C" {
|
|||
ECORE_LAST
|
||||
} Ecore_Event_Modifier;
|
||||
|
||||
/**
|
||||
* @typedef Ecore_Event_Press
|
||||
* An enum of press events.
|
||||
*/
|
||||
typedef enum _Ecore_Event_Press
|
||||
{
|
||||
ECORE_DOWN,
|
||||
ECORE_UP
|
||||
} Ecore_Event_Press;
|
||||
|
||||
/**
|
||||
* @typedef Ecore_Event_IO
|
||||
* An enum of Input/Output events.
|
||||
*/
|
||||
typedef enum _Ecore_Event_IO
|
||||
{
|
||||
ECORE_IN,
|
||||
ECORE_OUT
|
||||
} Ecore_Event_IO;
|
||||
|
||||
/**
|
||||
* @typedef Ecore_Compose_State
|
||||
* An enum of Compose states.
|
||||
*/
|
||||
typedef enum _Ecore_Compose_State
|
||||
{
|
||||
ECORE_COMPOSE_NONE,
|
||||
|
@ -105,140 +127,197 @@ extern "C" {
|
|||
ECORE_COMPOSE_DONE
|
||||
} Ecore_Compose_State;
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Event_Key
|
||||
* Contains information about an Ecore keyboard event.
|
||||
*/
|
||||
struct _Ecore_Event_Key
|
||||
{
|
||||
const char *keyname;
|
||||
const char *key;
|
||||
const char *keyname; /**< The key name */
|
||||
const char *key; /**< The key symbol */
|
||||
const char *string;
|
||||
const char *compose;
|
||||
Ecore_Window window;
|
||||
Ecore_Window root_window;
|
||||
Ecore_Window event_window;
|
||||
const char *compose; /**< final string corresponding to the key symbol composed */
|
||||
Ecore_Window window; /**< The main window where event happened */
|
||||
Ecore_Window root_window; /**< The root window where event happened */
|
||||
Ecore_Window event_window; /**< The child window where event happened */
|
||||
|
||||
unsigned int timestamp;
|
||||
unsigned int modifiers;
|
||||
unsigned int timestamp; /**< Time when the event occurred */
|
||||
unsigned int modifiers; /**< The combination of modifiers key (SHIT,CTRL,ALT,..)*/
|
||||
|
||||
int same_screen;
|
||||
int same_screen; /**< same screen flag */
|
||||
|
||||
unsigned int keycode; /**< Key scan code numeric value @since 1.10 */
|
||||
|
||||
void *data; /**< User data associated with an Ecore_Event_Key @since 1.10 */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Event_Mouse_Button
|
||||
* Contains information about an Ecore mouse button event.
|
||||
*/
|
||||
struct _Ecore_Event_Mouse_Button
|
||||
{
|
||||
Ecore_Window window;
|
||||
Ecore_Window root_window;
|
||||
Ecore_Window event_window;
|
||||
Ecore_Window window; /**< The main window where event happened */
|
||||
Ecore_Window root_window; /**< The root window where event happened */
|
||||
Ecore_Window event_window; /**< The child window where event happened */
|
||||
|
||||
unsigned int timestamp; /**< Time when the event occurred */
|
||||
unsigned int modifiers; /**< The combination of modifiers key (SHIT,CTRL,ALT,..)*/
|
||||
unsigned int buttons; /**< The button that was used */
|
||||
unsigned int double_click; /**< Double click event */
|
||||
unsigned int triple_click; /**< Triple click event */
|
||||
int same_screen; /**< Same screen flag */
|
||||
|
||||
unsigned int timestamp;
|
||||
unsigned int modifiers;
|
||||
unsigned int buttons;
|
||||
unsigned int double_click;
|
||||
unsigned int triple_click;
|
||||
int same_screen;
|
||||
|
||||
int x;
|
||||
int y;
|
||||
int x; /**< x coordinate relative to window where event happened */
|
||||
int y; /**< y coordinate relative to window where event happened */
|
||||
struct {
|
||||
int x;
|
||||
int y;
|
||||
} root;
|
||||
} root; /**< Coordinates relative to root window */
|
||||
|
||||
struct {
|
||||
int device; /* 0 if normal mouse, 1+ for other mouse-devices (eg multi-touch - other fingers) */
|
||||
double radius, radius_x, radius_y; /* radius of press point - radius_x and y if its an ellipse (radius is the average of the 2) */
|
||||
double pressure; /* pressure - 1.0 == normal, > 1.0 == more, 0.0 == none */
|
||||
double angle; /* angle relative to perpendicular (0.0 == perpendicular), in degrees */
|
||||
double x, y; /* same as x, y root.x, root.y, but with sub-pixel precision, if available */
|
||||
int device; /**< 0 if normal mouse, 1+ for other mouse-devices (eg multi-touch - other fingers) */
|
||||
double radius, radius_x, radius_y; /**< radius of press point - radius_x and y if its an ellipse (radius is the average of the 2) */
|
||||
double pressure; /**< pressure - 1.0 == normal, > 1.0 == more, 0.0 == none */
|
||||
double angle; /**< angle relative to perpendicular (0.0 == perpendicular), in degrees */
|
||||
double x, y; /**< same as x, y, but with sub-pixel precision, if available */
|
||||
struct {
|
||||
double x, y;
|
||||
} root;
|
||||
} root; /**< same as root.x, root.y, but with sub-pixel precision, if available */
|
||||
} multi;
|
||||
};
|
||||
|
||||
struct _Ecore_Event_Mouse_Wheel
|
||||
{
|
||||
Ecore_Window window;
|
||||
Ecore_Window root_window;
|
||||
Ecore_Window event_window;
|
||||
|
||||
unsigned int timestamp;
|
||||
unsigned int modifiers;
|
||||
|
||||
int same_screen;
|
||||
int direction;
|
||||
int z;
|
||||
|
||||
int x;
|
||||
int y;
|
||||
struct {
|
||||
int x;
|
||||
int y;
|
||||
} root;
|
||||
};
|
||||
|
||||
struct _Ecore_Event_Mouse_Move
|
||||
{
|
||||
Ecore_Window window;
|
||||
Ecore_Window root_window;
|
||||
Ecore_Window event_window;
|
||||
|
||||
unsigned int timestamp;
|
||||
unsigned int modifiers;
|
||||
|
||||
int same_screen;
|
||||
|
||||
int x;
|
||||
int y;
|
||||
struct {
|
||||
int x;
|
||||
int y;
|
||||
} root;
|
||||
|
||||
struct {
|
||||
int device; /* 0 if normal mouse, 1+ for other mouse-devices (eg multi-touch - other fingers) */
|
||||
double radius, radius_x, radius_y; /* radius of press point - radius_x and y if its an ellipse (radius is the average of the 2) */
|
||||
double pressure; /* pressure - 1.0 == normal, > 1.0 == more, 0.0 == none */
|
||||
double angle; /* angle relative to perpendicular (0.0 == perpendicular), in degrees */
|
||||
double x, y; /* same as x, y root.x, root.y, but with sub-pixel precision, if available */
|
||||
struct {
|
||||
double x, y;
|
||||
} root;
|
||||
} multi;
|
||||
};
|
||||
|
||||
struct _Ecore_Event_Mouse_IO
|
||||
{
|
||||
Ecore_Window window;
|
||||
Ecore_Window event_window;
|
||||
|
||||
unsigned int timestamp;
|
||||
unsigned int modifiers;
|
||||
|
||||
int x;
|
||||
int y;
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Event_Mouse_Wheel
|
||||
* Contains information about an Ecore mouse wheel event.
|
||||
*/
|
||||
struct _Ecore_Event_Mouse_Wheel
|
||||
{
|
||||
Ecore_Window window; /**< The main window where event happened */
|
||||
Ecore_Window root_window; /**< The root window where event happened */
|
||||
Ecore_Window event_window; /**< The child window where event happened */
|
||||
|
||||
unsigned int timestamp; /**< Time when the event occurred */
|
||||
unsigned int modifiers; /**< The combination of modifiers key (SHIT,CTRL,ALT,..)*/
|
||||
|
||||
int same_screen; /**< Same screen flag */
|
||||
int direction; /**< Orientation of the wheel (horizontal/vertical) */
|
||||
int z; /**< Value of the wheel event (+1/-1) */
|
||||
|
||||
int x; /**< x coordinate relative to window where event happened */
|
||||
int y; /**< y coordinate relative to window where event happened */
|
||||
struct {
|
||||
int x;
|
||||
int y;
|
||||
} root; /**< Coordinates relative to root window */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Event_Mouse_Move
|
||||
* Contains information about an Ecore mouse move event.
|
||||
*/
|
||||
struct _Ecore_Event_Mouse_Move
|
||||
{
|
||||
Ecore_Window window; /**< The main window where event happened */
|
||||
Ecore_Window root_window; /**< The root window where event happened */
|
||||
Ecore_Window event_window; /**< The child window where event happened */
|
||||
|
||||
unsigned int timestamp; /**< Time when the event occurred */
|
||||
unsigned int modifiers; /**< The combination of modifiers key (SHIT,CTRL,ALT,..)*/
|
||||
|
||||
int same_screen; /**< Same screen flag */
|
||||
|
||||
int x; /**< x coordinate relative to window where event happened */
|
||||
int y; /**< y coordinate relative to window where event happened */
|
||||
struct {
|
||||
int x;
|
||||
int y;
|
||||
} root; /**< Coordinates relative to root window */
|
||||
|
||||
struct {
|
||||
int device; /**< 0 if normal mouse, 1+ for other mouse-devices (eg multi-touch - other fingers) */
|
||||
double radius, radius_x, radius_y; /**< radius of press point - radius_x and y if its an ellipse (radius is the average of the 2) */
|
||||
double pressure; /**< pressure - 1.0 == normal, > 1.0 == more, 0.0 == none */
|
||||
double angle; /**< angle relative to perpendicular (0.0 == perpendicular), in degrees */
|
||||
double x, y; /**< same as x, y root.x, root.y, but with sub-pixel precision, if available */
|
||||
struct {
|
||||
double x, y;
|
||||
} root;
|
||||
} multi;
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Event_Mouse_IO
|
||||
* Contains information about an Ecore mouse input/output event.
|
||||
*/
|
||||
struct _Ecore_Event_Mouse_IO
|
||||
{
|
||||
Ecore_Window window; /**< The main window where event happened */
|
||||
Ecore_Window event_window; /**< The child window where event happened */
|
||||
|
||||
unsigned int timestamp; /**< Time when the event occurred */
|
||||
unsigned int modifiers; /**< The combination of modifiers key (SHIT,CTRL,ALT,..)*/
|
||||
|
||||
int x /**< x coordinate relative to window where event happened */
|
||||
int y /**< y coordinate relative to window where event happened */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Event_Modifiers
|
||||
* Contains information about an Ecore event modifier.
|
||||
*/
|
||||
struct _Ecore_Event_Modifiers
|
||||
{
|
||||
unsigned int size;
|
||||
unsigned int array[ECORE_LAST];
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Initialises the Ecore Event system.
|
||||
*/
|
||||
EAPI int ecore_event_init(void);
|
||||
/**
|
||||
* Shutdowns the Ecore Event system.
|
||||
*/
|
||||
EAPI int ecore_event_shutdown(void);
|
||||
|
||||
|
||||
/**
|
||||
* Return the Ecore modifier event integer associated to a
|
||||
* Ecore_Event_Modifier modifier event.
|
||||
*
|
||||
* @param modifier A Ecore_Event_Modifier event.
|
||||
* @return A event_modifier integer that matches with the provided modifier
|
||||
* event.
|
||||
*/
|
||||
EAPI unsigned int ecore_event_modifier_mask(Ecore_Event_Modifier modifier);
|
||||
|
||||
/**
|
||||
* Update a Ecore_Event_Modifiers array with "key" modifier.
|
||||
*
|
||||
* @param key A string describing a modifier key.
|
||||
* @param modifiers A Ecore_Event_Modifiers structure.
|
||||
* @param inc The value to increment in the modifiers array.
|
||||
*
|
||||
* @return ECORE_NONE if the key does not match with an existing one, else
|
||||
* the corresponding Ecore_Event_Modifier.
|
||||
*/
|
||||
EAPI Ecore_Event_Modifier ecore_event_update_modifier(const char *key, Ecore_Event_Modifiers *modifiers, int inc);
|
||||
|
||||
/**
|
||||
* @since 1.7
|
||||
* Handle a sequence of key symbols to make a final compose string.
|
||||
*
|
||||
* The final compose string seqstr_ret is allocated in this function and
|
||||
* thus shall be freed when not needed anymore.
|
||||
*
|
||||
* @param seq The sequence of key symbols in a Eina_List.
|
||||
* @param seqstr_ret The final compose string.
|
||||
* @return The status of the composition.
|
||||
*/
|
||||
EAPI Ecore_Compose_State ecore_compose_get(const Eina_List *seq, char **seqstr_ret);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
#endif
|
||||
|
|
|
@ -30,8 +30,11 @@
|
|||
#endif
|
||||
|
||||
/**
|
||||
* @file Ecore_Ipc.h
|
||||
* @brief Ecore inter-process communication functions.
|
||||
* @defgroup Ecore_IPC_Group Ecore_IPC - Ecore inter-process communication functions.
|
||||
* @ingroup Ecore
|
||||
*
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -217,6 +220,11 @@ EAPI unsigned long long _ecore_ipc_swap_64(unsigned long long v) EINA_DEPRECATED
|
|||
} \
|
||||
return d
|
||||
|
||||
/**
|
||||
* @typedef Ecore_Ipc_Type
|
||||
*
|
||||
* Enum containing IPC types.
|
||||
*/
|
||||
typedef enum _Ecore_Ipc_Type
|
||||
{
|
||||
ECORE_IPC_LOCAL_USER,
|
||||
|
@ -233,50 +241,81 @@ typedef struct _Ecore_Ipc_Event_Server_Del Ecore_Ipc_Event_Server_Del;
|
|||
typedef struct _Ecore_Ipc_Event_Client_Data Ecore_Ipc_Event_Client_Data;
|
||||
typedef struct _Ecore_Ipc_Event_Server_Data Ecore_Ipc_Event_Server_Data;
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Ipc_Event_Client_Add
|
||||
*
|
||||
* An IPC structure for client_add event.
|
||||
*/
|
||||
struct _Ecore_Ipc_Event_Client_Add
|
||||
{
|
||||
Ecore_Ipc_Client *client;
|
||||
Ecore_Ipc_Client *client; /**< An IPC connection handle */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Ipc_Event_Client_Del
|
||||
*
|
||||
* An IPC structure for client_del event.
|
||||
*/
|
||||
struct _Ecore_Ipc_Event_Client_Del
|
||||
{
|
||||
Ecore_Ipc_Client *client;
|
||||
Ecore_Ipc_Client *client; /**< An IPC connection handle */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Ipc_Event_Server_Add
|
||||
*
|
||||
* An IPC structure for server_add event.
|
||||
*/
|
||||
struct _Ecore_Ipc_Event_Server_Add
|
||||
{
|
||||
Ecore_Ipc_Server *server;
|
||||
Ecore_Ipc_Server *server; /**< An IPC connection handle */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Ipc_Event_Server_Del
|
||||
*
|
||||
* An IPC structure for server_del event.
|
||||
*/
|
||||
struct _Ecore_Ipc_Event_Server_Del
|
||||
{
|
||||
Ecore_Ipc_Server *server;
|
||||
Ecore_Ipc_Server *server; /**< An IPC connection handle */
|
||||
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Ipc_Event_Client_Data
|
||||
*
|
||||
* An IPC structure for client_data event.
|
||||
*/
|
||||
struct _Ecore_Ipc_Event_Client_Data
|
||||
{
|
||||
Ecore_Ipc_Client *client;
|
||||
Ecore_Ipc_Client *client; /**< An IPC connection handle */
|
||||
/* FIXME: this needs to become an ipc message */
|
||||
int major;
|
||||
int minor;
|
||||
int ref;
|
||||
int ref_to;
|
||||
int response;
|
||||
void *data;
|
||||
int size;
|
||||
int major; /**< The message major opcode number */
|
||||
int minor; /**< The message minor opcode number */
|
||||
int ref; /**< The message reference number */
|
||||
int ref_to; /**< Reference number of the message it refers to */
|
||||
int response; /**< Requires response */
|
||||
void *data; /**< The message data */
|
||||
int size; /**< The data length (in bytes) */
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @struct _Ecore_Ipc_Event_Server_Data
|
||||
*
|
||||
* An IPC structure for server_data event.
|
||||
*/
|
||||
struct _Ecore_Ipc_Event_Server_Data
|
||||
{
|
||||
Ecore_Ipc_Server *server;
|
||||
Ecore_Ipc_Server *server; /**< An IPC connection handle */
|
||||
/* FIXME: this needs to become an ipc message */
|
||||
int major;
|
||||
int minor;
|
||||
int ref;
|
||||
int ref_to;
|
||||
int response;
|
||||
void *data;
|
||||
int size;
|
||||
int major; /**< The message major opcode number */
|
||||
int minor; /**< The message minor opcode number */
|
||||
int ref; /**< The message reference number */
|
||||
int ref_to; /**< Reference number of the message it refers to */
|
||||
int response; /**< Requires response */
|
||||
void *data; /**< The message data */
|
||||
int size; /**< The data length (in bytes) */
|
||||
};
|
||||
|
||||
EAPI extern int ECORE_IPC_EVENT_CLIENT_ADD;
|
||||
|
@ -325,4 +364,7 @@ EAPI int ecore_ipc_ssl_available_get(void);
|
|||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
#endif
|
||||
|
|
|
@ -28,13 +28,16 @@
|
|||
|
||||
#define ECORE_X_VERSION_MAJOR EFL_VERSION_MAJOR
|
||||
#define ECORE_X_VERSION_MINOR EFL_VERSION_MINOR
|
||||
|
||||
/**
|
||||
* @typedef Ecore_X_Version
|
||||
* Represents the current version of Ecore_X
|
||||
*/
|
||||
typedef struct _Ecore_X_Version
|
||||
{
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int revision;
|
||||
int major; /** < major (binary or source incompatible changes) */
|
||||
int minor; /** < minor (new features, bugfixes, major improvements version) */
|
||||
int micro; /** < micro (bugfix, internal improvements, no new features version) */
|
||||
int revision; /** < git revision (0 if a proper release or the git revision number Ecore_X is built from) */
|
||||
} Ecore_X_Version;
|
||||
|
||||
EAPI extern Ecore_X_Version *ecore_x_version;
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
*/
|
||||
typedef struct _Edje_Version
|
||||
{
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int revision;
|
||||
int major; /**< The major number of Edje version. */
|
||||
int minor; /**< The minor number of Edje version. */
|
||||
int micro; /**< The micro number of Edje version. */
|
||||
int revision; /**< The revision of Edje version) */
|
||||
} Edje_Version;
|
||||
|
||||
EAPI extern Edje_Version *edje_version;
|
||||
|
@ -669,7 +669,8 @@ EAPI void edje_external_type_array_unregister (const Edje_External_T
|
|||
EAPI unsigned int edje_external_type_abi_version_get (void) EINA_CONST;
|
||||
|
||||
/**
|
||||
* Returns an interator of all the registered EXTERNAL types.
|
||||
*
|
||||
* @return an iterator of all the registered EXTERNAL types.
|
||||
*
|
||||
* Each item in the iterator is an @c Eina_Hash_Tuple which has the type
|
||||
* of the external in the @c key and #Edje_External_Type as @c data.
|
||||
|
@ -823,6 +824,8 @@ EAPI Eina_Bool edje_external_param_choice_get (const Eina_
|
|||
* @b NOT translated. One must use
|
||||
* Edje_External_Type::translate() to translate those.
|
||||
*
|
||||
* @param type_name Edje external type name
|
||||
*
|
||||
* @return the NULL terminated array, or @c NULL if type is unknown or
|
||||
* it does not have any parameter information.
|
||||
*
|
||||
|
@ -955,21 +958,36 @@ struct _Edje_Entry_Change_Info
|
|||
*/
|
||||
typedef struct _Edje_Entry_Change_Info Edje_Entry_Change_Info;
|
||||
|
||||
/**
|
||||
* @typedef Edje_Text_Filter_Type
|
||||
*
|
||||
* All Edje text filters type values.
|
||||
*/
|
||||
typedef enum _Edje_Text_Filter_Type
|
||||
{
|
||||
EDJE_TEXT_FILTER_TEXT = 0,
|
||||
EDJE_TEXT_FILTER_FORMAT = 1,
|
||||
EDJE_TEXT_FILTER_MARKUP = 2
|
||||
EDJE_TEXT_FILTER_TEXT = 0, /**< Text type filter */
|
||||
EDJE_TEXT_FILTER_FORMAT = 1, /**< Format type filter */
|
||||
EDJE_TEXT_FILTER_MARKUP = 2 /**< Markup type filter */
|
||||
} Edje_Text_Filter_Type;
|
||||
|
||||
/**
|
||||
* @typedef Edje_Text_Autocapital_Type
|
||||
*
|
||||
* All Text auto capital mode type values
|
||||
*
|
||||
*/
|
||||
typedef enum _Edje_Text_Autocapital_Type
|
||||
{
|
||||
EDJE_TEXT_AUTOCAPITAL_TYPE_NONE,
|
||||
EDJE_TEXT_AUTOCAPITAL_TYPE_WORD,
|
||||
EDJE_TEXT_AUTOCAPITAL_TYPE_SENTENCE,
|
||||
EDJE_TEXT_AUTOCAPITAL_TYPE_ALLCHARACTER
|
||||
EDJE_TEXT_AUTOCAPITAL_TYPE_NONE, /**< None mode value */
|
||||
EDJE_TEXT_AUTOCAPITAL_TYPE_WORD, /**< Word mode value */
|
||||
EDJE_TEXT_AUTOCAPITAL_TYPE_SENTENCE, /**< Sentence mode value */
|
||||
EDJE_TEXT_AUTOCAPITAL_TYPE_ALLCHARACTER /**< All characters mode value */
|
||||
} Edje_Text_Autocapital_Type;
|
||||
|
||||
/**
|
||||
* @typedef Edje_Input_Panel_Lang
|
||||
*
|
||||
*/
|
||||
typedef enum _Edje_Input_Panel_Lang
|
||||
{
|
||||
EDJE_INPUT_PANEL_LANG_AUTOMATIC, /**< Automatic @since 1.2 */
|
||||
|
@ -989,6 +1007,10 @@ typedef enum _Edje_Input_Panel_Return_Key_Type
|
|||
EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN /**< Sign-in @since 1.8 */
|
||||
} Edje_Input_Panel_Return_Key_Type;
|
||||
|
||||
/**
|
||||
* @typedef Edje_Input_Panel_Layout
|
||||
* @brief Edje input panel layout
|
||||
*/
|
||||
typedef enum _Edje_Input_Panel_Layout
|
||||
{
|
||||
EDJE_INPUT_PANEL_LAYOUT_NORMAL, /**< Default layout */
|
||||
|
@ -1007,6 +1029,10 @@ typedef enum _Edje_Input_Panel_Layout
|
|||
EDJE_INPUT_PANEL_LAYOUT_EMOTICON /**< Emoticon layout @since 1.10 */
|
||||
} Edje_Input_Panel_Layout;
|
||||
|
||||
/*
|
||||
* @typedef Edje_Input_Hints
|
||||
* @brief Edje input hints
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
EDJE_INPUT_HINT_NONE = 0, /**< No active hints @since 1.12 */
|
||||
|
@ -1035,8 +1061,33 @@ enum
|
|||
EDJE_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NUMBERONLY /**< The password layout to allow only number @since 1.12 */
|
||||
};
|
||||
|
||||
/**
|
||||
* @typedef (*Edje_Text_Filter_Cb)
|
||||
* @brief Callback prototype for Edje_Text_Filter
|
||||
* @param obj The Evas_Object to filter.
|
||||
* @param type The filter type.
|
||||
* @param text The text of the filter.
|
||||
*/
|
||||
typedef void (*Edje_Text_Filter_Cb) (void *data, Evas_Object *obj, const char *part, Edje_Text_Filter_Type type, char **text);
|
||||
|
||||
/**
|
||||
* @typedef (*Edje_Markup_Filter_Cb)
|
||||
* @brief Callback prototype for Edje_Text_Filter
|
||||
* @param obj The Evas_Object to filter.
|
||||
* @param part Edje part name.
|
||||
* @param text The text of the filter.
|
||||
*/
|
||||
typedef void (*Edje_Markup_Filter_Cb) (void *data, Evas_Object *obj, const char *part, char **text);
|
||||
|
||||
/**
|
||||
* @typedef (*Edje_Item_Provider_Cb)
|
||||
* @brief Callback prototype for Edje_Item_Provider
|
||||
* @param data some data provided by user
|
||||
* @param obj The Evas_Object to filter.
|
||||
* @param part Edje part name
|
||||
* @param item Item of container
|
||||
* @return must be an Evas_Object.
|
||||
*/
|
||||
typedef Evas_Object *(*Edje_Item_Provider_Cb) (void *data, Evas_Object *obj, const char *part, const char *item);
|
||||
|
||||
/**
|
||||
|
@ -1126,6 +1177,8 @@ EAPI void edje_password_show_last_timeout_set(double password_show_last_timeout)
|
|||
*
|
||||
* @note unlike Evas, Edje colors are @b not pre-multiplied. That is,
|
||||
* half-transparent white is 255 255 255 128.
|
||||
*
|
||||
* @return Eina_Bool, EINA_TRUE on success and EINA_FALSE on failure.
|
||||
*/
|
||||
EAPI Eina_Bool edje_color_class_set (const char *color_class, int r, int g, int b, int a, int r2, int g2, int b2, int a2, int r3, int g3, int b3, int a3);
|
||||
|
||||
|
@ -1216,22 +1269,28 @@ EAPI Eina_List *edje_color_class_list (void);
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Edje_Part_Type
|
||||
*
|
||||
* All possible "part" types in Edje
|
||||
*/
|
||||
typedef enum _Edje_Part_Type
|
||||
{
|
||||
EDJE_PART_TYPE_NONE = 0,
|
||||
EDJE_PART_TYPE_RECTANGLE = 1,
|
||||
EDJE_PART_TYPE_TEXT = 2,
|
||||
EDJE_PART_TYPE_IMAGE = 3,
|
||||
EDJE_PART_TYPE_SWALLOW = 4,
|
||||
EDJE_PART_TYPE_TEXTBLOCK = 5,
|
||||
EDJE_PART_TYPE_GRADIENT = 6,
|
||||
EDJE_PART_TYPE_GROUP = 7,
|
||||
EDJE_PART_TYPE_BOX = 8,
|
||||
EDJE_PART_TYPE_TABLE = 9,
|
||||
EDJE_PART_TYPE_EXTERNAL = 10,
|
||||
EDJE_PART_TYPE_PROXY = 11,
|
||||
EDJE_PART_TYPE_SPACER = 12, /**< @since 1.7 */
|
||||
EDJE_PART_TYPE_LAST = 13
|
||||
EDJE_PART_TYPE_NONE = 0, /**< None type value */
|
||||
EDJE_PART_TYPE_RECTANGLE = 1, /**< Rectangle type value */
|
||||
EDJE_PART_TYPE_TEXT = 2, /**< Text type value */
|
||||
EDJE_PART_TYPE_IMAGE = 3, /**< Image type value */
|
||||
EDJE_PART_TYPE_SWALLOW = 4, /**< Swallow type value */
|
||||
EDJE_PART_TYPE_TEXTBLOCK = 5, /**< Text block type value */
|
||||
EDJE_PART_TYPE_GRADIENT = 6, /**< Gradient type value */
|
||||
EDJE_PART_TYPE_GROUP = 7, /**< Group type value */
|
||||
EDJE_PART_TYPE_BOX = 8, /**< Box type value */
|
||||
EDJE_PART_TYPE_TABLE = 9, /**< Table type value */
|
||||
EDJE_PART_TYPE_EXTERNAL = 10, /**< External type value */
|
||||
EDJE_PART_TYPE_PROXY = 11, /**< Proxy type value */
|
||||
EDJE_PART_TYPE_SPACER = 12, /**< Spacer type value @since 1.7 */
|
||||
EDJE_PART_TYPE_LAST = 13 /**< Last type value */
|
||||
|
||||
} Edje_Part_Type;
|
||||
/**
|
||||
* @}
|
||||
|
@ -1261,32 +1320,45 @@ typedef enum _Edje_Part_Type
|
|||
#define EDJE_TEXT_EFFECT_SHADOW_DIRECTION_SET(x, s) \
|
||||
do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION) | (s); } while (0)
|
||||
|
||||
/**
|
||||
* @typedef Edje_Text_Effect
|
||||
*
|
||||
* All possible text effects in Edje
|
||||
*/
|
||||
typedef enum _Edje_Text_Effect
|
||||
{
|
||||
EDJE_TEXT_EFFECT_NONE = 0,
|
||||
EDJE_TEXT_EFFECT_PLAIN = 1,
|
||||
EDJE_TEXT_EFFECT_OUTLINE = 2,
|
||||
EDJE_TEXT_EFFECT_SOFT_OUTLINE = 3,
|
||||
EDJE_TEXT_EFFECT_SHADOW = 4,
|
||||
EDJE_TEXT_EFFECT_SOFT_SHADOW = 5,
|
||||
EDJE_TEXT_EFFECT_OUTLINE_SHADOW = 6,
|
||||
EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW = 7,
|
||||
EDJE_TEXT_EFFECT_FAR_SHADOW = 8,
|
||||
EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW = 9,
|
||||
EDJE_TEXT_EFFECT_GLOW = 10,
|
||||
EDJE_TEXT_EFFECT_NONE = 0, /**< None text effect value */
|
||||
EDJE_TEXT_EFFECT_PLAIN = 1, /**< Plain text effect value */
|
||||
EDJE_TEXT_EFFECT_OUTLINE = 2, /**< Outline text effect value */
|
||||
EDJE_TEXT_EFFECT_SOFT_OUTLINE = 3, /**< Soft outline text effect value */
|
||||
EDJE_TEXT_EFFECT_SHADOW = 4, /**< Shadown text effect value */
|
||||
EDJE_TEXT_EFFECT_SOFT_SHADOW = 5, /**< Soft shadow text effect value */
|
||||
EDJE_TEXT_EFFECT_OUTLINE_SHADOW = 6, /**< Outline shadow text effect value */
|
||||
EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW = 7, /**< Outline soft shadow text effect value */
|
||||
EDJE_TEXT_EFFECT_FAR_SHADOW = 8, /**< Far shadow text effect value */
|
||||
EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW = 9, /**< Far soft shadow text effect value */
|
||||
EDJE_TEXT_EFFECT_GLOW = 10, /**< Glow text effect value */
|
||||
|
||||
EDJE_TEXT_EFFECT_LAST = 11,
|
||||
EDJE_TEXT_EFFECT_LAST = 11, /**< Last text effect value */
|
||||
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT = (0x0 << 4),
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM = (0x1 << 4),
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT = (0x2 << 4),
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT = (0x3 << 4),
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT = (0x4 << 4),
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP = (0x5 << 4),
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT = (0x6 << 4),
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT = (0x7 << 4)
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT = (0x0 << 4), /**< Bottom right shadow direction value */
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM = (0x1 << 4), /**< Bottom shadow direction value */
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT = (0x2 << 4), /**< Bottom left shadow direction value */
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT = (0x3 << 4), /**< Left shadow direction value */
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT = (0x4 << 4), /**< Top left shadow direction value */
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP = (0x5 << 4), /**< Top shadow direction value */
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT = (0x6 << 4), /**< Top right shadow direction value */
|
||||
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT = (0x7 << 4) /**< right shadow direction value */
|
||||
} Edje_Text_Effect;
|
||||
|
||||
/**
|
||||
* @typedef (*Edje_Text_Change_Cb)
|
||||
*
|
||||
* Callback prototype for Edje_Text_Change
|
||||
* @param data user provided data to pass to the callback
|
||||
* @param obj the Evas_Object
|
||||
* @param The edje part
|
||||
*/
|
||||
typedef void (*Edje_Text_Change_Cb) (void *data, Evas_Object *obj, const char *part);
|
||||
/**
|
||||
* @}
|
||||
|
@ -1328,15 +1400,21 @@ typedef void (*Edje_Text_Change_Cb) (void *data, Evas_Object *obj, c
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Edje_Cursor
|
||||
*
|
||||
* All available cursor states
|
||||
*
|
||||
*/
|
||||
typedef enum _Edje_Cursor
|
||||
{
|
||||
EDJE_CURSOR_MAIN,
|
||||
EDJE_CURSOR_SELECTION_BEGIN,
|
||||
EDJE_CURSOR_SELECTION_END,
|
||||
EDJE_CURSOR_PREEDIT_START,
|
||||
EDJE_CURSOR_PREEDIT_END,
|
||||
EDJE_CURSOR_USER,
|
||||
EDJE_CURSOR_USER_EXTRA,
|
||||
EDJE_CURSOR_MAIN, /*< Main cursor state */
|
||||
EDJE_CURSOR_SELECTION_BEGIN, /*< Selection begin cursor state */
|
||||
EDJE_CURSOR_SELECTION_END, /*< Selection end cursor state */
|
||||
EDJE_CURSOR_PREEDIT_START, /*< Pre-edit start cursor state */
|
||||
EDJE_CURSOR_PREEDIT_END, /*< Pre-edit end cursor starge */
|
||||
EDJE_CURSOR_USER, /*< User cursor state */
|
||||
EDJE_CURSOR_USER_EXTRA, /*< User extra cursor state */
|
||||
// more later
|
||||
} Edje_Cursor;
|
||||
|
||||
|
@ -1363,13 +1441,19 @@ typedef enum _Edje_Cursor
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Edje_Aspect_Control
|
||||
*
|
||||
* All Edje aspect control values
|
||||
*
|
||||
*/
|
||||
typedef enum _Edje_Aspect_Control
|
||||
{
|
||||
EDJE_ASPECT_CONTROL_NONE = 0,
|
||||
EDJE_ASPECT_CONTROL_NEITHER = 1,
|
||||
EDJE_ASPECT_CONTROL_HORIZONTAL = 2,
|
||||
EDJE_ASPECT_CONTROL_VERTICAL = 3,
|
||||
EDJE_ASPECT_CONTROL_BOTH = 4
|
||||
EDJE_ASPECT_CONTROL_NONE = 0, /*< None aspect control value */
|
||||
EDJE_ASPECT_CONTROL_NEITHER = 1, /*< Neither aspect control value */
|
||||
EDJE_ASPECT_CONTROL_HORIZONTAL = 2, /*< Horizontal aspect control value */
|
||||
EDJE_ASPECT_CONTROL_VERTICAL = 3, /*< Vertical aspect control value */
|
||||
EDJE_ASPECT_CONTROL_BOTH = 4 /*< Both aspect control value */
|
||||
} Edje_Aspect_Control;
|
||||
|
||||
/**
|
||||
|
@ -1416,12 +1500,17 @@ typedef enum _Edje_Aspect_Control
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Edje_Drag_Dir
|
||||
*
|
||||
* Dragable properties values
|
||||
*/
|
||||
typedef enum _Edje_Drag_Dir
|
||||
{
|
||||
EDJE_DRAG_DIR_NONE = 0,
|
||||
EDJE_DRAG_DIR_X = 1,
|
||||
EDJE_DRAG_DIR_Y = 2,
|
||||
EDJE_DRAG_DIR_XY = 3
|
||||
EDJE_DRAG_DIR_NONE = 0, /*< Not dragable value */
|
||||
EDJE_DRAG_DIR_X = 1, /*< X dragable value */
|
||||
EDJE_DRAG_DIR_Y = 2, /*< Y dragable value */
|
||||
EDJE_DRAG_DIR_XY = 3 /*< X and Y dragable value */
|
||||
} Edje_Drag_Dir;
|
||||
|
||||
/**
|
||||
|
@ -1482,11 +1571,17 @@ EAPI void edje_box_layout_register (const char *name, Evas_Object
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Edje_Object_Table_Homogeneous_Mode
|
||||
*
|
||||
* Table homogeneous modes
|
||||
*
|
||||
*/
|
||||
typedef enum _Edje_Object_Table_Homogeneous_Mode
|
||||
{
|
||||
EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE = 0,
|
||||
EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1,
|
||||
EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2
|
||||
EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE = 0, /*< None homogeneous mode */
|
||||
EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1, /*< Table homogeneous mode */
|
||||
EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2 /*< Item homogeneous mode */
|
||||
} Edje_Object_Table_Homogeneous_Mode;
|
||||
|
||||
/**
|
||||
|
@ -1688,53 +1783,64 @@ EAPI const char *edje_load_error_str (Edje_Load_Error error);
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Edje_Tween_Mode
|
||||
*
|
||||
* Available tween mode for edje animations
|
||||
*/
|
||||
typedef enum _Edje_Tween_Mode
|
||||
{
|
||||
EDJE_TWEEN_MODE_NONE = 0,
|
||||
EDJE_TWEEN_MODE_LINEAR = 1,
|
||||
EDJE_TWEEN_MODE_SINUSOIDAL = 2,
|
||||
EDJE_TWEEN_MODE_ACCELERATE = 3,
|
||||
EDJE_TWEEN_MODE_DECELERATE = 4,
|
||||
EDJE_TWEEN_MODE_ACCELERATE_FACTOR = 5,
|
||||
EDJE_TWEEN_MODE_DECELERATE_FACTOR = 6,
|
||||
EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR = 7,
|
||||
EDJE_TWEEN_MODE_DIVISOR_INTERP = 8,
|
||||
EDJE_TWEEN_MODE_BOUNCE = 9,
|
||||
EDJE_TWEEN_MODE_SPRING = 10,
|
||||
EDJE_TWEEN_MODE_CUBIC_BEZIER = 11,
|
||||
EDJE_TWEEN_MODE_LAST = 12,
|
||||
EDJE_TWEEN_MODE_MASK = 0xff,
|
||||
EDJE_TWEEN_MODE_OPT_FROM_CURRENT = (1 << 31)
|
||||
EDJE_TWEEN_MODE_NONE = 0, /**< None tween mode value */
|
||||
EDJE_TWEEN_MODE_LINEAR = 1, /**< Linear tween mode value */
|
||||
EDJE_TWEEN_MODE_SINUSOIDAL = 2, /**< Sinusoidal tween mode value */
|
||||
EDJE_TWEEN_MODE_ACCELERATE = 3, /**< Accelerate tween mode value */
|
||||
EDJE_TWEEN_MODE_DECELERATE = 4, /**< Decelerate tween mode value */
|
||||
EDJE_TWEEN_MODE_ACCELERATE_FACTOR = 5, /**< Accelerate factor tween mode value */
|
||||
EDJE_TWEEN_MODE_DECELERATE_FACTOR = 6, /**< Decelerate factor tween mode value */
|
||||
EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR = 7, /**< Sinusoidal factgor tween mode value */
|
||||
EDJE_TWEEN_MODE_DIVISOR_INTERP = 8, /**< Divisor iterp tween mode value */
|
||||
EDJE_TWEEN_MODE_BOUNCE = 9, /**< Bounce tween mode value */
|
||||
EDJE_TWEEN_MODE_SPRING = 10, /**< Spring tween mode value */
|
||||
EDJE_TWEEN_MODE_CUBIC_BEZIER = 11, /**< Cubic Bezier tween mode value */
|
||||
EDJE_TWEEN_MODE_LAST = 12, /**< Last tween mode value */
|
||||
EDJE_TWEEN_MODE_MASK = 0xff, /**< Mask tween mode value */
|
||||
EDJE_TWEEN_MODE_OPT_FROM_CURRENT = (1 << 31) /**< Options from current tween mode value */
|
||||
} Edje_Tween_Mode;
|
||||
|
||||
/**
|
||||
* @typedef Edje_Action_Type
|
||||
*
|
||||
* All actions available in Edje programs.
|
||||
*
|
||||
*/
|
||||
typedef enum _Edje_Action_Type
|
||||
{
|
||||
EDJE_ACTION_TYPE_NONE = 0,
|
||||
EDJE_ACTION_TYPE_STATE_SET = 1,
|
||||
EDJE_ACTION_TYPE_ACTION_STOP = 2,
|
||||
EDJE_ACTION_TYPE_SIGNAL_EMIT = 3,
|
||||
EDJE_ACTION_TYPE_DRAG_VAL_SET = 4,
|
||||
EDJE_ACTION_TYPE_DRAG_VAL_STEP = 5,
|
||||
EDJE_ACTION_TYPE_DRAG_VAL_PAGE = 6,
|
||||
EDJE_ACTION_TYPE_SCRIPT = 7,
|
||||
EDJE_ACTION_TYPE_FOCUS_SET = 8,
|
||||
EDJE_ACTION_TYPE_RESERVED00 = 9,
|
||||
EDJE_ACTION_TYPE_FOCUS_OBJECT = 10,
|
||||
EDJE_ACTION_TYPE_PARAM_COPY = 11,
|
||||
EDJE_ACTION_TYPE_PARAM_SET = 12,
|
||||
EDJE_ACTION_TYPE_SOUND_SAMPLE = 13, /**< @since 1.1 */
|
||||
EDJE_ACTION_TYPE_SOUND_TONE = 14, /**< @since 1.1 */
|
||||
EDJE_ACTION_TYPE_PHYSICS_IMPULSE = 15, /**< @since 1.8 */
|
||||
EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE = 16, /**< @since 1.8 */
|
||||
EDJE_ACTION_TYPE_PHYSICS_FORCE = 17, /**< @since 1.8 */
|
||||
EDJE_ACTION_TYPE_PHYSICS_TORQUE = 18, /**< @since 1.8 */
|
||||
EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR = 19, /**< @since 1.8 */
|
||||
EDJE_ACTION_TYPE_PHYSICS_VEL_SET = 20, /**< @since 1.8 */
|
||||
EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET = 21, /**< @since 1.8 */
|
||||
EDJE_ACTION_TYPE_PHYSICS_STOP = 22, /**< @since 1.8 */
|
||||
EDJE_ACTION_TYPE_PHYSICS_ROT_SET = 23, /**< @since 1.8 */
|
||||
EDJE_ACTION_TYPE_VIBRATION_SAMPLE = 24, /**< @since 1.10 */
|
||||
EDJE_ACTION_TYPE_LAST = 25
|
||||
EDJE_ACTION_TYPE_NONE = 0, /**< None action value */
|
||||
EDJE_ACTION_TYPE_STATE_SET = 1, /**< State set action value */
|
||||
EDJE_ACTION_TYPE_ACTION_STOP = 2, /**< Action stop action value */
|
||||
EDJE_ACTION_TYPE_SIGNAL_EMIT = 3, /**< Signal emit action value */
|
||||
EDJE_ACTION_TYPE_DRAG_VAL_SET = 4, /**< Drag val set action value */
|
||||
EDJE_ACTION_TYPE_DRAG_VAL_STEP = 5, /**< Drag val step action value */
|
||||
EDJE_ACTION_TYPE_DRAG_VAL_PAGE = 6, /**< Drag val page action value */
|
||||
EDJE_ACTION_TYPE_SCRIPT = 7, /**< Script action value */
|
||||
EDJE_ACTION_TYPE_FOCUS_SET = 8, /**< Forcus set action value */
|
||||
EDJE_ACTION_TYPE_RESERVED00 = 9, /**< Reversed do action value */
|
||||
EDJE_ACTION_TYPE_FOCUS_OBJECT = 10, /**< Forcus object action value */
|
||||
EDJE_ACTION_TYPE_PARAM_COPY = 11, /**< Param copy action value */
|
||||
EDJE_ACTION_TYPE_PARAM_SET = 12, /**< Param set action value */
|
||||
EDJE_ACTION_TYPE_SOUND_SAMPLE = 13, /**< @since 1.1 @brief Sound sample action value */
|
||||
EDJE_ACTION_TYPE_SOUND_TONE = 14, /**< @since 1.1 @brief Sound tone action value */
|
||||
EDJE_ACTION_TYPE_PHYSICS_IMPULSE = 15, /**< @since 1.8 @brief Physics impulse action value */
|
||||
EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE = 16, /**< @since 1.8 @brief Physics torque impulse action value */
|
||||
EDJE_ACTION_TYPE_PHYSICS_FORCE = 17, /**< @since 1.8 @brief Physics force action value */
|
||||
EDJE_ACTION_TYPE_PHYSICS_TORQUE = 18, /**< @since 1.8 @brief Physics torque action value */
|
||||
EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR = 19, /**< @since 1.8 @brief Physics forces clear action value */
|
||||
EDJE_ACTION_TYPE_PHYSICS_VEL_SET = 20, /**< @since 1.8 @brief Physics velocity set action value */
|
||||
EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET = 21, /**< @since 1.8 @brief Physics angle velocity set action value */
|
||||
EDJE_ACTION_TYPE_PHYSICS_STOP = 22, /**< @since 1.8 @brief Physics stop action value */
|
||||
EDJE_ACTION_TYPE_PHYSICS_ROT_SET = 23, /**< @since 1.8 @brief Physics rotation set action value */
|
||||
EDJE_ACTION_TYPE_VIBRATION_SAMPLE = 24, /**< @since 1.10 @brief vibration sample action value */
|
||||
EDJE_ACTION_TYPE_LAST = 25 /**< Last action value */
|
||||
} Edje_Action_Type;
|
||||
|
||||
/**
|
||||
|
@ -2091,24 +2197,24 @@ typedef enum _Edje_Channel
|
|||
|
||||
/**
|
||||
* Set the mute state of audio for the process as a whole
|
||||
*
|
||||
*
|
||||
* @param channel The channel to set the mute state of
|
||||
* @param mute The mute state
|
||||
*
|
||||
*
|
||||
* This sets the mute (no output) state of audio for the given channel.
|
||||
*
|
||||
*
|
||||
* @see edje_audio_channel_mute_get()
|
||||
*
|
||||
*
|
||||
* @since 1.9
|
||||
*/
|
||||
EAPI void edje_audio_channel_mute_set(Edje_Channel channel, Eina_Bool mute);
|
||||
|
||||
/**
|
||||
* Get the mute state of the given channel
|
||||
*
|
||||
*
|
||||
* @param channel The channel to get the mute state of
|
||||
* @return The mute state of the channel
|
||||
*
|
||||
*
|
||||
* @see edje_audio_channel_mute_set()
|
||||
*
|
||||
* @since 1.9
|
||||
|
@ -2127,4 +2233,3 @@ EAPI const char *edje_object_part_object_name_get(const Evas_Object *obj);
|
|||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
|
|
|
@ -32,36 +32,48 @@ typedef struct _Smart_Data_Colinfo Smart_Data_Colinfo;
|
|||
|
||||
struct _Smart_Data
|
||||
{
|
||||
Evas_Coord x, y, w, h;
|
||||
Eina_List *children;
|
||||
Evas_Object *smart_obj;
|
||||
int cols, rows;
|
||||
Evas_Coord x; /**< horizontal coordinate */
|
||||
Evas_Coord y; /**< vertical coordinate */
|
||||
Evas_Coord w; /**< width */
|
||||
Evas_Coord h; /**< height */
|
||||
Eina_List *children; /**< list of children */
|
||||
Evas_Object *smart_obj; /**< actual smart object */
|
||||
int cols; /**< columns count */
|
||||
int rows; /**< rows count */
|
||||
|
||||
Evas_Coord contents_w, contents_h;
|
||||
Evas_Coord min_row_h, max_row_h;
|
||||
Evas_Coord min_w, max_w, min_h, max_h;
|
||||
Evas_Coord contents_w; /**< contents width */
|
||||
Evas_Coord contents_h; /**< contents height */
|
||||
Evas_Coord min_row_h; /**< minimum row height */
|
||||
Evas_Coord max_row_h; /**< maximum row height */
|
||||
Evas_Coord min_w; /**< minimum width */
|
||||
Evas_Coord max_w; /**< maximum width */
|
||||
Evas_Coord min_h; /**< minimum height */
|
||||
Evas_Coord max_h; /**< maximum height */
|
||||
|
||||
Smart_Data_Colinfo *colinfo;
|
||||
|
||||
int freeze;
|
||||
|
||||
double scroll_x, scroll_y;
|
||||
double align_x, align_y;
|
||||
double scroll_x; /**< horizontal scroll */
|
||||
double scroll_y; /**< vertical scroll */
|
||||
double align_x; /**< horizontal alignment */
|
||||
double align_y; /**< vertical alignment */
|
||||
|
||||
unsigned char changed : 1;
|
||||
unsigned char change_child : 1;
|
||||
unsigned char change_child_list : 1;
|
||||
unsigned char change_cols : 1;
|
||||
unsigned char change_scroll : 1;
|
||||
unsigned char changed : 1; /**< some property changed */
|
||||
unsigned char change_child : 1; /**< a child changed */
|
||||
unsigned char change_child_list : 1; /**< child list changed */
|
||||
unsigned char change_cols : 1; /**< columns changed */
|
||||
unsigned char change_scroll : 1; /**< scroll changed */
|
||||
|
||||
unsigned char need_layout : 1;
|
||||
unsigned char need_layout : 1; /**< layout computation needed */
|
||||
|
||||
unsigned char homogenous : 1;
|
||||
unsigned char homogenous : 1; /**< homogeneous layout */
|
||||
};
|
||||
|
||||
struct _Smart_Data_Colinfo
|
||||
{
|
||||
Evas_Coord minw, maxw;
|
||||
Evas_Coord minw; /**< minimum width */
|
||||
Evas_Coord maxw; /**< maximum width */
|
||||
};
|
||||
|
||||
/* All items are virtual constructs that provide Evas_Objects at some point.
|
||||
|
@ -90,36 +102,42 @@ struct _Edje_Item_Class
|
|||
/* private */
|
||||
struct _Edje_Item
|
||||
{
|
||||
Edje_Item_Class *class;
|
||||
Edje_Item_Class *class; /**< item class */
|
||||
void *class_data;
|
||||
|
||||
void *sd;
|
||||
void *sd; /**< smart data */
|
||||
|
||||
void *data;
|
||||
|
||||
Evas_Object *object;
|
||||
Evas_Object *overlay_object;
|
||||
Evas_Object *object; /**< actual object */
|
||||
Evas_Object *overlay_object; /**< overlay object */
|
||||
int freeze;
|
||||
Evas_Coord y, h;
|
||||
Evas_Coord y; /**< vertical position */
|
||||
Evas_Coord h; /**< height */
|
||||
|
||||
Evas_Coord minh, maxh;
|
||||
Evas_Coord minh; /**< minimum height */
|
||||
Evas_Coord maxh; /**< maximum height */
|
||||
|
||||
int cells_num;
|
||||
int cells_num; /**< cells count */
|
||||
Edje_Item_Cell *cells;
|
||||
|
||||
unsigned char accessible : 1;
|
||||
|
||||
unsigned char recalc : 1;
|
||||
unsigned char selected : 1;
|
||||
unsigned char disabled : 1;
|
||||
unsigned char focused : 1;
|
||||
unsigned char selected : 1; /**< selected item */
|
||||
unsigned char disabled : 1; /**< disabled item */
|
||||
unsigned char focused : 1; /**< focused item */
|
||||
};
|
||||
|
||||
struct _Edje_Item_Cell
|
||||
{
|
||||
Evas_Object *obj;
|
||||
Evas_Coord x, w;
|
||||
Evas_Coord minw, minh, maxw, maxh;
|
||||
Evas_Object *obj; /**< actual cell object */
|
||||
Evas_Coord x; /**< horizontal position */
|
||||
Evas_Coord w; /**< width */
|
||||
Evas_Coord minw; /**< minimum width */
|
||||
Evas_Coord minh; /**< minimum height */
|
||||
Evas_Coord maxw; /**< maximum width */
|
||||
Evas_Coord maxh; /**< maximum height */
|
||||
};
|
||||
|
||||
/* here is an item for a vertical list - with 1 or more columns. this has 3 */
|
||||
|
|
|
@ -1,72 +1,98 @@
|
|||
#ifndef EDJE_CONVERT_H__
|
||||
# define EDJE_CONVERT_H__
|
||||
|
||||
typedef struct _Old_Edje_Image_Directory Old_Edje_Image_Directory;
|
||||
typedef struct _Old_Edje_Font_Directory Old_Edje_Font_Directory;
|
||||
typedef struct _Old_Edje_External_Directory Old_Edje_External_Directory;
|
||||
typedef struct _Old_Edje_Part Old_Edje_Part;
|
||||
typedef struct _Old_Edje_Part_Collection Old_Edje_Part_Collection;
|
||||
typedef struct _Old_Edje_Part_Description Old_Edje_Part_Description;
|
||||
typedef struct _Old_Edje_Part_Description_Spec_Image Old_Edje_Part_Description_Spec_Image;
|
||||
typedef struct _Edje_Data Edje_Data;
|
||||
typedef struct _Old_Edje_Image_Directory Old_Edje_Image_Directory; /**< An old Edje image directory */
|
||||
typedef struct _Old_Edje_Font_Directory Old_Edje_Font_Directory; /**< An old Edje font directory */
|
||||
typedef struct _Old_Edje_External_Directory Old_Edje_External_Directory; /**< An old Edje external directory */
|
||||
typedef struct _Old_Edje_Part Old_Edje_Part; /**< An old Edje part */
|
||||
typedef struct _Old_Edje_Part_Collection Old_Edje_Part_Collection; /**< An old Edje part collection */
|
||||
typedef struct _Old_Edje_Part_Description Old_Edje_Part_Description; /**< An old Edje part description */
|
||||
typedef struct _Old_Edje_Part_Description_Spec_Image Old_Edje_Part_Description_Spec_Image; /**< An old Edje part description image */
|
||||
typedef struct _Edje_Data Edje_Data; /**< A key/value tuple */
|
||||
|
||||
|
||||
/**
|
||||
* @struct _Edje_Data
|
||||
* @brief A structure that stores a key/value tuple.
|
||||
*/
|
||||
struct _Edje_Data
|
||||
{
|
||||
const char *key;
|
||||
char *value;
|
||||
const char *key; /**< key name */
|
||||
char *value; /**< contents value */
|
||||
};
|
||||
|
||||
/*----------*/
|
||||
|
||||
/**
|
||||
* @struct _Old_Edje_Font_Directory
|
||||
* @brief A structure that stores old font directory entries.
|
||||
*/
|
||||
struct _Old_Edje_Font_Directory
|
||||
{
|
||||
Eina_List *entries; /* a list of Edje_Font_Directory_Entry */
|
||||
Eina_List *entries; /**< a list of Edje_Font_Directory_Entry */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Old_Edje_Image_Directory
|
||||
* @brief A structure that stores old image directory entries.
|
||||
*/
|
||||
struct _Old_Edje_Image_Directory
|
||||
{
|
||||
Eina_List *entries; /* a list of Edje_Image_Directory_Entry */
|
||||
Eina_List *sets; /* a list of Edje_Image_Directory_Set */
|
||||
Eina_List *entries; /**< a list of Edje_Image_Directory_Entry */
|
||||
Eina_List *sets; /**< a list of Edje_Image_Directory_Set */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Old_Edje_External_Directory
|
||||
* @brief A structure that stores old external directory entries.
|
||||
*/
|
||||
struct _Old_Edje_External_Directory
|
||||
{
|
||||
Eina_List *entries; /* a list of Edje_External_Directory_Entry */
|
||||
Eina_List *entries; /**< a list of Edje_External_Directory_Entry */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Old_Edje_File
|
||||
* @brief A structure that stores old Edje files information.
|
||||
*/
|
||||
struct _Old_Edje_File
|
||||
{
|
||||
const char *path;
|
||||
time_t mtime;
|
||||
const char *path; /**< path */
|
||||
time_t mtime; /**< modification time */
|
||||
|
||||
Old_Edje_External_Directory *external_dir;
|
||||
Old_Edje_Font_Directory *font_dir;
|
||||
Old_Edje_Image_Directory *image_dir;
|
||||
Edje_Part_Collection_Directory *collection_dir;
|
||||
Eina_List *data;
|
||||
Eina_List *styles;
|
||||
Eina_List *color_classes;
|
||||
Old_Edje_External_Directory *external_dir; /**< external directory */
|
||||
Old_Edje_Font_Directory *font_dir; /**< fonts directory */
|
||||
Old_Edje_Image_Directory *image_dir; /**< images directory */
|
||||
Edje_Part_Collection_Directory *collection_dir; /**< collection directory */
|
||||
Eina_List *data; /**< list of Edje_Data */
|
||||
Eina_List *styles; /**< list of Edje_Style */
|
||||
Eina_List *color_classes; /**< list of Edje_Color_Class */
|
||||
|
||||
const char *compiler;
|
||||
int version;
|
||||
int feature_ver;
|
||||
const char *compiler; /**< compiler name */
|
||||
int version; /**< Edje version */
|
||||
int feature_ver; /**< features version */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Old_Edje_Part_Collection
|
||||
* @brief A structure that stores old Edje part collection information.
|
||||
*/
|
||||
struct _Old_Edje_Part_Collection
|
||||
{
|
||||
Eina_List *programs; /* a list of Edje_Program */
|
||||
Eina_List *parts; /* a list of Edje_Part */
|
||||
Eina_List *data;
|
||||
Eina_List *programs; /**< a list of Edje_Program */
|
||||
Eina_List *parts; /**< a list of Edje_Part */
|
||||
Eina_List *data; /**< a list of Edje_Data */
|
||||
|
||||
int id; /* the collection id */
|
||||
int id; /**< the collection id */
|
||||
|
||||
Eina_Hash *alias; /* aliasing part*/
|
||||
Eina_Hash *alias; /**< aliasing part*/
|
||||
|
||||
struct {
|
||||
Edje_Size min, max;
|
||||
Edje_Size min; /**< minimum size */
|
||||
Edje_Size max; /**< maximum size */
|
||||
} prop;
|
||||
|
||||
int references;
|
||||
int references; /**< references count */
|
||||
#ifdef EDJE_PROGRAM_CACHE
|
||||
struct {
|
||||
Eina_Hash *no_matches;
|
||||
|
@ -74,70 +100,122 @@ struct _Old_Edje_Part_Collection
|
|||
} prog_cache;
|
||||
#endif
|
||||
|
||||
Embryo_Program *script; /* all the embryo script code for this group */
|
||||
const char *part;
|
||||
Embryo_Program *script; /**< all the embryo script code for this group */
|
||||
const char *part; /**< part name */
|
||||
|
||||
unsigned char script_only;
|
||||
unsigned char script_only; /**< script only */
|
||||
|
||||
unsigned char lua_script_only;
|
||||
unsigned char lua_script_only; /** LUA script only */
|
||||
|
||||
unsigned char checked : 1;
|
||||
unsigned char checked : 1; /**< contents checked and registered */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Old_Edje_Part
|
||||
* @brief A structure that stores old Edje part information.
|
||||
*/
|
||||
struct _Old_Edje_Part
|
||||
{
|
||||
const char *name; /* the name if any of the part */
|
||||
Old_Edje_Part_Description *default_desc; /* the part descriptor for default */
|
||||
Eina_List *other_desc; /* other possible descriptors */
|
||||
const char *name; /**< the name if any of the part */
|
||||
Old_Edje_Part_Description *default_desc; /**< the part descriptor for default */
|
||||
Eina_List *other_desc; /**< other possible descriptors */
|
||||
const char *source, *source2, *source3, *source4, *source5, *source6;
|
||||
int id; /* its id number */
|
||||
int clip_to_id; /* the part id to clip this one to */
|
||||
Edje_Part_Dragable dragable;
|
||||
Eina_List *items; /* packed items for box and table */
|
||||
unsigned char type; /* what type (image, rect, text) */
|
||||
unsigned char effect; /* 0 = plain... */
|
||||
unsigned char mouse_events; /* it will affect/respond to mouse events */
|
||||
unsigned char repeat_events; /* it will repeat events to objects below */
|
||||
Evas_Event_Flags ignore_flags;
|
||||
unsigned char scale; /* should certain properties scale with edje scale factor? */
|
||||
unsigned char precise_is_inside;
|
||||
unsigned char use_alternate_font_metrics;
|
||||
unsigned char pointer_mode;
|
||||
unsigned char entry_mode;
|
||||
unsigned char select_mode;
|
||||
unsigned char multiline;
|
||||
Edje_Part_Api api;
|
||||
int id; /**< its id number */
|
||||
int clip_to_id; /**< the part id to clip this one to */
|
||||
Edje_Part_Dragable dragable; /**< dragable part */
|
||||
Eina_List *items; /**< packed items for box and table */
|
||||
unsigned char type; /**< what type (image, rect, text) */
|
||||
unsigned char effect; /**< 0 = plain... */
|
||||
unsigned char mouse_events; /**< it will affect/respond to mouse events */
|
||||
unsigned char repeat_events; /**< it will repeat events to objects below */
|
||||
Evas_Event_Flags ignore_flags; /**< ignore flags */
|
||||
unsigned char scale; /**< should certain properties scale with edje scale factor? */
|
||||
unsigned char precise_is_inside; /**< whether is precisely inside */
|
||||
unsigned char use_alternate_font_metrics; /**< use alternate font metrics */
|
||||
unsigned char pointer_mode; /**< pointer mode */
|
||||
unsigned char entry_mode; /**< entry mode */
|
||||
unsigned char select_mode; /**< entry selection mode */
|
||||
unsigned char multiline; /**< multiline enabled */
|
||||
Edje_Part_Api api; /**< part API */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Old_Edje_Part_Description_Spec_Image
|
||||
* @brief A structure that stores old Edje part description image information.
|
||||
*/
|
||||
struct _Old_Edje_Part_Description_Spec_Image
|
||||
{
|
||||
Eina_List *tween_list; /* list of Edje_Part_Image_Id */
|
||||
int id; /* the image id to use */
|
||||
int scale_hint; /* evas scale hint */
|
||||
Eina_Bool set; /* if image condition it's content */
|
||||
Eina_List *tween_list; /**< list of Edje_Part_Image_Id */
|
||||
int id; /**< the image id to use */
|
||||
int scale_hint; /**< evas scale hint */
|
||||
Eina_Bool set; /**< if image condition it's content */
|
||||
|
||||
Edje_Part_Description_Spec_Border border;
|
||||
Edje_Part_Description_Spec_Fill fill;
|
||||
Edje_Part_Description_Spec_Border border; /**< border settings */
|
||||
Edje_Part_Description_Spec_Fill fill; /**< fill settings */
|
||||
};
|
||||
|
||||
/**
|
||||
* @struct _Old_Edje_Part_Description
|
||||
* @brief A structure that stores old Edje part description information.
|
||||
*/
|
||||
struct _Old_Edje_Part_Description
|
||||
{
|
||||
Edje_Part_Description_Common common;
|
||||
Old_Edje_Part_Description_Spec_Image image;
|
||||
Edje_Part_Description_Spec_Text text;
|
||||
Edje_Part_Description_Spec_Box box;
|
||||
Edje_Part_Description_Spec_Table table;
|
||||
Edje_Part_Description_Common common; /**< common part description */
|
||||
Old_Edje_Part_Description_Spec_Image image; /**< image part description */
|
||||
Edje_Part_Description_Spec_Text text; /**< text part description */
|
||||
Edje_Part_Description_Spec_Box box; /**< box part description */
|
||||
Edje_Part_Description_Spec_Table table; /**< table part description */
|
||||
|
||||
Eina_List *external_params; /* parameters for external objects */
|
||||
Eina_List *external_params; /**< list of Edje_External_Param */
|
||||
};
|
||||
|
||||
/**
|
||||
* Convert old Edje files into new Edje files.
|
||||
*
|
||||
* @param file an Eet_File to write the new Edje file to
|
||||
* @param oedf the old Edje file
|
||||
*
|
||||
* @return an Edje_File pointer to the converted file
|
||||
*/
|
||||
Edje_File *_edje_file_convert(Eet_File *file, Old_Edje_File *oedf);
|
||||
|
||||
/**
|
||||
* Convert old edje part collection into the new Edje file.
|
||||
*
|
||||
* @param file an Eet_File to write the new Edje file to
|
||||
* @param oedc The Old edje part collection
|
||||
*
|
||||
* @return a new Edje part collection
|
||||
*/
|
||||
Edje_Part_Collection *_edje_collection_convert(Edje_File *file,
|
||||
Old_Edje_Part_Collection *oedc);
|
||||
Old_Edje_Part_Collection *oedc);
|
||||
|
||||
/**
|
||||
* Convert old Edje part descripton into new format.
|
||||
*
|
||||
* @param type The edje par description common type
|
||||
* @param ce an edje collection directory entry
|
||||
* @param the old edje part descripton
|
||||
*
|
||||
* @return a new edje part descripton common
|
||||
*/
|
||||
Edje_Part_Description_Common *_edje_description_convert(int type,
|
||||
Edje_Part_Collection_Directory_Entry *ce,
|
||||
Old_Edje_Part_Description *oed);
|
||||
Edje_Part_Collection_Directory_Entry *ce,
|
||||
Old_Edje_Part_Description *oed);
|
||||
|
||||
/**
|
||||
* Get the current Edje file.
|
||||
*
|
||||
* @return the current Edje file
|
||||
*/
|
||||
const Edje_File *_edje_file_get(void);
|
||||
|
||||
/**
|
||||
* Set the current Edje file.
|
||||
*
|
||||
* @param edf the Edje file to set
|
||||
*
|
||||
*/
|
||||
void _edje_file_set(const Edje_File *edf);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -137,7 +137,15 @@ extern "C" {
|
|||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @def EET_VERSION_MAJOR
|
||||
* The major number of eet version
|
||||
*/
|
||||
#define EET_VERSION_MAJOR EFL_VERSION_MAJOR
|
||||
/**
|
||||
* @def EET_VERSION_MINOR
|
||||
* The minor number of eet version
|
||||
*/
|
||||
#define EET_VERSION_MINOR EFL_VERSION_MINOR
|
||||
/**
|
||||
* @typedef Eet_Version
|
||||
|
@ -210,7 +218,7 @@ typedef enum _Eet_Error
|
|||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* @defgroup Eet_Compression Eet Compression Levels
|
||||
* @ingroup Eet
|
||||
|
@ -233,14 +241,14 @@ typedef enum _Eet_Compression
|
|||
EET_COMPRESSION_HI = 9, /**< Slow but high compression level (Zlib) @since 1.7 */
|
||||
EET_COMPRESSION_VERYFAST = 10, /**< Very fast, but lower compression ratio (LZ4HC) @since 1.7 */
|
||||
EET_COMPRESSION_SUPERFAST = 11, /**< Very fast, but lower compression ratio (faster to compress than EET_COMPRESSION_VERYFAST) (LZ4) @since 1.7 */
|
||||
|
||||
|
||||
EET_COMPRESSION_LOW2 = 3, /**< Space filler for compatibility. Don't use it @since 1.7 */
|
||||
EET_COMPRESSION_MED1 = 4, /**< Space filler for compatibility. Don't use it @since 1.7 */
|
||||
EET_COMPRESSION_MED2 = 5, /**< Space filler for compatibility. Don't use it @since 1.7 */
|
||||
EET_COMPRESSION_HI1 = 7, /**< Space filler for compatibility. Don't use it @since 1.7 */
|
||||
EET_COMPRESSION_HI2 = 8 /**< Space filler for compatibility. Don't use it @since 1.7 */
|
||||
} Eet_Compression; /**< Eet compression modes @since 1.7 */
|
||||
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
@ -1457,6 +1465,7 @@ eet_data_image_header_read_cipher(Eet_File *ef,
|
|||
*
|
||||
* @param ef A valid eet file handle opened for reading.
|
||||
* @param name Name of the entry. eg: "/base/file_i_want".
|
||||
* @param cipher_key The key to use as cipher.
|
||||
* @param cspaces Returned pointer by Eet to a list of possible decoding colorspace finished by @c EET_COLORSPACE_ARGB8888. If @c NULL, only EET_COLORSPACE_ARGB8888 is supported.
|
||||
* @return 1 on successful get, 0 otherwise.
|
||||
*
|
||||
|
@ -1591,7 +1600,7 @@ eet_data_image_read_to_surface_cipher(Eet_File *ef,
|
|||
* @param row_stride The length of a pixels line in the destination surface.
|
||||
* @param cspace The color space of the pixels bsurface.
|
||||
* @param alpha A pointer to the int to hold the alpha flag.
|
||||
* @param compress A pointer to the int to hold the compression amount.
|
||||
* @param comp A pointer to the int to hold the compression amount.
|
||||
* @param quality A pointer to the int to hold the quality amount.
|
||||
* @param lossy A pointer to the int to hold the lossiness flag.
|
||||
* @return 1 on success, 0 otherwise.
|
||||
|
@ -1653,7 +1662,7 @@ eet_data_image_read_to_cspace_surface_cipher(Eet_File *ef,
|
|||
* @param row_stride The length of a pixels line in the destination surface.
|
||||
* @param cspace The color space of the pixel surface
|
||||
* @param alpha A pointer to the int to hold the alpha flag.
|
||||
* @param compress A pointer to the int to hold the compression amount.
|
||||
* @param comp A pointer to the int to hold the compression amount.
|
||||
* @param quality A pointer to the int to hold the quality amount.
|
||||
* @param lossy A pointer to the int to hold the lossiness flag.
|
||||
* @return 1 on success, 0 otherwise.
|
||||
|
@ -2606,24 +2615,168 @@ typedef struct _Eet_Data_Descriptor Eet_Data_Descriptor;
|
|||
*/
|
||||
typedef struct _Eet_Data_Descriptor_Class Eet_Data_Descriptor_Class;
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Hash_Foreach_Callback_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Hash_Foreach_Callback
|
||||
* @param h the hash
|
||||
* @param k the key
|
||||
* @param dt the data
|
||||
* @param fdt the data passed to the callback
|
||||
* @return an integer
|
||||
*/
|
||||
typedef int (*Eet_Descriptor_Hash_Foreach_Callback_Callback)(void *h, const char *k, void *dt, void *fdt);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Mem_Alloc_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Mem_Alloc
|
||||
* @param size is the size of memory to alloc on call of the callback
|
||||
*/
|
||||
typedef void * (*Eet_Descriptor_Mem_Alloc_Callback)(size_t size);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Mem_Free_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Mem_Alloc
|
||||
* @param mem must be a pointer to free on call of the callback
|
||||
*/
|
||||
typedef void (*Eet_Descriptor_Mem_Free_Callback)(void *mem);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Str_Alloc_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Str_Alloc
|
||||
* @param str must be the string to alloc
|
||||
* @return have must be an allocated char * for the given string
|
||||
*/
|
||||
typedef char * (*Eet_Descriptor_Str_Alloc_Callback)(const char *str);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Str_Free_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Str_Free
|
||||
* @param str must be an allocated string to free
|
||||
*/
|
||||
typedef void (*Eet_Descriptor_Str_Free_Callback)(const char *str);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_List_Next_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_List_Next
|
||||
* @param l must be a pointer to the list
|
||||
* @return must be a pointer to the list
|
||||
*/
|
||||
typedef void * (*Eet_Descriptor_List_Next_Callback)(void *l);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_List_Append_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_List_Append
|
||||
* @param l must be a pointer to the list
|
||||
* @param d the data to append to the list
|
||||
* @return must be a pointer to the list
|
||||
*/
|
||||
typedef void * (*Eet_Descriptor_List_Append_Callback)(void *l, void *d);
|
||||
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_List_Data_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_List_Data
|
||||
* @param l must be a pointer to the list
|
||||
* @return must be a pointer to the list
|
||||
*/
|
||||
typedef void * (*Eet_Descriptor_List_Data_Callback)(void *l);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_List_Free_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_List_Free
|
||||
* @param l must be a pointer to the list to free
|
||||
*/
|
||||
typedef void * (*Eet_Descriptor_List_Free_Callback)(void *l);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Hash_Foreach_Callback)
|
||||
*
|
||||
* Callback for Eet_Descriptor_Hash_Foreach
|
||||
* @param h the hash
|
||||
* @param func the function callback to call on each iteration
|
||||
* @param fdt the data to pass to the callbac setted in param func
|
||||
*/
|
||||
typedef void (*Eet_Descriptor_Hash_Foreach_Callback)(void *h, Eet_Descriptor_Hash_Foreach_Callback_Callback func, void *fdt);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Hash_Add_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Hash_Add
|
||||
* @param h the hash
|
||||
* @param k the key
|
||||
* @param d the data to associate with the 'k' key
|
||||
*/
|
||||
typedef void * (*Eet_Descriptor_Hash_Add_Callback)(void *h, const char *k, void *d);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Hash_Free_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Hash_Free
|
||||
* @param h the hash to free
|
||||
*/
|
||||
typedef void (*Eet_Descriptor_Hash_Free_Callback)(void *h);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Str_Alloc_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Str_Alloc
|
||||
* @param str the string to allocate
|
||||
* @return an allocated pointer to the string
|
||||
*/
|
||||
typedef char * (*Eet_Descriptor_Str_Direct_Alloc_Callback)(const char *str);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Str_Free_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Str_Free
|
||||
* @param str the string to free
|
||||
*/
|
||||
typedef void (*Eet_Descriptor_Str_Direct_Free_Callback)(const char *str);
|
||||
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Type_Get_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Type_Get
|
||||
* @param data data to pass to the callback
|
||||
* @param unknow Eina_Bool __FIXME__
|
||||
*/
|
||||
typedef const char * (*Eet_Descriptor_Type_Get_Callback)(const void *data, Eina_Bool *unknow);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Type_Set_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Type_Set
|
||||
* @param type the type to set
|
||||
* @param data to pass to the callback
|
||||
* @param unknow Eina_Bool __FIXME__
|
||||
*/
|
||||
typedef Eina_Bool (*Eet_Descriptor_Type_Set_Callback)(const char *type, void *data, Eina_Bool unknow);
|
||||
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Array_Alloc_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Array_Alloc
|
||||
* @param size The size of the array
|
||||
*/
|
||||
typedef void * (*Eet_Descriptor_Array_Alloc_Callback)(size_t size);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Descriptor_Array_Free_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Descriptor_Array_Free
|
||||
* @param size The size of the array
|
||||
*/
|
||||
typedef void (*Eet_Descriptor_Array_Free_Callback)(void *mem);
|
||||
/**
|
||||
* @struct _Eet_Data_Descriptor_Class
|
||||
|
@ -3006,6 +3159,15 @@ eet_data_write(Eet_File *ef,
|
|||
const void *data,
|
||||
int compress);
|
||||
|
||||
/**
|
||||
* @typedef Eet_Data_Descriptor_Class
|
||||
*
|
||||
* Callback protoype for Eet_Dump
|
||||
*
|
||||
* @param data to passe to the callback
|
||||
* @param str the string to dump
|
||||
*
|
||||
*/
|
||||
typedef void (*Eet_Dump_Callback)(void *data, const char *str);
|
||||
|
||||
/**
|
||||
|
@ -3702,7 +3864,8 @@ eet_data_read_cipher(Eet_File *ef,
|
|||
* @param edd The data descriptor handle to use when decoding.
|
||||
* @param name The key the data is stored under in the eet file.
|
||||
* @param cipher_key The key to use as cipher.
|
||||
* @param buffer Buffer
|
||||
* @param buffer Buffer.
|
||||
* @param buffer_size The buffer size.
|
||||
* @return A pointer to buffer if successful and NULL on error.
|
||||
*
|
||||
* This function decodes a data structure stored in an eet file, returning
|
||||
|
@ -4078,7 +4241,10 @@ struct _Eet_Node_Data
|
|||
*/
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new character node.
|
||||
* @param name Name of the node.
|
||||
* @param c Character value.
|
||||
* @return A new character node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4086,7 +4252,10 @@ eet_node_char_new(const char *name,
|
|||
char c);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new short node.
|
||||
* @param name Name of the node.
|
||||
* @param s short value.
|
||||
* @return A new short node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4094,7 +4263,10 @@ eet_node_short_new(const char *name,
|
|||
short s);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new integer node.
|
||||
* @param name Name of the node.
|
||||
* @param i integer value.
|
||||
* @return A new integer node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4102,7 +4274,10 @@ eet_node_int_new(const char *name,
|
|||
int i);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new long long integer node.
|
||||
* @param name Name of the node.
|
||||
* @param l long long integer value.
|
||||
* @return A new long long integer node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4110,7 +4285,10 @@ eet_node_long_long_new(const char *name,
|
|||
long long l);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new float node.
|
||||
* @param name Name of the node.
|
||||
* @param f float value.
|
||||
* @return A new float node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4118,7 +4296,10 @@ eet_node_float_new(const char *name,
|
|||
float f);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new double node.
|
||||
* @param name Name of the node.
|
||||
* @param d double value.
|
||||
* @return A new double node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4126,7 +4307,10 @@ eet_node_double_new(const char *name,
|
|||
double d);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new unsigned character node.
|
||||
* @param name Name of the node.
|
||||
* @param uc unsigned char value.
|
||||
* @return A new unsigned char node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4134,7 +4318,10 @@ eet_node_unsigned_char_new(const char *name,
|
|||
unsigned char uc);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new unsigned short node.
|
||||
* @param name Name of the node.
|
||||
* @param us unsigned short value.
|
||||
* @return A new unsigned short node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4142,7 +4329,10 @@ eet_node_unsigned_short_new(const char *name,
|
|||
unsigned short us);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new unsigned integer node.
|
||||
* @param name Name of the node.
|
||||
* @param ui unsigned integer value.
|
||||
* @return A new unsigned integer node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4150,7 +4340,10 @@ eet_node_unsigned_int_new(const char *name,
|
|||
unsigned int ui);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new unsigned long long integer node.
|
||||
* @param name Name of the node.
|
||||
* @param l unsigned long long integer value.
|
||||
* @return A new unsigned long long integer node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4158,7 +4351,10 @@ eet_node_unsigned_long_long_new(const char *name,
|
|||
unsigned long long l);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new string node.
|
||||
* @param name Name of the node.
|
||||
* @param str string value.
|
||||
* @return A new string node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4166,7 +4362,10 @@ eet_node_string_new(const char *name,
|
|||
const char *str);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new inlined string node.
|
||||
* @param name Name of the node.
|
||||
* @param str string value.
|
||||
* @return A new inlined string node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4174,14 +4373,19 @@ eet_node_inlined_string_new(const char *name,
|
|||
const char *str);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new empty node.
|
||||
* @param name Name of the node.
|
||||
* @return A new empty node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
eet_node_null_new(const char *name);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new list node.
|
||||
* @param name Name of the node.
|
||||
* @param nodes list of nodes.
|
||||
* @return A new list node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4189,7 +4393,11 @@ eet_node_list_new(const char *name,
|
|||
Eina_List *nodes);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new array node.
|
||||
* @param name Name of the node.
|
||||
* @param count number of nodes
|
||||
* @param nodes list of nodes.
|
||||
* @return A new array node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4198,7 +4406,10 @@ eet_node_array_new(const char *name,
|
|||
Eina_List *nodes);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new variable array node.
|
||||
* @param name Name of the node.
|
||||
* @param nodes list of nodes.
|
||||
* @return A new variable array node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4209,13 +4420,23 @@ eet_node_var_array_new(const char *name,
|
|||
* TODO FIX ME
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
/**
|
||||
* Create a new short node.
|
||||
* @param name Name of the node.
|
||||
* @param s short value.
|
||||
* @return A new short node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
eet_node_hash_new(const char *name,
|
||||
const char *key,
|
||||
Eet_Node *node);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* Create a new struct node.
|
||||
* @param name Name of the node.
|
||||
* @param nodes list of nodes.
|
||||
* @return A new struct node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
|
@ -4226,6 +4447,13 @@ eet_node_struct_new(const char *name,
|
|||
* TODO FIX ME
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
/**
|
||||
* Create a new short node.
|
||||
* @param name Name of the node.
|
||||
* @param s short value.
|
||||
* @return A new short node.
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI Eet_Node *
|
||||
eet_node_struct_child_new(const char *parent,
|
||||
Eet_Node *child);
|
||||
|
@ -4260,7 +4488,7 @@ EAPI Eet_Node *
|
|||
eet_node_parent_get(Eet_Node *node);
|
||||
|
||||
/**
|
||||
* TODO FIX ME
|
||||
* @brief Append a "list" node TODO FIX ME
|
||||
* @ingroup Eet_Node_Group
|
||||
*/
|
||||
EAPI void
|
||||
|
@ -4368,9 +4596,37 @@ eet_data_node_write_cipher(Eet_File *ef,
|
|||
*/
|
||||
typedef struct _Eet_Node_Walk Eet_Node_Walk;
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Node_Walk_Struct_Alloc_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Node_Walk_Struct_Alloc
|
||||
* @param type The allocation type
|
||||
* @param user_data the data passed by the user to the callback
|
||||
*/
|
||||
typedef void * (*Eet_Node_Walk_Struct_Alloc_Callback)(const char *type, void *user_data);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Node_Walk_Struct_Add_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Node_Walk_Struct_Add
|
||||
* @param parent The parent node
|
||||
* @param name the name for the new node
|
||||
* @param child the child node
|
||||
* @param user_data the data passed by the user to the callback
|
||||
*/
|
||||
typedef void (*Eet_Node_Walk_Struct_Add_Callback)(void *parent, const char *name, void *child, void *user_data);
|
||||
|
||||
/**
|
||||
* @typedef (*Eet_Node_Walk_Array_Callback)
|
||||
*
|
||||
* Callback prototype for Eet_Node_Walk_Array
|
||||
* @param variable EINA_TRUE or EINA_FALSE
|
||||
* @param name a name
|
||||
* @param count a counter
|
||||
* @param user_data the data passed by the user to the callback
|
||||
*/
|
||||
typedef void * (*Eet_Node_Walk_Array_Callback)(Eina_Bool variable, const char *name, int count, void *user_data);
|
||||
|
||||
typedef void (*Eet_Node_Walk_Insert_Callback)(void *array, int index, void *child, void *user_data);
|
||||
typedef void * (*Eet_Node_Walk_List_Callback)(const char *name, void *user_data);
|
||||
typedef void (*Eet_Node_Walk_Append_Callback)(void *list, void *child, void *user_data);
|
||||
|
|
|
@ -289,13 +289,16 @@ typedef struct Eeze_Udev_Watch Eeze_Udev_Watch;
|
|||
|
||||
#define EEZE_VERSION_MAJOR EFL_VERSION_MAJOR
|
||||
#define EEZE_VERSION_MINOR EFL_VERSION_MINOR
|
||||
|
||||
/**
|
||||
* @typedef Eeeze_Version
|
||||
* Represents the current version of Eeze
|
||||
*/
|
||||
typedef struct _Eeze_Version
|
||||
{
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int revision;
|
||||
int major; /** < major (binary or source incompatible changes) */
|
||||
int minor; /** < minor (new features, bugfixes, major improvements version) */
|
||||
int micro; /** < micro (bugfix, internal improvements, no new features version) */
|
||||
int revision; /** < git revision (0 if a proper release or the git revision number Eeze is built from) */
|
||||
} Eeze_Version;
|
||||
|
||||
EAPI extern Eeze_Version *eeze_version;
|
||||
|
|
|
@ -106,13 +106,16 @@ extern "C" {
|
|||
|
||||
#define EFREET_VERSION_MAJOR EFL_VERSION_MAJOR
|
||||
#define EFREET_VERSION_MINOR EFL_VERSION_MINOR
|
||||
|
||||
/**
|
||||
* @typedef Efreet_Version
|
||||
* Represents the current version of Efreet
|
||||
*/
|
||||
typedef struct _Efreet_Version
|
||||
{
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int revision;
|
||||
int major; /** < major (binary or source incompatible changes) */
|
||||
int minor; /** < minor (new features, bugfixes, major improvements version) */
|
||||
int micro; /** < micro (bugfix, internal improvements, no new features version) */
|
||||
int revision; /** < git revision (0 if a proper release or the git revision number Efreet is built from) */
|
||||
} Efreet_Version;
|
||||
|
||||
EAPI extern Efreet_Version *efreet_version;
|
||||
|
|
|
@ -66,6 +66,7 @@
|
|||
* Linux, BSD, Opensolaris and Windows (XP and CE).
|
||||
*
|
||||
* The data types that are available are (see @ref Eina_Data_Types_Group):
|
||||
* @li @ref Eina_Fp_Group standard floating point numbers.
|
||||
* @li @ref Eina_Inline_Array_Group standard array of inlined members.
|
||||
* @li @ref Eina_Array_Group standard array of @c void* data.
|
||||
* @li @ref Eina_Hash_Group standard hash of @c void* data.
|
||||
|
@ -86,6 +87,7 @@
|
|||
* @li @ref Eina_Benchmark_Group helper to write benchmarks.
|
||||
* @li @ref Eina_Convert_Group faster conversion from strings to integers, double, etc.
|
||||
* @li @ref Eina_Counter_Group measures number of calls and their time.
|
||||
* @li @ref Eina_Cpu_Group Cpu and architecture related helpers.
|
||||
* @li @ref Eina_Error_Group error identifiers.
|
||||
* @li @ref Eina_File_Group simple file list and path split.
|
||||
* @li @ref Eina_Lalloc_Group simple lazy allocator.
|
||||
|
|
|
@ -19,8 +19,30 @@
|
|||
#ifndef EINA_CPU_H_
|
||||
#define EINA_CPU_H_
|
||||
|
||||
/**
|
||||
* @addtogroup Eina_Cpu_Group Cpu
|
||||
*
|
||||
* @brief Cpu and architecture related helpers
|
||||
*/
|
||||
|
||||
/**
|
||||
* @addtogroup Eina_Tools_Group Tools
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup Eina_Cpu_Group Cpu
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "eina_types.h"
|
||||
|
||||
/**
|
||||
* @typedef Eina_Cpu_Features
|
||||
* Enumerates different hardware architectures.
|
||||
*/
|
||||
typedef enum _Eina_Cpu_Features
|
||||
{
|
||||
EINA_CPU_MMX = 0x00000001,
|
||||
|
@ -36,16 +58,78 @@ typedef enum _Eina_Cpu_Features
|
|||
EINA_CPU_SSE42 = 0x00000200
|
||||
} Eina_Cpu_Features;
|
||||
|
||||
/**
|
||||
* @brief Global hardware architecture handler
|
||||
*
|
||||
* @return the current cpu features
|
||||
*/
|
||||
EAPI extern Eina_Cpu_Features eina_cpu_features;
|
||||
|
||||
/**
|
||||
* @brief Cpu features accessor
|
||||
*
|
||||
* @return the current cpu features
|
||||
*/
|
||||
EAPI Eina_Cpu_Features eina_cpu_features_get(void);
|
||||
|
||||
/**
|
||||
* @brief Get the current number of precessors
|
||||
*
|
||||
* @return the number of processors that are online, that
|
||||
* is available when the function is called.
|
||||
*/
|
||||
EAPI int eina_cpu_count(void);
|
||||
|
||||
/**
|
||||
* @brief Get the current virtual page size
|
||||
*
|
||||
* @return the fixed length that represents the smallest unit of data for memory
|
||||
* allocation performed by the operating system on behalf of the program, and
|
||||
* for transfers between the main memory and any other auxiliary store.
|
||||
*/
|
||||
EAPI int eina_cpu_page_size(void);
|
||||
|
||||
/**
|
||||
* @brief Reverses the byte order of a 16-bit (destination) register.
|
||||
*
|
||||
* @param x The binary word to swap
|
||||
* @return a byte order swapped 16-bit integer.
|
||||
*
|
||||
* On big endian systems, the number is converted to little endian byte order.
|
||||
* On little endian systems, the number is converted to big endian byte order.
|
||||
*/
|
||||
static inline unsigned short eina_swap16(unsigned short x);
|
||||
|
||||
/**
|
||||
* @brief Reverses the byte order of a 32-bit (destination) register.
|
||||
*
|
||||
* @param x The binary word to swap
|
||||
* @return a byte order swapped 32-bit integer.
|
||||
*
|
||||
* On big endian systems, the number is converted to little endian byte order.
|
||||
* On little endian systems, the number is converted to big endian byte order.
|
||||
*/
|
||||
static inline unsigned int eina_swap32(unsigned int x);
|
||||
|
||||
/**
|
||||
* @brief Reverses the byte order of a 64-bit (destination) register.
|
||||
*
|
||||
* @param x The binary word to swap
|
||||
* @return a byte order swapped 64-bit integer.
|
||||
*
|
||||
* On big endian systems, the number is converted to little endian byte order.
|
||||
* On little endian systems, the number is converted to big endian byte order.
|
||||
*/
|
||||
static inline unsigned long long eina_swap64(unsigned long long x);
|
||||
|
||||
#include "eina_inline_cpu.x"
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* EINA_CPU_H_ */
|
||||
|
|
|
@ -20,6 +20,24 @@
|
|||
#ifndef EINA_FP_H_
|
||||
# define EINA_FP_H_
|
||||
|
||||
/**
|
||||
* @addtogroup Eina_Fp_Group Fp
|
||||
*
|
||||
* @brief Floating point numbers data type management.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @addtogroup Eina_Data_Types_Group Data Types
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup Eina_Fp_Group Fp
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
#include "eina_types.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
@ -30,83 +48,436 @@ typedef signed int int32_t;
|
|||
# include <stdint.h>
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def EINA_F32P32_PI
|
||||
* @brief Yields the 32-bit PI constant
|
||||
*/
|
||||
#define EINA_F32P32_PI 0x00000003243f6a89
|
||||
|
||||
/**
|
||||
* @typedef Eina_F32p32
|
||||
* Type for floating point number where the size of the integer part is 32-bit
|
||||
* and the size of the decimal part is 32-bit
|
||||
*/
|
||||
typedef int64_t Eina_F32p32;
|
||||
|
||||
/**
|
||||
* @typedef Eina_F16p16
|
||||
* Type for floating point number where the size of the integer part is 16-bit
|
||||
* and the size of the decimal part is 16-bit
|
||||
*/
|
||||
typedef int32_t Eina_F16p16;
|
||||
|
||||
/**
|
||||
* @typedef Eina_F8p24
|
||||
* Type for floating point number where the size of the integer part is 8-bit
|
||||
* and the size of the decimal part is 24bits
|
||||
*/
|
||||
typedef int32_t Eina_F8p24;
|
||||
|
||||
/**
|
||||
* @brief Create a new Eina_F32p32 floating point number from standard 32-bit
|
||||
* integer
|
||||
*
|
||||
* @param v 32-bit integer value to convert
|
||||
* @return The value converted into Eina_F32p32 format
|
||||
*/
|
||||
static inline Eina_F32p32 eina_f32p32_int_from(int32_t v);
|
||||
|
||||
/**
|
||||
* @brief Create a new standard 32-bit integer from Eina_F32p32 floating point
|
||||
* number
|
||||
*
|
||||
* @param v Eina_F32p32 value to convert
|
||||
* @return The value converted into 32-bit integer
|
||||
*/
|
||||
static inline int32_t eina_f32p32_int_to(Eina_F32p32 v);
|
||||
|
||||
/**
|
||||
* @brief Create a new Eina_F32p32 floating point number from standard double
|
||||
*
|
||||
* @param v double value to convert
|
||||
* @return The value converted into Eina_F32p32 format
|
||||
*/
|
||||
static inline Eina_F32p32 eina_f32p32_double_from(double v);
|
||||
|
||||
/**
|
||||
* @brief Create a new standard double from Eina_F32p32 floating point
|
||||
* number
|
||||
*
|
||||
* @param v Eina_F32p32 value to convert
|
||||
* @return The value converted into double
|
||||
*/
|
||||
static inline double eina_f32p32_double_to(Eina_F32p32 v);
|
||||
|
||||
static inline Eina_F32p32 eina_f32p32_add(Eina_F32p32 a,
|
||||
Eina_F32p32 b);
|
||||
static inline Eina_F32p32 eina_f32p32_sub(Eina_F32p32 a,
|
||||
Eina_F32p32 b);
|
||||
static inline Eina_F32p32 eina_f32p32_mul(Eina_F32p32 a,
|
||||
Eina_F32p32 b);
|
||||
static inline Eina_F32p32 eina_f32p32_scale(Eina_F32p32 a,
|
||||
int b);
|
||||
static inline Eina_F32p32 eina_f32p32_div(Eina_F32p32 a,
|
||||
Eina_F32p32 b);
|
||||
/**
|
||||
* @brief Calculates the sum of two Eina_F32p32 floating point numbers
|
||||
*
|
||||
* @param a The first number
|
||||
* @param b The second number
|
||||
* @return The sum result of the two numbers @p a + @p b
|
||||
*/
|
||||
static inline Eina_F32p32 eina_f32p32_add(Eina_F32p32 a, Eina_F32p32 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the substraction of two Eina_F32p32 floating point numbers
|
||||
*
|
||||
* @param a The first number
|
||||
* @param b The substracted number
|
||||
* @return The substaction result of the two numbers @p a - @p b
|
||||
*/
|
||||
static inline Eina_F32p32 eina_f32p32_sub(Eina_F32p32 a, Eina_F32p32 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the multiplication of two Eina_F32p32 floating point numbers
|
||||
*
|
||||
* @param a The first number
|
||||
* @param b The second number
|
||||
* @return The mutliplication result of the two numbers @p a * @p b
|
||||
*
|
||||
* To prevent overflow during multiplication we need to reduce the precision of
|
||||
* the fraction part Shift both values to only contain 16 bit of the fraction
|
||||
* part (rounded). After multiplication we again have a value with a 32-bit
|
||||
* fraction part.
|
||||
*/
|
||||
static inline Eina_F32p32 eina_f32p32_mul(Eina_F32p32 a, Eina_F32p32 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the scale multiplication of one Eina_F32p32 floating point
|
||||
* number with an integer
|
||||
*
|
||||
* @param a The Eina_F32p32 number
|
||||
* @param b The integer value
|
||||
* @return The mutliplication result of the two numbers @p a * @p b
|
||||
*/
|
||||
static inline Eina_F32p32 eina_f32p32_scale(Eina_F32p32 a, int b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the division of two Eina_F32p32 floating point numbers
|
||||
*
|
||||
* @param a The numerator number
|
||||
* @param b The denominator number
|
||||
* @return The division result of the two numbers @p a / @p b
|
||||
*/
|
||||
static inline Eina_F32p32 eina_f32p32_div(Eina_F32p32 a, Eina_F32p32 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the square root of an Eina_F32p32 floating point number
|
||||
*
|
||||
* @param a The number to calculate the square root from
|
||||
* @return The square root result for the number @p a
|
||||
*/
|
||||
static inline Eina_F32p32 eina_f32p32_sqrt(Eina_F32p32 a);
|
||||
|
||||
/**
|
||||
* @brief Get the absolute value of the integer part of and Eina_F32p32 floating
|
||||
* point number
|
||||
*
|
||||
* @param a The floating point number
|
||||
* @return The positive integer part of the number @p a
|
||||
*/
|
||||
static inline unsigned int eina_f32p32_fracc_get(Eina_F32p32 v);
|
||||
|
||||
// dont use llabs - issues if not on 64bit
|
||||
/**
|
||||
* @brief Get the absolute value of an Eina_F32p32 floating point number
|
||||
*
|
||||
* @param a The floating point number
|
||||
* @return The absolute value for the number @p a
|
||||
* @warning Has known issues on 64-bit architecture, prefer
|
||||
* eina_f32p32_fracc_get() instead
|
||||
*/
|
||||
#define eina_fp32p32_llabs(a) ((a < 0) ? -(a) : (a))
|
||||
|
||||
/**
|
||||
* @brief Calculates the cosinus of a floating point number
|
||||
*
|
||||
* @param a The angle in radians to calculate the cosinus from.
|
||||
* @return The cosinus value of the angle @p a
|
||||
*/
|
||||
EAPI Eina_F32p32 eina_f32p32_cos(Eina_F32p32 a);
|
||||
|
||||
/**
|
||||
* @brief Calculates the sinus of a floating point number
|
||||
*
|
||||
* @param a The angle in radians to calculate the sinus from.
|
||||
* @return The cosinus value of the angle @p a
|
||||
*/
|
||||
EAPI Eina_F32p32 eina_f32p32_sin(Eina_F32p32 a);
|
||||
|
||||
|
||||
/**
|
||||
* @def EINA_F16P16_ONE
|
||||
*
|
||||
* Yields the maximum 16-bit unsigned integer size (= 65536)
|
||||
*/
|
||||
#define EINA_F16P16_ONE (1 << 16)
|
||||
|
||||
/**
|
||||
* @def EINA_F16P16_HALF
|
||||
*
|
||||
* Yields the maximum 16-bit signed integer size (= 32768)
|
||||
*/
|
||||
#define EINA_F16P16_HALF (1 << 15)
|
||||
|
||||
/**
|
||||
* @brief Create a new Eina_F16p316 floating point number from standard 32-bit
|
||||
* integer
|
||||
*
|
||||
* @param v 32-bit integer value to convert
|
||||
* @return The value converted into Eina_F16p16 format
|
||||
*/
|
||||
static inline Eina_F16p16 eina_f16p16_int_from(int32_t v);
|
||||
|
||||
/**
|
||||
* @brief Create a new standard 32-bit integer from Eina_F16p16 floating point
|
||||
* number
|
||||
*
|
||||
* @param v Eina_F16p16 value to convert
|
||||
* @return The value converted into 32-bit integer
|
||||
*/
|
||||
static inline int32_t eina_f16p16_int_to(Eina_F16p16 v);
|
||||
|
||||
/**
|
||||
* @brief Create a new Eina_F16p16 floating point number from standard double
|
||||
*
|
||||
* @param v double value to convert
|
||||
* @return The value converted into Eina_F16p16 format
|
||||
*/
|
||||
static inline Eina_F16p16 eina_f16p16_double_from(double v);
|
||||
|
||||
/**
|
||||
* @brief Create a new standard double from Eina_F16p16 floating point
|
||||
* number
|
||||
*
|
||||
* @param v Eina_F16p16 value to convert
|
||||
* @return The value converted into double
|
||||
*/
|
||||
static inline double eina_f16p16_double_to(Eina_F16p16 v);
|
||||
|
||||
/**
|
||||
* @brief Create a new Eina_F16p16 floating point number from standard float
|
||||
*
|
||||
* @param v float value to convert
|
||||
* @return The value converted into Eina_F16p16 format
|
||||
*/
|
||||
static inline Eina_F16p16 eina_f16p16_float_from(float v);
|
||||
|
||||
/**
|
||||
* @brief Create a new standard float from Eina_F16p16 floating point
|
||||
* number
|
||||
*
|
||||
* @param v Eina_F16p16 value to convert
|
||||
* @return The value converted into float
|
||||
*/
|
||||
static inline float eina_f16p16_float_to(Eina_F16p16 v);
|
||||
|
||||
static inline Eina_F16p16 eina_f16p16_add(Eina_F16p16 a,
|
||||
Eina_F16p16 b);
|
||||
static inline Eina_F16p16 eina_f16p16_sub(Eina_F16p16 a,
|
||||
Eina_F16p16 b);
|
||||
static inline Eina_F16p16 eina_f16p16_mul(Eina_F16p16 a,
|
||||
Eina_F16p16 b);
|
||||
static inline Eina_F16p16 eina_f16p16_scale(Eina_F16p16 a,
|
||||
int b);
|
||||
static inline Eina_F16p16 eina_f16p16_div(Eina_F16p16 a,
|
||||
Eina_F16p16 b);
|
||||
/**
|
||||
* @brief Calculates the sum of two Eina_F16p16 floating point numbers
|
||||
*
|
||||
* @param a The first number
|
||||
* @param b The second number
|
||||
* @return The sum result of the two numbers @p a + @p b
|
||||
*/
|
||||
static inline Eina_F16p16 eina_f16p16_add(Eina_F16p16 a, Eina_F16p16 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the substraction of two Eina_F16p16 floating point numbers
|
||||
*
|
||||
* @param a The first number
|
||||
* @param b The substracted number
|
||||
* @return The substaction result of the two numbers @p a - @p b
|
||||
*/
|
||||
static inline Eina_F16p16 eina_f16p16_sub(Eina_F16p16 a, Eina_F16p16 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the multiplication of two Eina_F16p16 floating point numbers
|
||||
*
|
||||
* @param a The first number
|
||||
* @param b The second number
|
||||
* @return The mutliplication result of the two numbers @p a * @p b
|
||||
*/
|
||||
static inline Eina_F16p16 eina_f16p16_mul(Eina_F16p16 a, Eina_F16p16 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the scale multiplication of one Eina_F16p16 floating point
|
||||
* number with an integer
|
||||
*
|
||||
* @param a The Eina_F16p16 number
|
||||
* @param b The integer value
|
||||
* @return The mutliplication result of the two numbers @p a * @p b
|
||||
*/
|
||||
static inline Eina_F16p16 eina_f16p16_scale(Eina_F16p16 a, int b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the division of two Eina_F16p16 floating point numbers
|
||||
*
|
||||
* @param a The numerator number
|
||||
* @param b The denominator number
|
||||
* @return The division result of the two numbers @p a / @p b
|
||||
*/
|
||||
static inline Eina_F16p16 eina_f16p16_div(Eina_F16p16 a, Eina_F16p16 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the square root of an Eina_F16p16 floating point number
|
||||
*
|
||||
* @param a The number to calculate the square root from
|
||||
* @return The square root result for the number @p a
|
||||
*/
|
||||
static inline Eina_F16p16 eina_f16p16_sqrt(Eina_F16p16 a);
|
||||
|
||||
/**
|
||||
* @brief Get the absolute value of the integer part of and Eina_F16p16 floating
|
||||
* point number
|
||||
*
|
||||
* @param a The floating point number
|
||||
* @return The positive integer part of the number @p a
|
||||
*/
|
||||
static inline unsigned int eina_f16p16_fracc_get(Eina_F16p16 v);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Create a new Eina_F16p316 floating point number from standard 32-bit
|
||||
* integer
|
||||
*
|
||||
* @param v 32-bit integer value to convert
|
||||
* @return The value converted into Eina_F8p24 format
|
||||
*/
|
||||
static inline Eina_F8p24 eina_f8p24_int_from(int32_t v);
|
||||
|
||||
/**
|
||||
* @brief Create a new standard 32-bit integer from Eina_F8p24 floating point
|
||||
* number
|
||||
*
|
||||
* @param v Eina_F8p24 value to convert
|
||||
* @return The value converted into 32-bit integer
|
||||
*/
|
||||
static inline int32_t eina_f8p24_int_to(Eina_F8p24 v);
|
||||
|
||||
/**
|
||||
* @brief Create a new Eina_F8p24 floating point number from standard float
|
||||
*
|
||||
* @param v float value to convert
|
||||
* @return The value converted into Eina_F8p24 format
|
||||
*/
|
||||
static inline Eina_F8p24 eina_f8p24_float_from(float v);
|
||||
|
||||
/**
|
||||
* @brief Create a new standard float from Eina_F8p24 floating point number
|
||||
*
|
||||
* @param v Eina_F8p24 value to convert
|
||||
* @return The value converted into float
|
||||
*/
|
||||
static inline float eina_f8p24_float_to(Eina_F8p24 v);
|
||||
|
||||
static inline Eina_F8p24 eina_f8p24_add(Eina_F8p24 a,
|
||||
Eina_F8p24 b);
|
||||
static inline Eina_F8p24 eina_f8p24_sub(Eina_F8p24 a,
|
||||
Eina_F8p24 b);
|
||||
static inline Eina_F8p24 eina_f8p24_mul(Eina_F8p24 a,
|
||||
Eina_F8p24 b);
|
||||
static inline Eina_F8p24 eina_f8p24_scale(Eina_F8p24 a,
|
||||
int b);
|
||||
static inline Eina_F8p24 eina_f8p24_div(Eina_F8p24 a,
|
||||
Eina_F8p24 b);
|
||||
/**
|
||||
* @brief Calculates the sum of two Eina_F8p24 floating point numbers
|
||||
*
|
||||
* @param a The first number
|
||||
* @param b The second number
|
||||
* @return The sum result of the two numbers @p a + @p b
|
||||
*/
|
||||
static inline Eina_F8p24 eina_f8p24_add(Eina_F8p24 a, Eina_F8p24 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the substraction of two Eina_F8p24 floating point numbers
|
||||
*
|
||||
* @param a The first number
|
||||
* @param b The substracted number
|
||||
* @return The substaction result of the two numbers @p a - @p b
|
||||
*/
|
||||
static inline Eina_F8p24 eina_f8p24_sub(Eina_F8p24 a, Eina_F8p24 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the multiplication of two Eina_F8p24 floating point numbers
|
||||
*
|
||||
* @param a The first number
|
||||
* @param b The second number
|
||||
* @return The mutliplication result of the two numbers @p a * @p b
|
||||
*/
|
||||
static inline Eina_F8p24 eina_f8p24_mul(Eina_F8p24 a, Eina_F8p24 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the scale multiplication of one Eina_F8p24 floating point
|
||||
* number with an integer
|
||||
*
|
||||
* @param a The Eina_F16p16 number
|
||||
* @param b The integer value
|
||||
* @return The mutliplication result of the two numbers @p a * @p b
|
||||
*/
|
||||
static inline Eina_F8p24 eina_f8p24_scale(Eina_F8p24 a, int b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the division of two Eina_F8p24 floating point numbers
|
||||
*
|
||||
* @param a The numerator number
|
||||
* @param b The denominator number
|
||||
* @return The division result of the two numbers @p a / @p b
|
||||
*/
|
||||
static inline Eina_F8p24 eina_f8p24_div(Eina_F8p24 a, Eina_F8p24 b);
|
||||
|
||||
/**
|
||||
* @brief Calculates the square root of an Eina_F8p24 floating point number
|
||||
*
|
||||
* @param a The number to calculate the square root from
|
||||
* @return The square root result for the number @p a
|
||||
*/
|
||||
static inline Eina_F8p24 eina_f8p24_sqrt(Eina_F8p24 a);
|
||||
|
||||
/**
|
||||
* @brief Get the absolute value of the integer part of and Eina_F8p24 floating
|
||||
* point number
|
||||
*
|
||||
* @param a The floating point number
|
||||
* @return The positive integer part of the number @p a
|
||||
*/
|
||||
static inline unsigned int eina_f8p24_fracc_get(Eina_F8p24 v);
|
||||
|
||||
/**
|
||||
* @brief Converts an Eina_F16p16 floating point number into Eina_F32p32 format
|
||||
*
|
||||
* @param a The Eina_F16p16 floating point number
|
||||
* @return The converted Eina_F32p32 floating point number
|
||||
*/
|
||||
static inline Eina_F32p32 eina_f16p16_to_f32p32(Eina_F16p16 a);
|
||||
|
||||
/**
|
||||
* @brief Converts an Eina_F8p24 floating point number into Eina_F32p32 format
|
||||
*
|
||||
* @param a The Eina_F8p24 floating point number
|
||||
* @return The converted Eina_F32p32 floating point number
|
||||
*/
|
||||
static inline Eina_F32p32 eina_f8p24_to_f32p32(Eina_F8p24 a);
|
||||
|
||||
/**
|
||||
* @brief Converts an Eina_F32p32 floating point number into Eina_F16p16 format
|
||||
*
|
||||
* @param a The Eina_F32p32 floating point number
|
||||
* @return The converted Eina_F16p16 floating point number
|
||||
*/
|
||||
static inline Eina_F16p16 eina_f32p32_to_f16p16(Eina_F32p32 a);
|
||||
|
||||
/**
|
||||
* @brief Converts an Eina_F8p24 floating point number into Eina_F16p16 format
|
||||
*
|
||||
* @param a The Eina_F8p24 floating point number
|
||||
* @return The converted Eina_F16p16 floating point number
|
||||
*/
|
||||
static inline Eina_F16p16 eina_f8p24_to_f16p16(Eina_F8p24 a);
|
||||
|
||||
/**
|
||||
* @brief Converts an Eina_F32p32 floating point number into Eina_F8p24 format
|
||||
*
|
||||
* @param a The Eina_F32p32 floating point number
|
||||
* @return The converted Eina_F8p16 floating point number
|
||||
*/
|
||||
static inline Eina_F8p24 eina_f32p32_to_f8p24(Eina_F32p32 a);
|
||||
|
||||
/**
|
||||
* @brief Converts an Eina_F16p16 floating point number into Eina_F8p16 format
|
||||
*
|
||||
* @param a The Eina_F16p16 floating point number
|
||||
* @return The converted Eina_F8p16 floating point number
|
||||
*/
|
||||
static inline Eina_F8p24 eina_f16p16_to_f8p24(Eina_F16p16 a);
|
||||
|
||||
#include "eina_inline_f32p32.x"
|
||||
|
@ -114,4 +485,12 @@ static inline Eina_F8p24 eina_f16p16_to_f8p24(Eina_F16p16 a);
|
|||
#include "eina_inline_f8p24.x"
|
||||
#include "eina_inline_fp.x"
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
|
@ -64,16 +64,6 @@ eina_list_count(const Eina_List *list)
|
|||
return list->accounting->count;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Returns the last list node's data
|
||||
*
|
||||
* @param list The list
|
||||
* @return The node's data, or @c NULL on being passed a @c NULL pointer
|
||||
*
|
||||
* This macro is a shortcut for typing eina_list_data_get(eina_list_last())
|
||||
* @since 1.8
|
||||
*/
|
||||
static inline void *
|
||||
eina_list_last_data_get(const Eina_List *list)
|
||||
{
|
||||
|
|
|
@ -21,26 +21,36 @@
|
|||
|
||||
#include <string.h>
|
||||
|
||||
/**
|
||||
* @addtogroup Eina_Memory_Pool_Group Memory Pool
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/* Memory Pool */
|
||||
typedef struct _Eina_Mempool_Backend_ABI1 Eina_Mempool_Backend_ABI1;
|
||||
typedef struct _Eina_Mempool_Backend_ABI2 Eina_Mempool_Backend_ABI2;
|
||||
|
||||
struct _Eina_Mempool_Backend
|
||||
{
|
||||
/** Name of the mempool backend */
|
||||
const char *name;
|
||||
/** Function to initialize the backend. */
|
||||
void *(*init)(const char *context, const char *options, va_list args);
|
||||
/** Function to free memory back to the mempool. */
|
||||
void (*free)(void *data, void *element);
|
||||
/** Function to allocate memory from the mempool. */
|
||||
void *(*alloc)(void *data, unsigned int size);
|
||||
/** Function to change the size of a block of memory that is currently
|
||||
* allocated. */
|
||||
void *(*realloc)(void *data, void *element, unsigned int size);
|
||||
/** Function to trigger a garbage collection; can be NULL if the feature
|
||||
* isn't available in the backend. */
|
||||
void (*garbage_collect)(void *data);
|
||||
/** Report statistics on the content of the mempool; can be NULL if the
|
||||
* feature isn't available in the backend. */
|
||||
void (*statistics)(void *data);
|
||||
/** Function to destroy the backend, freeing memory back to the operating
|
||||
* system. */
|
||||
void (*shutdown)(void *data);
|
||||
/** Function to optimize the placement of objects in the mempool (it's
|
||||
* different from garbage_collect); can be NULL if the feature isn't
|
||||
* available in the backend.
|
||||
* @see Eina_Mempool_Repack_Cb */
|
||||
void (*repack)(void *data, Eina_Mempool_Repack_Cb cb, void *cb_data);
|
||||
};
|
||||
|
||||
|
@ -68,53 +78,18 @@ struct _Eina_Mempool
|
|||
Eina_Mempool_Backend_ABI2 *backend2;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Re-allocate an amount memory by the given mempool.
|
||||
*
|
||||
* @param mp The mempool.
|
||||
* @param element The element to re-allocate.
|
||||
* @param size The size in bytes to re-allocate.
|
||||
* @return The newly re-allocated data.
|
||||
*
|
||||
* This function re-allocates and returns @p element with @p size bytes using the
|
||||
* mempool @p mp. If not used anymore, the data must be freed with eina_mempool_free().
|
||||
* @warning No checks are done for @p mp.
|
||||
*/
|
||||
static inline void *
|
||||
eina_mempool_realloc(Eina_Mempool *mp, void *element, unsigned int size)
|
||||
{
|
||||
return mp->backend.realloc(mp->backend_data, element, size);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Allocate memory using the given mempool.
|
||||
*
|
||||
* @param mp The mempool.
|
||||
* @param size The size in bytes to allocate.
|
||||
* @return The newly allocated data.
|
||||
*
|
||||
* This function allocates and returns @p size bytes using the mempool @p mp.
|
||||
* If not used anymore, the data must be freed with eina_mempool_free().
|
||||
* @warning No checks are done for @p mp.
|
||||
*/
|
||||
static inline void *
|
||||
eina_mempool_malloc(Eina_Mempool *mp, unsigned int size)
|
||||
{
|
||||
return mp->backend.alloc(mp->backend_data, size);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Allocate and zero memory using the given mempool.
|
||||
*
|
||||
* @param mp The mempool.
|
||||
* @param size The size in bytes to allocate.
|
||||
* @return The newly allocated data.
|
||||
*
|
||||
* This function allocates, zeroes, and returns @p size bytes using the mempool @p mp.
|
||||
* If not used anymore, the data must be freed with eina_mempool_free().
|
||||
* @warning No checks are done for @p mp.
|
||||
* @since 1.2
|
||||
*/
|
||||
static inline void *
|
||||
eina_mempool_calloc(Eina_Mempool *mp, unsigned int size)
|
||||
{
|
||||
|
@ -124,17 +99,6 @@ eina_mempool_calloc(Eina_Mempool *mp, unsigned int size)
|
|||
return r;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Free resources previously allocated by the given mempool.
|
||||
*
|
||||
* @param mp The mempool.
|
||||
* @param element The data to free.
|
||||
*
|
||||
* This function frees @p element allocated by @p mp. @p element must
|
||||
* have been obtained from eina_mempool_malloc(), eina_mempool_calloc(), or
|
||||
* eina_mempool_realloc().
|
||||
* @warning No checks are done for @p mp.
|
||||
*/
|
||||
static inline void
|
||||
eina_mempool_free(Eina_Mempool *mp, void *element)
|
||||
{
|
||||
|
@ -174,8 +138,4 @@ eina_mempool_alignof(unsigned int size)
|
|||
return ((size / align) + (size % align ? 1 : 0)) * align;
|
||||
}
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
|
@ -19,61 +19,18 @@
|
|||
#ifndef EINA_INLINE_RECTANGLE_H__
|
||||
#define EINA_INLINE_RECTANGLE_H__
|
||||
|
||||
/**
|
||||
* @addtogroup Eina_Rectangle_Group Rectangle
|
||||
*
|
||||
* @brief These functions provide rectangle management.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Check if the given spans intersect.
|
||||
*
|
||||
* @param c1 The column of the first span.
|
||||
* @param l1 The length of the first span.
|
||||
* @param c2 The column of the second span.
|
||||
* @param l2 The length of the second span.
|
||||
* @return #EINA_TRUE on success, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if the given spans intersect, #EINA_FALSE
|
||||
* otherwise.
|
||||
*/
|
||||
static inline int
|
||||
eina_spans_intersect(int c1, int l1, int c2, int l2)
|
||||
{
|
||||
return (!(((c2 + l2) <= c1) || (c2 >= (c1 + l1))));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Check if the given rectangle is empty.
|
||||
*
|
||||
* @param r The rectangle to check.
|
||||
* @return #EINA_TRUE if the rectangle is empty, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if @p r is empty, #EINA_FALSE
|
||||
* otherwise. No check is done on @p r, so it must be a valid
|
||||
* rectangle.
|
||||
*/
|
||||
static inline Eina_Bool
|
||||
eina_rectangle_is_empty(const Eina_Rectangle *r)
|
||||
{
|
||||
return ((r->w < 1) || (r->h < 1)) ? EINA_TRUE : EINA_FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Set the coordinates and size of the given rectangle.
|
||||
*
|
||||
* @param r The rectangle.
|
||||
* @param x The top-left x coordinate of the rectangle.
|
||||
* @param y The top-left y coordinate of the rectangle.
|
||||
* @param w The width of the rectangle.
|
||||
* @param h The height of the rectangle.
|
||||
*
|
||||
* This function sets its top-left x coordinate to @p x, its top-left
|
||||
* y coordinate to @p y, its width to @p w and its height to @p h. No
|
||||
* check is done on @p r, so it must be a valid rectangle.
|
||||
*/
|
||||
static inline void
|
||||
eina_rectangle_coords_from(Eina_Rectangle *r, int x, int y, int w, int h)
|
||||
{
|
||||
|
@ -83,85 +40,30 @@ eina_rectangle_coords_from(Eina_Rectangle *r, int x, int y, int w, int h)
|
|||
r->h = h;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Check if the given rectangles intersect.
|
||||
*
|
||||
* @param r1 The first rectangle.
|
||||
* @param r2 The second rectangle.
|
||||
* @return #EINA_TRUE if the rectangles intersect, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if @p r1 and @p r2 intersect, #EINA_FALSE
|
||||
* otherwise. No check is done on @p r1 and @p r2, so they must be valid
|
||||
* rectangles.
|
||||
*/
|
||||
static inline Eina_Bool
|
||||
eina_rectangles_intersect(const Eina_Rectangle *r1, const Eina_Rectangle *r2)
|
||||
{
|
||||
return (eina_spans_intersect(r1->x, r1->w, r2->x, r2->w) && eina_spans_intersect(r1->y, r1->h, r2->y, r2->h)) ? EINA_TRUE : EINA_FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Check if the given x-coordinate is in the rectangle .
|
||||
*
|
||||
* @param r The rectangle.
|
||||
* @param x The x coordinate.
|
||||
* @return #EINA_TRUE on success, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if @p x is in @p r with respect to
|
||||
* the horizontal direction, #EINA_FALSE otherwise. No check is done
|
||||
* on @p r, so it must be a valid rectangle.
|
||||
*/
|
||||
static inline Eina_Bool
|
||||
eina_rectangle_xcoord_inside(const Eina_Rectangle *r, int x)
|
||||
{
|
||||
return ((x >= r->x) && (x < (r->x + r->w))) ? EINA_TRUE : EINA_FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Check if the given y-coordinate is in the rectangle .
|
||||
*
|
||||
* @param r The rectangle.
|
||||
* @param y The y coordinate.
|
||||
* @return #EINA_TRUE on success, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if @p y is in @p r with respect to
|
||||
* the vertical direction, #EINA_FALSE otherwise. No check is done
|
||||
* on @p r, so it must be a valid rectangle.
|
||||
*/
|
||||
static inline Eina_Bool
|
||||
eina_rectangle_ycoord_inside(const Eina_Rectangle *r, int y)
|
||||
{
|
||||
return ((y >= r->y) && (y < (r->y + r->h))) ? EINA_TRUE : EINA_FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Check if the given point is in the rectangle .
|
||||
*
|
||||
* @param r The rectangle.
|
||||
* @param x The x coordinate of the point.
|
||||
* @param y The y coordinate of the point.
|
||||
* @return #EINA_TRUE on success, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if the point of coordinate (@p x,
|
||||
* @p y) is in @p r, #EINA_FALSE otherwise. No check is done on @p r,
|
||||
* so it must be a valid rectangle.
|
||||
*/
|
||||
static inline Eina_Bool
|
||||
eina_rectangle_coords_inside(const Eina_Rectangle *r, int x, int y)
|
||||
{
|
||||
return (eina_rectangle_xcoord_inside(r, x) && eina_rectangle_ycoord_inside(r, y)) ? EINA_TRUE : EINA_FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get the union of two rectangles.
|
||||
*
|
||||
* @param dst The first rectangle.
|
||||
* @param src The second rectangle.
|
||||
*
|
||||
* This function get the union of the rectangles @p dst and @p src. The
|
||||
* result is stored in @p dst. No check is done on @p dst or @p src,
|
||||
* so they must be valid rectangles.
|
||||
*/
|
||||
static inline void
|
||||
eina_rectangle_union(Eina_Rectangle *dst, const Eina_Rectangle *src)
|
||||
{
|
||||
|
@ -185,18 +87,6 @@ eina_rectangle_union(Eina_Rectangle *dst, const Eina_Rectangle *src)
|
|||
dst->h = src->y + src->h - dst->y;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get the intersection of two rectangles.
|
||||
*
|
||||
* @param dst The first rectangle.
|
||||
* @param src The second rectangle.
|
||||
* @return #EINA_TRUE if the rectangles intersect, #EINA_FALSE
|
||||
* otherwise.
|
||||
*
|
||||
* This function get the intersection of the rectangles @p dst and
|
||||
* @p src. The result is stored in @p dst. No check is done on @p dst
|
||||
* or @p src, so they must be valid rectangles.
|
||||
*/
|
||||
static inline Eina_Bool
|
||||
eina_rectangle_intersection(Eina_Rectangle *dst, const Eina_Rectangle *src)
|
||||
{
|
||||
|
@ -319,16 +209,6 @@ eina_rectangle_height_cut(Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rect
|
|||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Subtract two rectangles.
|
||||
*
|
||||
* @param thiz The minuend rectangle
|
||||
* @param other The subtrahend rectangle
|
||||
*
|
||||
* This function subtract two rectangles. The difference is stored on @p out
|
||||
* There will be at most four differences, use eina_rectangle_is_valid to
|
||||
* confirm the number of differences.
|
||||
*/
|
||||
static inline Eina_Bool
|
||||
eina_rectangle_subtract(Eina_Rectangle *thiz, Eina_Rectangle *other, Eina_Rectangle out[4])
|
||||
{
|
||||
|
@ -385,8 +265,4 @@ eina_rectangle_subtract(Eina_Rectangle *thiz, Eina_Rectangle *other, Eina_Rectan
|
|||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1267,6 +1267,16 @@ static inline void *eina_list_data_set(Eina_List *list, const void *data)
|
|||
*/
|
||||
static inline unsigned int eina_list_count(const Eina_List *list) EINA_PURE;
|
||||
|
||||
/**
|
||||
* @brief Returns the last list node's data
|
||||
*
|
||||
* @param list The list
|
||||
* @return The node's data, or @c NULL on being passed a @c NULL pointer
|
||||
*
|
||||
* This macro is a shortcut for typing eina_list_data_get(eina_list_last())
|
||||
* @since 1.8
|
||||
*/
|
||||
static inline void *eina_list_last_data_get(const Eina_List *list);
|
||||
|
||||
/**
|
||||
* @brief Returned a new iterator associated to a list.
|
||||
|
|
|
@ -39,8 +39,8 @@
|
|||
* @li @c pass_through: it just call malloc() and free(). It may be
|
||||
* faster on some computers than using our own allocators (like having
|
||||
* a huge L2 cache, over 4MB).
|
||||
* @li @c one_big: It call just one time malloc for the requested number
|
||||
* of items. Useful when you know in advance how many object of some
|
||||
* @li @c one_big: It calls just one time malloc for the requested number
|
||||
* of items. Useful when you know in advance how many objects of some
|
||||
* type will live during the life of the mempool.
|
||||
*/
|
||||
|
||||
|
@ -71,29 +71,154 @@ typedef struct _Eina_Mempool_Backend Eina_Mempool_Backend;
|
|||
|
||||
/**
|
||||
* @typedef Eina_Mempool_Repack_Cb
|
||||
* Type for a callback who need to unreference an old object from a mempool
|
||||
* and reference the new one instead. Memcpy is taken care by the mempool.
|
||||
*
|
||||
* Type for a callback which is called when the mempool "repacks" its data,
|
||||
* i.e. moves it around to optimize the way it is stored in memory. This is
|
||||
* useful to improve data locality and to free internal pools back to the OS.
|
||||
*
|
||||
* The callback needs to update users of the data to stop accessing the object
|
||||
* from the old location and access it using the new location instead. The copy
|
||||
* of memory is taken care of by the mempool.
|
||||
*/
|
||||
typedef void (*Eina_Mempool_Repack_Cb)(void *dst, void *src, void *data);
|
||||
|
||||
EAPI extern Eina_Error EINA_ERROR_NOT_MEMPOOL_MODULE;
|
||||
|
||||
EAPI Eina_Mempool *eina_mempool_add(const char *module, const char *context, const char *options, ...) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
|
||||
/**
|
||||
*
|
||||
* @brief Create a new mempool of the given type
|
||||
*
|
||||
* @param name Name of the mempool kind to use.
|
||||
* @param context Identifier of the mempool created (for debug purposes).
|
||||
* @param options Unused. Use the variable arguments list instead to pass options to the mempool.
|
||||
* @param ... Additional options to pass to the allocator; depends entirely on the type of mempool ("int pool size" for chained and "int item_size" for one_big.
|
||||
* @return Newly allocated mempool instance, NULL otherwise.
|
||||
*
|
||||
*/
|
||||
EAPI Eina_Mempool *eina_mempool_add(const char *name, const char *context, const char *options, ...) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Delete the given mempool.
|
||||
*
|
||||
* @param mp The mempool to delete
|
||||
*
|
||||
*/
|
||||
EAPI void eina_mempool_del(Eina_Mempool *mp) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Re-allocate an amount memory by the given mempool.
|
||||
*
|
||||
* @param mp The mempool.
|
||||
* @param element The element to re-allocate.
|
||||
* @param size The size in bytes to re-allocate.
|
||||
* @return The newly re-allocated data.
|
||||
*
|
||||
* This function re-allocates and returns @p element with @p size bytes using the
|
||||
* mempool @p mp. If not used anymore, the data must be freed with eina_mempool_free().
|
||||
* @warning No checks are done for @p mp.
|
||||
*/
|
||||
static inline void *eina_mempool_realloc(Eina_Mempool *mp, void *element, unsigned int size) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Allocate memory using the given mempool.
|
||||
*
|
||||
* @param mp The mempool.
|
||||
* @param size The size in bytes to allocate.
|
||||
* @return The newly allocated data.
|
||||
*
|
||||
* This function allocates and returns @p size bytes using the mempool @p mp.
|
||||
* If not used anymore, the data must be freed with eina_mempool_free().
|
||||
* @warning No checks are done for @p mp.
|
||||
*/
|
||||
static inline void *eina_mempool_malloc(Eina_Mempool *mp, unsigned int size) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Allocate and zero memory using the given mempool.
|
||||
*
|
||||
* @param mp The mempool.
|
||||
* @param size The size in bytes to allocate.
|
||||
* @return The newly allocated data.
|
||||
*
|
||||
* This function allocates, zeroes, and returns @p size bytes using the mempool @p mp.
|
||||
* If not used anymore, the data must be freed with eina_mempool_free().
|
||||
* @warning No checks are done for @p mp.
|
||||
* @since 1.2
|
||||
*/
|
||||
static inline void *eina_mempool_calloc(Eina_Mempool *mp, unsigned int size) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Free resources previously allocated by the given mempool.
|
||||
*
|
||||
* @param mp The mempool.
|
||||
* @param element The data to free.
|
||||
*
|
||||
* This function frees @p element allocated by @p mp. @p element must
|
||||
* have been obtained from eina_mempool_malloc(), eina_mempool_calloc(), or
|
||||
* eina_mempool_realloc().
|
||||
* @warning No checks are done for @p mp.
|
||||
*/
|
||||
static inline void eina_mempool_free(Eina_Mempool *mp, void *element) EINA_ARG_NONNULL(1);
|
||||
|
||||
EAPI void eina_mempool_repack(Eina_Mempool *mp,
|
||||
Eina_Mempool_Repack_Cb cb,
|
||||
void *data) EINA_ARG_NONNULL(1, 2);
|
||||
/**
|
||||
* @brief Repack the objects in the mempool.
|
||||
*
|
||||
* @param mp The mempool
|
||||
* @param cb A callback to update the pointers the objects with their new location.
|
||||
* @param data Data to pass as third argument to @p cb.
|
||||
*
|
||||
* @see Eina_Mempool_Repack_Cb
|
||||
* @see _Eina_Mempool_Backend
|
||||
*
|
||||
*/
|
||||
EAPI void eina_mempool_repack(Eina_Mempool *mp, Eina_Mempool_Repack_Cb cb, void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Run a garbage collection cycle.
|
||||
*
|
||||
* @param mp The mempool
|
||||
*
|
||||
*/
|
||||
EAPI void eina_mempool_gc(Eina_Mempool *mp) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Have the backend update its internal statistics.
|
||||
*
|
||||
* @param mp The mempool
|
||||
*
|
||||
*/
|
||||
EAPI void eina_mempool_statistics(Eina_Mempool *mp) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Register the given memory pool backend.
|
||||
*
|
||||
* @param be The backend
|
||||
* @return #EINA_TRUE if backend has been correctly registered, #EINA_FALSE
|
||||
* otherwise.
|
||||
*
|
||||
*/
|
||||
EAPI Eina_Bool eina_mempool_register(Eina_Mempool_Backend *be) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Unregister the given memory pool backend.
|
||||
*
|
||||
* @param be The backend
|
||||
*
|
||||
*/
|
||||
EAPI void eina_mempool_unregister(Eina_Mempool_Backend *be) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Computer the alignment that would be used when allocating a object of size @p size.
|
||||
*
|
||||
* @param size
|
||||
* @return The alignment for an allocation of size @p size.
|
||||
*
|
||||
*/
|
||||
static inline unsigned int eina_mempool_alignof(unsigned int size);
|
||||
|
||||
#include "eina_inline_mempool.x"
|
||||
|
|
|
@ -74,24 +74,269 @@ typedef enum {
|
|||
Eina_Packing_Bottom_Left_Skyline_Improved /**< optimized bottemleft skyline */
|
||||
} Eina_Rectangle_Packing;
|
||||
|
||||
/**
|
||||
* @brief Check if the given spans intersect.
|
||||
*
|
||||
* @param c1 The column of the first span.
|
||||
* @param l1 The length of the first span.
|
||||
* @param c2 The column of the second span.
|
||||
* @param l2 The length of the second span.
|
||||
* @return #EINA_TRUE on success, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if the given spans intersect, #EINA_FALSE
|
||||
* otherwise.
|
||||
*/
|
||||
static inline int eina_spans_intersect(int c1, int l1, int c2, int l2) EINA_WARN_UNUSED_RESULT;
|
||||
static inline Eina_Bool eina_rectangle_is_empty(const Eina_Rectangle *r) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
static inline void eina_rectangle_coords_from(Eina_Rectangle *r, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
|
||||
static inline Eina_Bool eina_rectangles_intersect(const Eina_Rectangle *r1, const Eina_Rectangle *r2) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
|
||||
static inline Eina_Bool eina_rectangle_xcoord_inside(const Eina_Rectangle *r, int x) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
static inline Eina_Bool eina_rectangle_ycoord_inside(const Eina_Rectangle *r, int y) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
static inline Eina_Bool eina_rectangle_coords_inside(const Eina_Rectangle *r, int x, int y) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
static inline void eina_rectangle_union(Eina_Rectangle *dst, const Eina_Rectangle *src) EINA_ARG_NONNULL(1, 2);
|
||||
static inline Eina_Bool eina_rectangle_intersection(Eina_Rectangle *dst, const Eina_Rectangle *src) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
|
||||
static inline void eina_rectangle_rescale_in(const Eina_Rectangle *out, const Eina_Rectangle *in, Eina_Rectangle *res) EINA_ARG_NONNULL(1, 2, 3);
|
||||
static inline void eina_rectangle_rescale_out(const Eina_Rectangle *out, const Eina_Rectangle *in, Eina_Rectangle *res) EINA_ARG_NONNULL(1, 2, 3);
|
||||
static inline Eina_Bool eina_rectangle_is_valid(const Eina_Rectangle *r) EINA_ARG_NONNULL(1);
|
||||
static inline Eina_Bool eina_rectangle_x_cut(Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1);
|
||||
static inline Eina_Bool eina_rectangle_y_cut(Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1);
|
||||
static inline Eina_Bool eina_rectangle_width_cut(Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1);
|
||||
static inline Eina_Bool eina_rectangle_height_cut(Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1);
|
||||
static inline Eina_Bool eina_rectangle_subtract(Eina_Rectangle *thiz, Eina_Rectangle *other, Eina_Rectangle out[4]) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Check if the given rectangle is empty.
|
||||
*
|
||||
* @param r The rectangle to check.
|
||||
* @return #EINA_TRUE if the rectangle is empty, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if @p r is empty, #EINA_FALSE
|
||||
* otherwise. No check is done on @p r, so it must be a valid
|
||||
* rectangle.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangle_is_empty(const Eina_Rectangle *r) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Set the coordinates and size of the given rectangle.
|
||||
*
|
||||
* @param r The rectangle.
|
||||
* @param x The top-left x coordinate of the rectangle.
|
||||
* @param y The top-left y coordinate of the rectangle.
|
||||
* @param w The width of the rectangle.
|
||||
* @param h The height of the rectangle.
|
||||
*
|
||||
* This function sets its top-left x coordinate to @p x, its top-left
|
||||
* y coordinate to @p y, its width to @p w and its height to @p h. No
|
||||
* check is done on @p r, so it must be a valid rectangle.
|
||||
*/
|
||||
static inline void eina_rectangle_coords_from(Eina_Rectangle *r, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Check if the given rectangles intersect.
|
||||
*
|
||||
* @param r1 The first rectangle.
|
||||
* @param r2 The second rectangle.
|
||||
* @return #EINA_TRUE if the rectangles intersect, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if @p r1 and @p r2 intersect, #EINA_FALSE
|
||||
* otherwise. No check is done on @p r1 and @p r2, so they must be valid
|
||||
* rectangles.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangles_intersect(const Eina_Rectangle *r1, const Eina_Rectangle *r2) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Check if the given x-coordinate is in the rectangle .
|
||||
*
|
||||
* @param r The rectangle.
|
||||
* @param x The x coordinate.
|
||||
* @return #EINA_TRUE on success, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if @p x is in @p r with respect to
|
||||
* the horizontal direction, #EINA_FALSE otherwise. No check is done
|
||||
* on @p r, so it must be a valid rectangle.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangle_xcoord_inside(const Eina_Rectangle *r, int x) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Check if the given y-coordinate is in the rectangle .
|
||||
*
|
||||
* @param r The rectangle.
|
||||
* @param y The y coordinate.
|
||||
* @return #EINA_TRUE on success, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if @p y is in @p r with respect to
|
||||
* the vertical direction, #EINA_FALSE otherwise. No check is done
|
||||
* on @p r, so it must be a valid rectangle.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangle_ycoord_inside(const Eina_Rectangle *r, int y) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Check if the given point is in the rectangle .
|
||||
*
|
||||
* @param r The rectangle.
|
||||
* @param x The x coordinate of the point.
|
||||
* @param y The y coordinate of the point.
|
||||
* @return #EINA_TRUE on success, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function returns #EINA_TRUE if the point of coordinate (@p x,
|
||||
* @p y) is in @p r, #EINA_FALSE otherwise. No check is done on @p r,
|
||||
* so it must be a valid rectangle.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangle_coords_inside(const Eina_Rectangle *r, int x, int y) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Get the union of two rectangles.
|
||||
*
|
||||
* @param dst The first rectangle.
|
||||
* @param src The second rectangle.
|
||||
*
|
||||
* This function get the union of the rectangles @p dst and @p src. The
|
||||
* result is stored in @p dst. No check is done on @p dst or @p src,
|
||||
* so they must be valid rectangles.
|
||||
*/
|
||||
static inline void eina_rectangle_union(Eina_Rectangle *dst, const Eina_Rectangle *src) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @brief Get the intersection of two rectangles.
|
||||
*
|
||||
* @param dst The first rectangle.
|
||||
* @param src The second rectangle.
|
||||
* @return #EINA_TRUE if the rectangles intersect, #EINA_FALSE
|
||||
* otherwise.
|
||||
*
|
||||
* This function get the intersection of the rectangles @p dst and
|
||||
* @p src. The result is stored in @p dst. No check is done on @p dst
|
||||
* or @p src, so they must be valid rectangles.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangle_intersection(Eina_Rectangle *dst, const Eina_Rectangle *src) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief FIXME I am useless and used by no one
|
||||
*
|
||||
* @param in The inner rectangle.
|
||||
* @param out The outer rectangle.
|
||||
* @param res The resulting rectangle.
|
||||
*
|
||||
*/
|
||||
static inline void eina_rectangle_rescale_in(const Eina_Rectangle *out, const Eina_Rectangle *in, Eina_Rectangle *res) EINA_ARG_NONNULL(1, 2, 3);
|
||||
|
||||
/**
|
||||
* @brief FIXME I am useless and used by no one
|
||||
*
|
||||
* @param in The inner rectangle.
|
||||
* @param out The outer rectangle.
|
||||
* @param res The resulting rectangle.
|
||||
*
|
||||
*/
|
||||
static inline void eina_rectangle_rescale_out(const Eina_Rectangle *out, const Eina_Rectangle *in, Eina_Rectangle *res) EINA_ARG_NONNULL(1, 2, 3);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Tells whether a rectangle is valid or not.
|
||||
*
|
||||
* @param r The rectangle
|
||||
* @return #EINA_TRUE if the rectangle is valid, #EINA_FALSE otherwise.
|
||||
*
|
||||
* This function checks if both width and height attributes of the rectangle are
|
||||
* positive integers. If so, the rectangle is considered valid, else the
|
||||
* rectangle is invalid.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangle_is_valid(const Eina_Rectangle *r) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Gives the rectangle maximum x coordinate.
|
||||
*
|
||||
* @param thiz The rectangle
|
||||
* @return the maximum x coordinate
|
||||
*
|
||||
* This function calculates the maximum x coordinate of the rectangle by summing
|
||||
* the @p width with the current @p x coodinate of the rectangle.
|
||||
*/
|
||||
static inline int eina_rectangle_max_x(Eina_Rectangle *thiz) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Gives the rectangle maximum y coordinate.
|
||||
*
|
||||
* @param thiz The rectangle
|
||||
* @return the maximum y coordinate
|
||||
*
|
||||
* This function calculates the maximum y coordinate of the rectangle by summing
|
||||
* the @p height with the current @p y coodinate of the rectangle.
|
||||
*/
|
||||
static inline int eina_rectangle_max_y(Eina_Rectangle *thiz) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Slices a rectangle vertically into two subrectangles starting from left edge
|
||||
*
|
||||
* @param thiz The rectangle to slice
|
||||
* @param slice The sliced part of the rectangle
|
||||
* @param remainder The left over part of the original rectangle after slice
|
||||
* @param amount The x inner coordinate of the rectangle where to perform the
|
||||
* slicing.
|
||||
* @return #EINA_TRUE if the cut succeeds, #EINA_FALSE otherwise
|
||||
*
|
||||
* Use this function if we must cut a rectangle vertically. The @p amount
|
||||
* parameter defines the x inner coordinate where to do the cut, starting from
|
||||
* the left edge of the rectangle. If the @p amount value is greater than the
|
||||
* rectangle width, there will be not cut possible and #EINA_FALSE will be
|
||||
* returned.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangle_x_cut(Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Slices a rectangle horizontally into two subrectangles starting from bottom edge
|
||||
*
|
||||
* @param thiz The rectangle to slice
|
||||
* @param slice The sliced part of the rectangle
|
||||
* @param remainder The left over part of the original rectangle after slice
|
||||
* @param amount The y inner coordinate of the rectangle where to perform the
|
||||
* slicing.
|
||||
* @return #EINA_TRUE if the cut succeeds, #EINA_FALSE otherwise
|
||||
*
|
||||
* Use this function if we must cut a rectangle horizontally. The @p amount
|
||||
* parameter defines the y inner coordinate where to do the cut, starting from
|
||||
* the bottom edge of the rectangle. If the @p amount value is greater than the
|
||||
* rectangle width, there will be not cut possible and #EINA_FALSE will be
|
||||
* returned.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangle_y_cut(Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Slices a rectangle vertically starting from right edge
|
||||
*
|
||||
* @param thiz The rectangle to slice
|
||||
* @param slice The sliced part of the rectangle
|
||||
* @param remainder The left over part of the original rectangle after slice
|
||||
* @param amount The amount to cut off the rectangle starting from the right
|
||||
* edge
|
||||
* @return #EINA_TRUE if the cut succeeds, #EINA_FALSE otherwise
|
||||
*
|
||||
* Use this function if we must cut a rectangle vertically. The @p amount
|
||||
* parameter defines the inner x coordinate where to do the cut, starting from
|
||||
* the right edge of the rectangle. If the @p amount value is greater than the
|
||||
* rectangle width, there will be not cut possible and #EINA_FALSE will be
|
||||
* returned.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangle_width_cut(Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Slices a rectangle horizontally starting from top edge
|
||||
*
|
||||
* @param thiz The rectangle to slice
|
||||
* @param slice The sliced part of the rectangle
|
||||
* @param remainder The left over part of the original rectangle after slice
|
||||
* @param amount The amount to cut off the rectangle starting from the top edge
|
||||
* @return #EINA_TRUE if the cut succeeds, #EINA_FALSE otherwise
|
||||
*
|
||||
* Use this function if we must cut a rectangle horizontally. The @p amount
|
||||
* parameter defines the inner y coordinate where to do the cut, starting from
|
||||
* the top edge of the rectangle. If the @p amount value is greater than the
|
||||
* rectangle width, there will be not cut possible and #EINA_FALSE will be
|
||||
* returned.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangle_height_cut(Eina_Rectangle *thiz, Eina_Rectangle *slice, Eina_Rectangle *remainder, int amount) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Subtract two rectangles.
|
||||
*
|
||||
* @param thiz The minuend rectangle
|
||||
* @param other The subtrahend rectangle
|
||||
*
|
||||
* This function subtract two rectangles. The difference is stored on @p out
|
||||
* There will be at most four differences, use eina_rectangle_is_valid to
|
||||
* confirm the number of differences.
|
||||
*/
|
||||
static inline Eina_Bool eina_rectangle_subtract(Eina_Rectangle *thiz, Eina_Rectangle *other, Eina_Rectangle out[4]) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Add a rectangle in a new pool.
|
||||
|
|
|
@ -42,10 +42,22 @@
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Eina_Thread
|
||||
* Type for a generic thread.
|
||||
*/
|
||||
typedef unsigned long int Eina_Thread;
|
||||
|
||||
/**
|
||||
* @typedef Eina_Thread_Cb
|
||||
* Type for the definition of a thread callback function
|
||||
*/
|
||||
typedef void *(*Eina_Thread_Cb)(void *data, Eina_Thread t);
|
||||
|
||||
/**
|
||||
* @typedef Eina_Thead_Priority
|
||||
* Type to enumerate different thread priorities
|
||||
*/
|
||||
typedef enum _Eina_Thread_Priority
|
||||
{
|
||||
EINA_THREAD_URGENT,
|
||||
|
|
|
@ -446,6 +446,9 @@ EAPI Eio_File *eio_file_mkdir(const char *path,
|
|||
* @param done_cb Callback called when the move is done.
|
||||
* @param error_cb Callback called when something goes wrong.
|
||||
* @param data Unmodified user data passed to callbacks
|
||||
* @return A reference to the I/O operation.
|
||||
*
|
||||
* @return an Eio_File pointer, handler to the move operation, can be used to cancel the operation
|
||||
*
|
||||
* This function will copy a file from source to dest. It will try to use splice
|
||||
* if possible, if not it will fallback to mmap/write. It will try to preserve
|
||||
|
@ -467,6 +470,8 @@ EAPI Eio_File *eio_file_move(const char *source,
|
|||
* @param error_cb Callback called when something goes wrong.
|
||||
* @param data Unmodified user data passed to callbacks
|
||||
*
|
||||
* @return an Eio_File pointer, handler to the copy operation, can be used to cancel the operation
|
||||
*
|
||||
* This function will copy a file from source to dest. It will try to use splice
|
||||
* if possible, if not it will fallback to mmap/write. It will try to preserve
|
||||
* access right, but not user/group identification.
|
||||
|
@ -487,6 +492,9 @@ EAPI Eio_File *eio_file_copy(const char *source,
|
|||
* @param done_cb Callback called when the copy is done.
|
||||
* @param error_cb Callback called when something goes wrong.
|
||||
* @param data Unmodified user data passed to callbacks
|
||||
* @return A reference to the I/O operation.
|
||||
*
|
||||
* @return an Eio_File pointer, handler to the move operation, can be used to cancel the operation
|
||||
*
|
||||
* This function will move a directory and all its content from source to dest.
|
||||
* It will try first to rename the directory, if not it will try to use splice
|
||||
|
@ -515,6 +523,9 @@ EAPI Eio_File *eio_dir_move(const char *source,
|
|||
* @param done_cb Callback called when the copy is done.
|
||||
* @param error_cb Callback called when something goes wrong.
|
||||
* @param data Unmodified user data passed to callbacks
|
||||
* @return A reference to the I/O operation.
|
||||
*
|
||||
* @return an Eio_File pointer, handler to the copy operation, can be used to cancel the operation
|
||||
*
|
||||
* This function will copy a directory and all its content from source to dest.
|
||||
* It will try to use splice if possible, if not it will fallback to mmap/write.
|
||||
|
@ -539,6 +550,9 @@ EAPI Eio_File *eio_dir_copy(const char *source,
|
|||
* @param done_cb Callback called when the copy is done.
|
||||
* @param error_cb Callback called when something goes wrong.
|
||||
* @param data Unmodified user data passed to callbacks
|
||||
* @return A reference to the I/O operation.
|
||||
*
|
||||
* @return an Eio_File pointer, handler to the unlink operation, can be used to cancel the operation
|
||||
*
|
||||
* This function will remove a directory and all its content.
|
||||
* Every file will be passed to the filter_cb, so it's your job to decide if you
|
||||
|
|
|
@ -116,28 +116,32 @@ extern "C" {
|
|||
*
|
||||
* @{
|
||||
*/
|
||||
#define ELDBUS_VERSION_MAJOR EFL_VERSION_MAJOR
|
||||
#define ELDBUS_VERSION_MINOR EFL_VERSION_MINOR
|
||||
#define ELDBUS_VERSION_MAJOR EFL_VERSION_MAJOR /**< Eldbus version major number */
|
||||
#define ELDBUS_VERSION_MINOR EFL_VERSION_MINOR /**< Eldbus version minor number */
|
||||
|
||||
#define ELDBUS_FDO_BUS "org.freedesktop.DBus"
|
||||
#define ELDBUS_FDO_PATH "/org/freedesktop/DBus"
|
||||
#define ELDBUS_FDO_INTERFACE ELDBUS_FDO_BUS
|
||||
#define ELDBUS_FDO_INTERFACE_PROPERTIES "org.freedesktop.DBus.Properties"
|
||||
#define ELDBUS_FDO_INTERFACE_OBJECT_MANAGER "org.freedesktop.DBus.ObjectManager"
|
||||
#define ELDBUS_FDO_INTERFACE_INTROSPECTABLE "org.freedesktop.DBus.Introspectable"
|
||||
#define ELDBUS_FDO_INTEFACE_PEER "org.freedesktop.DBus.Peer"
|
||||
#define ELDBUS_ERROR_PENDING_CANCELED "org.enlightenment.DBus.Canceled"
|
||||
#define ELDBUS_ERROR_PENDING_TIMEOUT "org.freedesktop.DBus.Error.NoReply"
|
||||
#define ELDBUS_FDO_BUS "org.freedesktop.DBus" /**< Eldbus bus name */
|
||||
#define ELDBUS_FDO_PATH "/org/freedesktop/DBus" /**< Eldbus path name */
|
||||
#define ELDBUS_FDO_INTERFACE ELDBUS_FDO_BUS /**< Eldbus interface name */
|
||||
#define ELDBUS_FDO_INTERFACE_PROPERTIES "org.freedesktop.DBus.Properties" /**< Eldbus object properties request name */
|
||||
#define ELDBUS_FDO_INTERFACE_OBJECT_MANAGER "org.freedesktop.DBus.ObjectManager" /**< Eldbus object manager request name */
|
||||
#define ELDBUS_FDO_INTERFACE_INTROSPECTABLE "org.freedesktop.DBus.Introspectable" /**< Eldbus object introspect request name */
|
||||
#define ELDBUS_FDO_INTEFACE_PEER "org.freedesktop.DBus.Peer" /**< Eldbus object peer request name */
|
||||
#define ELDBUS_ERROR_PENDING_CANCELED "org.enlightenment.DBus.Canceled" /**< Eldbus canceled answer */
|
||||
#define ELDBUS_ERROR_PENDING_TIMEOUT "org.freedesktop.DBus.Error.NoReply" /**< Eldbus timeout error answer */
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Version
|
||||
* Represents the current version of Eldbus
|
||||
*/
|
||||
typedef struct _Eldbus_Version
|
||||
{
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int revision;
|
||||
int major; /**< major (binary or source incompatible changes) */
|
||||
int minor; /**< minor (new features, bugfixes, major improvements version) */
|
||||
int micro; /**< micro (bugfix, internal improvements, no new features version) */
|
||||
int revision; /**< git revision (0 if a proper release or the git revision number Eldbus is built from) */
|
||||
} Eldbus_Version;
|
||||
|
||||
EAPI extern const Eldbus_Version * eldbus_version;
|
||||
EAPI extern const Eldbus_Version * eldbus_version; /**< Global Eldbus_Version object */
|
||||
|
||||
/**
|
||||
* @brief Initialize eldbus.
|
||||
|
@ -152,6 +156,11 @@ EAPI int eldbus_init(void);
|
|||
*/
|
||||
EAPI int eldbus_shutdown(void);
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Free_Cb
|
||||
*
|
||||
* Callback that is called when the connection is freed.
|
||||
*/
|
||||
typedef void (*Eldbus_Free_Cb)(void *data, const void *deadptr);
|
||||
|
||||
/**
|
||||
|
@ -202,7 +211,18 @@ typedef struct _Eldbus_Pending Eldbus_Pending;
|
|||
*/
|
||||
typedef struct _Eldbus_Signal_Handler Eldbus_Signal_Handler;
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Message_Cb
|
||||
*
|
||||
* Callback that is called when answer of a method call message comes.
|
||||
*/
|
||||
typedef void (*Eldbus_Message_Cb)(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending);
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Signal_Cb
|
||||
*
|
||||
* Callback that is called when a signal is received.
|
||||
*/
|
||||
typedef void (*Eldbus_Signal_Cb)(void *data, const Eldbus_Message *msg);
|
||||
/**
|
||||
* @}
|
||||
|
|
|
@ -7,6 +7,11 @@
|
|||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Connection_Type
|
||||
* Enum of several Eldbus connection types.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ELDBUS_CONNECTION_TYPE_UNKNOWN = 0, /**< sentinel, not a real type */
|
||||
|
@ -17,7 +22,7 @@ typedef enum
|
|||
ELDBUS_CONNECTION_TYPE_LAST /**< sentinel, not a real type */
|
||||
} Eldbus_Connection_Type;
|
||||
|
||||
#define ELDBUS_TIMEOUT_INFINITE ((int) 0x7fffffff)
|
||||
#define ELDBUS_TIMEOUT_INFINITE ((int) 0x7fffffff) /**< Infinite timeout definition */
|
||||
|
||||
/**
|
||||
* Establish a connection to bus and integrate it with the ecore main
|
||||
|
@ -70,7 +75,8 @@ EAPI Eldbus_Connection *eldbus_private_address_connection_get(const char *addres
|
|||
/**
|
||||
* @brief Increment connection reference count.
|
||||
*
|
||||
* @param conn The given Eldbus_Connection object to reference
|
||||
* @param conn The given Eldbus_Connection object to reference.
|
||||
* @return The Eldbus_Connection object given as parameter.
|
||||
*/
|
||||
EAPI Eldbus_Connection *eldbus_connection_ref(Eldbus_Connection *conn) EINA_ARG_NONNULL(1);
|
||||
|
||||
|
@ -79,6 +85,8 @@ EAPI Eldbus_Connection *eldbus_connection_ref(Eldbus_Connection *conn) EINA_ARG_
|
|||
*
|
||||
* If reference count reaches 0, the connection to bus will be dropped and all
|
||||
* its children will be invalidated.
|
||||
*
|
||||
* @param conn The given Eldbus_Connection object to unreference.
|
||||
*/
|
||||
EAPI void eldbus_connection_unref(Eldbus_Connection *conn) EINA_ARG_NONNULL(1);
|
||||
|
||||
|
@ -125,6 +133,10 @@ EAPI void *eldbus_connection_data_get(const Eldbus_Connection *conn,
|
|||
*/
|
||||
EAPI void *eldbus_connection_data_del(Eldbus_Connection *conn, const char *key) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Connection_Event_Type
|
||||
* Enum of several Eldbus connection events.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ELDBUS_CONNECTION_EVENT_DEL,
|
||||
|
@ -132,6 +144,11 @@ typedef enum
|
|||
ELDBUS_CONNECTION_EVENT_LAST /**< sentinel, not a real event type */
|
||||
} Eldbus_Connection_Event_Type;
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Connection_Event_Cb
|
||||
*
|
||||
* Callback called when we receive an event.
|
||||
*/
|
||||
typedef void (*Eldbus_Connection_Event_Cb)(void *data, Eldbus_Connection *conn, void *event_info);
|
||||
|
||||
/**
|
||||
|
@ -155,6 +172,7 @@ EAPI void eldbus_connection_event_callback_del(Eldbus_Connectio
|
|||
* @param cb_data data passed to callback
|
||||
* @param timeout timeout in milliseconds, -1 to use default internal value or
|
||||
* ELDBUS_TIMEOUT_INFINITE for no timeout
|
||||
* @return A Eldbus_Pending struct.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_connection_send(Eldbus_Connection *conn, Eldbus_Message *msg, Eldbus_Message_Cb cb, const void *cb_data, double timeout) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
|
|
|
@ -17,6 +17,16 @@
|
|||
#define ELDBUS_NAME_REQUEST_REPLY_EXISTS 3 /**< Service is already in the queue */
|
||||
#define ELDBUS_NAME_REQUEST_REPLY_ALREADY_OWNER 4 /**< Service is already the primary owner */
|
||||
|
||||
/**
|
||||
* Send a "RequestName" method call in proxy.
|
||||
*
|
||||
* @param conn Connection object.
|
||||
* @param bus Name of the bus
|
||||
* @param flags Parameter of the "RequestName" method.
|
||||
* @param cb Callback to call when receiving answer.
|
||||
* @param cb_data Data passed to callback.
|
||||
* @return The Eldbus_Pending corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_name_request(Eldbus_Connection *conn, const char *bus, unsigned int flags, Eldbus_Message_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/* Replies to releasing a name */
|
||||
|
@ -24,19 +34,90 @@ EAPI Eldbus_Pending *eldbus_name_request(Eldbus_Connection *conn, const char *bu
|
|||
#define ELDBUS_NAME_RELEASE_REPLY_NON_EXISTENT 2 /**< The given name does not exist on the bus */
|
||||
#define ELDBUS_NAME_RELEASE_REPLY_NOT_OWNER 3 /**< Service is not an owner of the given name */
|
||||
|
||||
/**
|
||||
* Send a "ReleaseName" method call in proxy.
|
||||
*
|
||||
* @param conn Connection object.
|
||||
* @param bus Name of the bus
|
||||
* @param cb Callback to call when receiving answer.
|
||||
* @param cb_data Data passed to callback.
|
||||
* @return The Eldbus_Pending corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_name_release(Eldbus_Connection *conn, const char *bus, Eldbus_Message_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Send a "GetNameOwner" method call in proxy.
|
||||
*
|
||||
* @param conn Connection object.
|
||||
* @param bus Name of the bus
|
||||
* @param cb Callback to call when receiving answer.
|
||||
* @param cb_data Data passed to callback.
|
||||
* @return The Eldbus_Pending corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_name_owner_get(Eldbus_Connection *conn, const char *bus, Eldbus_Message_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Send a "NameHasOwner" method call in proxy.
|
||||
*
|
||||
* @param conn Connection object.
|
||||
* @param bus Name of the bus
|
||||
* @param cb Callback to call when receiving answer.
|
||||
* @param cb_data Data passed to callback.
|
||||
* @return The Eldbus_Pending corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_name_owner_has(Eldbus_Connection *conn, const char *bus, Eldbus_Message_Cb cb, const void *cb_data);
|
||||
|
||||
/**
|
||||
* Send a "ListNames" method call in proxy.
|
||||
*
|
||||
* @param conn Connection object.
|
||||
* @param cb Callback to call when receiving answer.
|
||||
* @param cb_data Data passed to callback.
|
||||
* @return The Eldbus_Pending corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_names_list(Eldbus_Connection *conn, Eldbus_Message_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Send a "ListActivatableNames" method call in proxy.
|
||||
*
|
||||
* @param conn Connection object.
|
||||
* @param cb Callback to call when receiving answer.
|
||||
* @param cb_data Data passed to callback.
|
||||
* @return The Eldbus_Pending corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_names_activatable_list(Eldbus_Connection *conn, Eldbus_Message_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Send a "Hello" method call in proxy.
|
||||
*
|
||||
* @param conn Connection object.
|
||||
* @param cb Callback to call when receiving answer.
|
||||
* @param cb_data Data passed to callback.
|
||||
* @return The Eldbus_Pending corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_hello(Eldbus_Connection *conn, Eldbus_Message_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1);
|
||||
|
||||
/* Replies to service starts */
|
||||
#define ELDBUS_NAME_START_REPLY_SUCCESS 1 /**< Service was auto started */
|
||||
#define ELDBUS_NAME_START_REPLY_ALREADY_RUNNING 2 /**< Service was already running */
|
||||
|
||||
/**
|
||||
* Send a "StartServiceByName" method call in proxy.
|
||||
*
|
||||
* @param conn Connection object.
|
||||
* @param bus Name of the bus.
|
||||
* @param flags Parameter of the "StartServiceByName" method.
|
||||
* @param cb Callback to call when receiving answer.
|
||||
* @param cb_data Data passed to callback.
|
||||
* @return The Eldbus_Pending corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_name_start(Eldbus_Connection *conn, const char *bus, unsigned int flags, Eldbus_Message_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Name_Owner_Changed_Cb
|
||||
*
|
||||
* Callback called when unique id of a bus name changed.
|
||||
*/
|
||||
typedef void (*Eldbus_Name_Owner_Changed_Cb)(void *data, const char *bus, const char *old_id, const char *new_id);
|
||||
|
||||
/**
|
||||
|
@ -70,7 +151,25 @@ EAPI void eldbus_name_owner_changed_callback_del(Eldbus_Connect
|
|||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* Call the method "Ping" on the eldbus object.
|
||||
*
|
||||
* @param obj Eldbus object.
|
||||
* @param cb Callback called when receiving an answer.
|
||||
* @param data Data passed to the callback.
|
||||
* @return The Eldbus_Pending corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_object_peer_ping(Eldbus_Object *obj, Eldbus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Call the method "GetMachineId" on the eldbus object.
|
||||
*
|
||||
* @param obj Eldbus object.
|
||||
* @param cb Callback called when receiving an answer.
|
||||
* @param data Data passed to the callback.
|
||||
* @return The Eldbus_Pending corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_object_peer_machine_id_get(Eldbus_Object *obj, Eldbus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
|
@ -82,6 +181,15 @@ EAPI Eldbus_Pending *eldbus_object_peer_machine_id_get(Eldbus_Object *obj
|
|||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* Call the method "Introspect" on the eldbus object.
|
||||
*
|
||||
* @param obj Eldbus object.
|
||||
* @param cb Callback called when receiving an answer.
|
||||
* @param data Data passed to the callback.
|
||||
* @return The Eldbus_Pending corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_object_introspect(Eldbus_Object *obj, Eldbus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
/**
|
||||
* @}
|
||||
|
@ -107,24 +215,72 @@ EAPI Eldbus_Pending *eldbus_object_introspect(Eldbus_Object *obj, Eldbus_
|
|||
*/
|
||||
EAPI Eina_Bool eldbus_proxy_properties_monitor(Eldbus_Proxy *proxy, Eina_Bool enable) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Get a property.
|
||||
*
|
||||
* @param proxy The proxy object on which to do the query.
|
||||
* @param name The property name to get.
|
||||
* @param cb The callback to be called when receiving an answer.
|
||||
* @param data Data to be passed to the callback.
|
||||
* @return Eldbus_Pending object corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_proxy_property_get(Eldbus_Proxy *proxy, const char *name, Eldbus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2, 3);
|
||||
|
||||
/**
|
||||
* Set a property.
|
||||
*
|
||||
* @param proxy The proxy object on which to do the query.
|
||||
* @param name The property name to get.
|
||||
* @param sig
|
||||
* @param value The value to set.
|
||||
* @param cb The callback to be called when receiving an answer.
|
||||
* @param data Data to be passed to the callback.
|
||||
* @return Eldbus_Pending object corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_proxy_property_set(Eldbus_Proxy *proxy, const char *name, const char *sig, const void *value, Eldbus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2, 3, 4);
|
||||
|
||||
/**
|
||||
* Get all properties.
|
||||
*
|
||||
* @param proxy The proxy object on which to do the query.
|
||||
* @param cb The callback to be called when receiving an answer.
|
||||
* @param data Data to be passed to the callback.
|
||||
* @return Eldbus_Pending object corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_proxy_property_get_all(Eldbus_Proxy *proxy, Eldbus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Register a callback on "PropertiesChanged" signal.
|
||||
*
|
||||
* @param proxy The proxy object on which to register the callback.
|
||||
* @param cb The callback to be called when receiving the signal.
|
||||
* @param data Data to be passed to the callback.
|
||||
* @return Eldbus_Signal_Handler object representing a listener for "PropertiesChanged" signal.
|
||||
*/
|
||||
EAPI Eldbus_Signal_Handler *eldbus_proxy_properties_changed_callback_add(Eldbus_Proxy *proxy, Eldbus_Signal_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Return the cached value of property.
|
||||
*
|
||||
* This only work if you have enable eldbus_proxy_properties_monitor or
|
||||
* if you have call eldbus_proxy_event_callback_add of type
|
||||
* ELDBUS_PROXY_EVENT_PROPERTY_CHANGED and the property you want had changed.
|
||||
*
|
||||
* @param proxy The proxy object on which to do the query.
|
||||
* @param name The property name to get.
|
||||
* @return Cached value of property.
|
||||
*/
|
||||
EAPI Eina_Value *eldbus_proxy_property_local_get(Eldbus_Proxy *proxy, const char *name) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Return a Eina_Hash with all cached properties.
|
||||
* Get all cached properties.
|
||||
*
|
||||
* This only work if you have enable eldbus_proxy_properties_monitor or
|
||||
* if you have call eldbus_proxy_event_callback_add of type
|
||||
* ELDBUS_PROXY_EVENT_PROPERTY_CHANGED.
|
||||
*
|
||||
* @param proxy The proxy object on which to do the query.
|
||||
* @return A Eina_Hash with all cached properties
|
||||
*/
|
||||
EAPI const Eina_Hash *eldbus_proxy_property_local_get_all(Eldbus_Proxy *proxy) EINA_ARG_NONNULL(1);
|
||||
|
||||
|
@ -137,10 +293,35 @@ EAPI const Eina_Hash *eldbus_proxy_property_local_get_all(Eldbus_Proxy *pro
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* Call the method "GetManagedObjects" on the eldbus object.
|
||||
*
|
||||
* @param obj A Eldbus object.
|
||||
* @param cb The callback to call when receiving an answer.
|
||||
* @param data The data to pass to the callback.
|
||||
*
|
||||
* @return A Eldbus_Pending object corresponding to the message sent.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_object_managed_objects_get(Eldbus_Object *obj, Eldbus_Message_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Register a callback on "InterfacesAdded" signal.
|
||||
*
|
||||
* @param obj The Eldbus object on which to register the callback.
|
||||
* @param cb The callback to be called when receiving the signal.
|
||||
* @param cb_data Data to be passed to the callback.
|
||||
* @return Eldbus_Signal_Handler object representing a listener for "InterfacesAdded" signal.
|
||||
*/
|
||||
EAPI Eldbus_Signal_Handler *eldbus_object_manager_interfaces_added(Eldbus_Object *obj, Eldbus_Signal_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Register a callback on "InterfacesRemoved" signal.
|
||||
*
|
||||
* @param obj The Eldbus object on which to register the callback.
|
||||
* @param cb The callback to be called when receiving the signal.
|
||||
* @param cb_data Data to be passed to the callback.
|
||||
* @return Eldbus_Signal_Handler object representing a listener for "InterfacesRemoved" signal.
|
||||
*/
|
||||
EAPI Eldbus_Signal_Handler *eldbus_object_manager_interfaces_removed(Eldbus_Object *obj, Eldbus_Signal_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
|
|
|
@ -10,6 +10,9 @@
|
|||
|
||||
/**
|
||||
* @brief Increase message reference.
|
||||
*
|
||||
* @param msg The Eldbus_Message object.
|
||||
* @return The previous Eldbus_Message with incremented refcount.
|
||||
*/
|
||||
EAPI Eldbus_Message *eldbus_message_ref(Eldbus_Message *msg) EINA_ARG_NONNULL(1);
|
||||
|
||||
|
@ -18,14 +21,57 @@ EAPI Eldbus_Message *eldbus_message_ref(Eldbus_Message *msg) EINA_ARG_NON
|
|||
*
|
||||
* When refcount reaches zero the message and all its resources will be
|
||||
* freed.
|
||||
*
|
||||
* @param msg The Eldbus_Message object.
|
||||
*/
|
||||
EAPI void eldbus_message_unref(Eldbus_Message *msg) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Get the Eldbus message path.
|
||||
*
|
||||
* @param msg The Eldbus_Message object.
|
||||
* @return A string containing the dbus message path.
|
||||
*/
|
||||
EAPI const char *eldbus_message_path_get(const Eldbus_Message *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* Get the Eldbus message interface.
|
||||
*
|
||||
* @param msg The Eldbus_Message object.
|
||||
* @return A string containing the dbus message interface.
|
||||
*/
|
||||
EAPI const char *eldbus_message_interface_get(const Eldbus_Message *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* Get the Eldbus message member.
|
||||
*
|
||||
* @param msg The Eldbus_Message object.
|
||||
* @return A string containing the dbus message member.
|
||||
*/
|
||||
EAPI const char *eldbus_message_member_get(const Eldbus_Message *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* Get the Eldbus message destination.
|
||||
*
|
||||
* @param msg The Eldbus_Message object.
|
||||
* @return A string containing the dbus message destination.
|
||||
*/
|
||||
EAPI const char *eldbus_message_destination_get(const Eldbus_Message *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* Get the Eldbus message sender.
|
||||
*
|
||||
* @param msg The Eldbus_Message object.
|
||||
* @return A string containing the dbus message sender.
|
||||
*/
|
||||
EAPI const char *eldbus_message_sender_get(const Eldbus_Message *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* Get the Eldbus message signature.
|
||||
*
|
||||
* @param msg The Eldbus_Message object.
|
||||
* @return A string containing the dbus message signature.
|
||||
*/
|
||||
EAPI const char *eldbus_message_signature_get(const Eldbus_Message *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
|
@ -72,6 +118,7 @@ EAPI Eldbus_Message *eldbus_message_method_return_new(const Eldbus_Messag
|
|||
* desired.
|
||||
* @param text Variable in which to store the error text or @c NULL if it's not
|
||||
* desired.
|
||||
* @return EINA_TRUE on success, else EINA_FALSE.
|
||||
*/
|
||||
EAPI Eina_Bool eldbus_message_error_get(const Eldbus_Message *msg, const char **name, const char **text) EINA_ARG_NONNULL(1);
|
||||
|
||||
|
@ -79,9 +126,9 @@ EAPI Eina_Bool eldbus_message_error_get(const Eldbus_Message *msg, c
|
|||
* @brief Get the arguments from an Eldbus_Message
|
||||
*
|
||||
* Get the arguments of an Eldbus_Message storing them in the locations pointed
|
||||
* to by the pointer arguments that follow @param signature. Each pointer
|
||||
* to by the pointer arguments that follow param signature. Each pointer
|
||||
* argument must be of a type that is appropriate for the correspondent complete
|
||||
* type in @param signature. For complex types such as arrays, structs,
|
||||
* type in param signature. For complex types such as arrays, structs,
|
||||
* dictionaries or variants, a pointer to Eldbus_Message_Iter* must be provided.
|
||||
*
|
||||
* @param msg The message to get the arguments from.
|
||||
|
@ -98,7 +145,7 @@ EAPI Eina_Bool eldbus_message_arguments_get(const Eldbus_Message *ms
|
|||
* @brief Get the arguments from an Eldbus_Message using a va_list.
|
||||
*
|
||||
* @param msg The message to get the arguments from.
|
||||
* @param signature The signature user is expecting to read from @param msg.
|
||||
* @param signature The signature user is expecting to read from param msg.
|
||||
* @param ap The va_list containing the pointer arguments.
|
||||
*
|
||||
* @see eldbus_message_arguments_get()
|
||||
|
@ -111,8 +158,8 @@ EAPI Eina_Bool eldbus_message_arguments_vget(const Eldbus_Message *m
|
|||
/**
|
||||
* @brief Append arguments into an Eldbus_Message
|
||||
*
|
||||
* Append arguments into an Eldbus_Message according to the @param signature
|
||||
* provided. For each complete type in @param signature, a value of the
|
||||
* Append arguments into an Eldbus_Message according to the param signature
|
||||
* provided. For each complete type in param signature, a value of the
|
||||
* corresponding type must be provided.
|
||||
*
|
||||
* This function supports only basic types. For complex types use
|
||||
|
@ -120,7 +167,7 @@ EAPI Eina_Bool eldbus_message_arguments_vget(const Eldbus_Message *m
|
|||
*
|
||||
* @param msg The message in which arguments are being appended.
|
||||
* @param signature Signature of the arguments that are being appended.
|
||||
* @param ... Values of each argument to append in @param msg.
|
||||
* @param ... Values of each argument to append in param msg.
|
||||
*
|
||||
* @return EINA_TRUE on success, EINA_FALSE otherwise.
|
||||
*/
|
||||
|
@ -183,6 +230,7 @@ EAPI Eina_Bool eldbus_message_iter_basic_append(Eldbus_Message_Ite
|
|||
* @param iter iterator in which data will be appended
|
||||
* @param signature signature of the contained data
|
||||
* @param ... values for each complete type
|
||||
* @return EINA_TRUE on success, else EINA_FALSE
|
||||
*
|
||||
* @see eldbus_message_iter_container_new()
|
||||
* @see eldbus_message_iter_container_close()
|
||||
|
@ -206,6 +254,7 @@ EAPI Eina_Bool eldbus_message_iter_arguments_append(Eldbus_Message
|
|||
* @param iter iterator
|
||||
* @param signature of data
|
||||
* @param ap va_list with the values
|
||||
* @return EINA_TRUE on success, else EINA_FALSE
|
||||
*
|
||||
* @note This function don't support variant, use instead
|
||||
* eldbus_message_iter_container_new() to create the variant fill
|
||||
|
@ -221,6 +270,7 @@ EAPI Eina_Bool eldbus_message_iter_arguments_vappend(Eldbus_Messag
|
|||
* @param type basic type that will be appended
|
||||
* @param array data to append
|
||||
* @param size of array
|
||||
* @return EINA_TRUE on success, else EINA_FALSE
|
||||
*/
|
||||
EAPI Eina_Bool eldbus_message_iter_fixed_array_append(Eldbus_Message_Iter *iter, int type, const void *array, unsigned int size) EINA_ARG_NONNULL(1, 3);
|
||||
|
||||
|
@ -247,6 +297,9 @@ EAPI void eldbus_message_iter_basic_get(Eldbus_Message_Iter *
|
|||
/**
|
||||
* @brief Returns the current signature of a message iterator.
|
||||
*
|
||||
* @param iter The iterator on which to query the signature.
|
||||
* @return A string containing the message iterator signature.
|
||||
*
|
||||
* @note The returned string must be freed.
|
||||
*/
|
||||
EAPI char *eldbus_message_iter_signature_get(Eldbus_Message_Iter *iter) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
@ -265,14 +318,14 @@ EAPI Eina_Bool eldbus_message_iter_next(Eldbus_Message_Iter *iter)
|
|||
* Useful to iterate over arrays.
|
||||
*
|
||||
* @param iter iterator
|
||||
* @param type of the next completed type in Iterator
|
||||
* @param signature of the next completed type in Iterator
|
||||
* @param ... pointer of where data will be stored
|
||||
*
|
||||
* @param if iterator was reach to end or if type different of the type that
|
||||
* @return if iterator was reach to end or if type different of the type that
|
||||
* iterator points return EINA_FALSE
|
||||
*
|
||||
*/
|
||||
EAPI Eina_Bool eldbus_message_iter_get_and_next(Eldbus_Message_Iter *iter, char type, ...) EINA_ARG_NONNULL(1, 2, 3);
|
||||
EAPI Eina_Bool eldbus_message_iter_get_and_next(Eldbus_Message_Iter *iter, char signature, ...) EINA_ARG_NONNULL(1, 2, 3);
|
||||
|
||||
/**
|
||||
* @brief Reads a block of fixed-length values from the message iterator.
|
||||
|
@ -290,6 +343,12 @@ EAPI Eina_Bool eldbus_message_iter_get_and_next(Eldbus_Message_Ite
|
|||
*
|
||||
* Because the array is not copied, this function runs in constant time and is
|
||||
* fast; it's much preferred over walking the entire array with an iterator.
|
||||
*
|
||||
* @param iter The message iterator
|
||||
* @param signature
|
||||
* @param value
|
||||
* @param n_elements
|
||||
* @return EINA_TRUE on success, else EINA_FALSE.
|
||||
*/
|
||||
EAPI Eina_Bool eldbus_message_iter_fixed_array_get(Eldbus_Message_Iter *iter, int signature, void *value, int *n_elements) EINA_ARG_NONNULL(1, 3, 4);
|
||||
|
||||
|
|
|
@ -5,6 +5,15 @@
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Dict_Cb_Get
|
||||
*
|
||||
* Callback used when iterating over a dictionary. It is called at each entry iteration.
|
||||
*
|
||||
* @param data Context data passed to the callback.
|
||||
* @param key Key parameter.
|
||||
* @param var A message iterator on the current entry.
|
||||
*/
|
||||
typedef void (*Eldbus_Dict_Cb_Get)(void *data, const void *key, Eldbus_Message_Iter *var);
|
||||
|
||||
/**
|
||||
|
|
|
@ -14,17 +14,23 @@
|
|||
* @param conn connection where object belongs
|
||||
* @param bus name of bus or unique-id of who listens for calls of this object
|
||||
* @param path object path of this object
|
||||
* @return The corresponding Eldbus_Object.
|
||||
*/
|
||||
EAPI Eldbus_Object *eldbus_object_get(Eldbus_Connection *conn, const char *bus, const char *path) EINA_ARG_NONNULL(1, 2, 3) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Increase object reference.
|
||||
*
|
||||
* @param obj An Eldbus_Object.
|
||||
* @return The same Eldbus_Object with an increased refcount.
|
||||
*/
|
||||
EAPI Eldbus_Object *eldbus_object_ref(Eldbus_Object *obj) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Decrease object reference.
|
||||
* If reference == 0 object will be freed and all its children.
|
||||
*
|
||||
* @param obj An Eldbus_Object.
|
||||
*/
|
||||
EAPI void eldbus_object_unref(Eldbus_Object *obj) EINA_ARG_NONNULL(1);
|
||||
|
||||
|
@ -39,60 +45,128 @@ EAPI void eldbus_object_free_cb_add(Eldbus_Object *obj, Eldbus_Free_Cb
|
|||
|
||||
/**
|
||||
* @brief Remove callback registered in eldbus_object_free_cb_add().
|
||||
*
|
||||
* @param obj Object monitored.
|
||||
* @param cb Callback that was registered.
|
||||
* @param data Data that was passed to callback.
|
||||
*/
|
||||
EAPI void eldbus_object_free_cb_del(Eldbus_Object *obj, Eldbus_Free_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Object_Event_Type
|
||||
*
|
||||
* An enumeration containing several Eldbus_Object event types.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ELDBUS_OBJECT_EVENT_IFACE_ADDED = 0, /**< a parent path must have a ObjectManager interface */
|
||||
ELDBUS_OBJECT_EVENT_IFACE_REMOVED, /**< a parent path must have a ObjectManager interface */
|
||||
ELDBUS_OBJECT_EVENT_PROPERTY_CHANGED,
|
||||
ELDBUS_OBJECT_EVENT_PROPERTY_REMOVED,
|
||||
ELDBUS_OBJECT_EVENT_PROPERTY_CHANGED, /**< a property has changes */
|
||||
ELDBUS_OBJECT_EVENT_PROPERTY_REMOVED, /**< a property was removed */
|
||||
ELDBUS_OBJECT_EVENT_DEL,
|
||||
ELDBUS_OBJECT_EVENT_LAST /**< sentinel, not a real event type */
|
||||
} Eldbus_Object_Event_Type;
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Object_Event_Interface_Added
|
||||
*
|
||||
* Structure used with the ELDBUS_OBJECT_EVENT_IFACE_ADDED event.
|
||||
*/
|
||||
typedef struct _Eldbus_Object_Event_Interface_Added
|
||||
{
|
||||
const char *interface;
|
||||
Eldbus_Proxy *proxy;
|
||||
const char *interface; /**< The interface name */
|
||||
Eldbus_Proxy *proxy; /**< The proxy object */
|
||||
} Eldbus_Object_Event_Interface_Added;
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Object_Event_Interface_Removed
|
||||
*
|
||||
* Structure used with the ELDBUS_OBJECT_EVENT_IFACE_REMOVED event.
|
||||
*/
|
||||
typedef struct _Eldbus_Object_Event_Interface_Removed
|
||||
{
|
||||
const char *interface;
|
||||
const char *interface; /**< The interface name */
|
||||
} Eldbus_Object_Event_Interface_Removed;
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Object_Event_Property_Changed
|
||||
*
|
||||
* Structure used with the ELDBUS_OBJECT_EVENT_PROPERTY_CHANGED event.
|
||||
*/
|
||||
typedef struct _Eldbus_Object_Event_Property_Changed
|
||||
{
|
||||
const char *interface;
|
||||
Eldbus_Proxy *proxy;
|
||||
const char *name;
|
||||
const Eina_Value *value;
|
||||
const char *interface; /**< The interface name */
|
||||
Eldbus_Proxy *proxy; /**< The proxy object */
|
||||
const char *name; /**< The name of the property */
|
||||
const Eina_Value *value; /**< The value of the property */
|
||||
} Eldbus_Object_Event_Property_Changed;
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Object_Event_Property_Removed
|
||||
*
|
||||
* Structure used with the ELDBUS_OBJECT_EVENT_PROPERTY_REMOVED event.
|
||||
*/
|
||||
typedef struct _Eldbus_Object_Event_Property_Removed
|
||||
{
|
||||
const char *interface;
|
||||
Eldbus_Proxy *proxy;
|
||||
const char *name;
|
||||
const char *interface; /**< The interface name */
|
||||
Eldbus_Proxy *proxy; /**< The proxy object */
|
||||
const char *name; /**< The name of the property */
|
||||
} Eldbus_Object_Event_Property_Removed;
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Object_Event_Cb
|
||||
*
|
||||
* Callback that will be called when an Eldbus_Object event happens.
|
||||
*
|
||||
* @param data Context data.
|
||||
* @param obj The Eldbus_Object.
|
||||
* @param event_info Information about the event that triggered the callback.
|
||||
*/
|
||||
typedef void (*Eldbus_Object_Event_Cb)(void *data, Eldbus_Object *obj, void *event_info);
|
||||
|
||||
/**
|
||||
* @brief Add a callback function to be called when an event of the specified
|
||||
* type occurs.
|
||||
*
|
||||
* @param obj The Eldbus_Object on which to register a callback.
|
||||
* @param type The type of the event.
|
||||
* @param cb The callback to call.
|
||||
* @param cb_data The data to pass to the callback.
|
||||
*/
|
||||
EAPI void eldbus_object_event_callback_add(Eldbus_Object *obj, Eldbus_Object_Event_Type type, Eldbus_Object_Event_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1, 3);
|
||||
|
||||
/**
|
||||
* @brief Remove callback registered in eldbus_object_event_callback_add().
|
||||
*
|
||||
* @param obj The Eldbus_Object.
|
||||
* @param type The type of the event.
|
||||
* @param cb The callback to call.
|
||||
* @param cb_data The data to pass to the callback.
|
||||
*/
|
||||
EAPI void eldbus_object_event_callback_del(Eldbus_Object *obj, Eldbus_Object_Event_Type type, Eldbus_Object_Event_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1, 3);
|
||||
|
||||
/**
|
||||
* Get the Eldbus_Connection object associated with a Eldbus_Object.
|
||||
*
|
||||
* @param obj The Eldbus_Object.
|
||||
* @return The corresponding Eldbus_Connection object.
|
||||
*/
|
||||
EAPI Eldbus_Connection *eldbus_object_connection_get(const Eldbus_Object *obj) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* Get the name associated with a Eldbus_Object.
|
||||
*
|
||||
* @param obj The Eldbus_Object.
|
||||
* @return A string corresponding to the Eldbus_Object name.
|
||||
*/
|
||||
EAPI const char *eldbus_object_bus_name_get(const Eldbus_Object *obj) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* Get the path associated with a Eldbus_Object.
|
||||
*
|
||||
* @param obj The Eldbus_Object.
|
||||
* @return A string corresponding to the Eldbus_Object path.
|
||||
*/
|
||||
EAPI const char *eldbus_object_path_get(const Eldbus_Object *obj) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
|
@ -105,6 +179,7 @@ EAPI const char *eldbus_object_path_get(const Eldbus_Object *obj) EINA
|
|||
* @param cb_data data passed to callback
|
||||
* @param timeout timeout in milliseconds, -1 to default internal value or
|
||||
* ELDBUS_TIMEOUT_INFINITE for no timeout
|
||||
* @return A Eldbus_Pending object.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_object_send(Eldbus_Object *obj, Eldbus_Message *msg, Eldbus_Message_Cb cb, const void *cb_data, double timeout) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
|
@ -116,9 +191,19 @@ EAPI Eldbus_Pending *eldbus_object_send(Eldbus_Object *obj, Eldbus_Messag
|
|||
* @param member name of the signal
|
||||
* @param cb callback that will be called when this signal is received
|
||||
* @param cb_data data that will be passed to callback
|
||||
* @return A listener to the desired signal.
|
||||
*/
|
||||
EAPI Eldbus_Signal_Handler *eldbus_object_signal_handler_add(Eldbus_Object *obj, const char *interface, const char *member, Eldbus_Signal_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1, 4);
|
||||
|
||||
/**
|
||||
* @brief Call a dbus method on the Eldbus_Object.
|
||||
*
|
||||
* @param obj The Eldbus_Object on which to call the method.
|
||||
* @param interface Interface name.
|
||||
* @param member Name of the method to be called.
|
||||
*
|
||||
* @return a new Eldbus_Message, free with eldbus_message_unref()
|
||||
*/
|
||||
EAPI Eldbus_Message *eldbus_object_method_call_new(Eldbus_Object *obj, const char *interface, const char *member) EINA_ARG_NONNULL(1, 2, 3) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
|
|
|
@ -8,23 +8,86 @@
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Set data to a Eldbus_Pending object.
|
||||
*
|
||||
* @param pending The Eldbus_Pending object on which the data is set.
|
||||
* @param key A string corresponding to the key associated with the data.
|
||||
* @param data The data to set to the Eldbus_Pending object.
|
||||
*/
|
||||
EAPI void eldbus_pending_data_set(Eldbus_Pending *pending, const char *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
|
||||
|
||||
/**
|
||||
* @brief Get the data set to a Eldbus_Pending object.
|
||||
*
|
||||
* @param pending The Eldbus_Pending object on which the data is set.
|
||||
* @param key A string corresponding to the key associated with the data.
|
||||
* @return The data set to the Eldbus_Pending object.
|
||||
*/
|
||||
EAPI void *eldbus_pending_data_get(const Eldbus_Pending *pending, const char *key) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @brief Delete the data set to a Eldbus_Pending object.
|
||||
*
|
||||
* @param pending The Eldbus_Pending object on which the data is set.
|
||||
* @param key A string corresponding to the key associated with the data.
|
||||
*/
|
||||
EAPI void *eldbus_pending_data_del(Eldbus_Pending *pending, const char *key) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @brief Cancel the pending message.
|
||||
*
|
||||
* @param pending The Eldbus_Pending object corresponding to the pending message.
|
||||
*/
|
||||
EAPI void eldbus_pending_cancel(Eldbus_Pending *pending) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Get the destination of the pending message.
|
||||
*
|
||||
* @param pending The Eldbus_Pending object.
|
||||
* @return A string corresponding to the destination of the message.
|
||||
*/
|
||||
EAPI const char *eldbus_pending_destination_get(const Eldbus_Pending *pending) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Get the path of the pending message.
|
||||
*
|
||||
* @param pending The Eldbus_Pending object.
|
||||
* @return A string corresponding to the path of the message.
|
||||
*/
|
||||
EAPI const char *eldbus_pending_path_get(const Eldbus_Pending *pending) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Get the interface of the pending message.
|
||||
*
|
||||
* @param pending The Eldbus_Pending object.
|
||||
* @return A string corresponding to the interface of the message.
|
||||
*/
|
||||
EAPI const char *eldbus_pending_interface_get(const Eldbus_Pending *pending) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Get the method of the pending message.
|
||||
*
|
||||
* @param pending The Eldbus_Pending object.
|
||||
* @return A string corresponding to the method of the message.
|
||||
*/
|
||||
EAPI const char *eldbus_pending_method_get(const Eldbus_Pending *pending) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Add a callback function to be called when pending will be freed.
|
||||
*
|
||||
* @param pending The Eldbus_Pending object on which the callback is registered.
|
||||
* @param cb The callback to register.
|
||||
* @param data The data to pass to the callback.
|
||||
*/
|
||||
EAPI void eldbus_pending_free_cb_add(Eldbus_Pending *pending, Eldbus_Free_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @brief Remove callback registered in eldbus_pending_free_cb_add().
|
||||
*
|
||||
* @param pending The Eldbus_Pending object on which the callback was registered.
|
||||
* @param cb The callback that was registered.
|
||||
* @param data The data passed to the callback.
|
||||
*/
|
||||
EAPI void eldbus_pending_free_cb_del(Eldbus_Pending *pending, Eldbus_Free_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
|
|
|
@ -10,40 +10,96 @@
|
|||
|
||||
/**
|
||||
* @brief Get a proxy of the following interface name in a Eldbus_Object.
|
||||
*
|
||||
* @param obj The Eldbus_Object on which to do the query.
|
||||
* @param interface The interface name of the proxy.
|
||||
* @return The corresponding Eldbus_Proxy object.
|
||||
*/
|
||||
EAPI Eldbus_Proxy *eldbus_proxy_get(Eldbus_Object *obj, const char *interface) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Increase proxy reference.
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy on which to increase the refcount.
|
||||
* @return The Eldbus_Proxy with an increased refcount.
|
||||
*/
|
||||
EAPI Eldbus_Proxy *eldbus_proxy_ref(Eldbus_Proxy *proxy) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Decrease proxy reference.
|
||||
* If reference == 0 proxy will be freed and all your children.
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy on which to decrease the refcount.
|
||||
*/
|
||||
EAPI void eldbus_proxy_unref(Eldbus_Proxy *proxy) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Get the Eldbus_Object associated with a proxy object.
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy on which to do the query.
|
||||
* @return The corresponding Eldbus_Object.
|
||||
*/
|
||||
EAPI Eldbus_Object *eldbus_proxy_object_get(const Eldbus_Proxy *proxy) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Get the interface name associated with a proxy object.
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy on which to do the query.
|
||||
* @return The string corresponding to the interface name.
|
||||
*/
|
||||
EAPI const char *eldbus_proxy_interface_get(const Eldbus_Proxy *proxy) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Set data to an Eldbus_Proxy object.
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy on which to set the data.
|
||||
* @param key A string to which the data will be associated.
|
||||
* @param data The data to set to the proxy object.
|
||||
*/
|
||||
EAPI void eldbus_proxy_data_set(Eldbus_Proxy *proxy, const char *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
|
||||
|
||||
/**
|
||||
* @brief Get data of an Eldbus_Proxy object.
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy on which to get the data.
|
||||
* @param key The string to which the data is associated.
|
||||
* @return The data set to the proxy object associated with the provided key.
|
||||
*/
|
||||
EAPI void *eldbus_proxy_data_get(const Eldbus_Proxy *proxy, const char *key) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @brief Delete data of an Eldbus_Proxy object.
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy on which to delete the data.
|
||||
* @param key The string to which the data is associated.
|
||||
*/
|
||||
EAPI void *eldbus_proxy_data_del(Eldbus_Proxy *proxy, const char *key) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @brief Add a callback function to be called when occurs a event of the
|
||||
* type passed.
|
||||
* @brief Add a callback function to be called when an event of the
|
||||
* type passed occurs.
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy on which to add the callback.
|
||||
* @param cb The callback to add.
|
||||
* @param data The data to pass to the callback.
|
||||
*/
|
||||
EAPI void eldbus_proxy_free_cb_add(Eldbus_Proxy *proxy, Eldbus_Free_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @brief Remove callback registered in eldbus_proxy_free_cb_add().
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy on which to delete the callback.
|
||||
* @param cb The callback to delete.
|
||||
* @param data The data passed to the callback.
|
||||
*/
|
||||
EAPI void eldbus_proxy_free_cb_del(Eldbus_Proxy *proxy, Eldbus_Free_Cb cb, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @brief Constructs a new message to invoke a method on a remote interface.
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy on which to call the method.
|
||||
* @param member The name of the method to invoke.
|
||||
* @return An Eldbus_Message object.
|
||||
*/
|
||||
EAPI Eldbus_Message *eldbus_proxy_method_call_new(Eldbus_Proxy *proxy, const char *member) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
|
@ -56,6 +112,7 @@ EAPI Eldbus_Message *eldbus_proxy_method_call_new(Eldbus_Proxy *proxy, co
|
|||
* @param cb_data data passed to callback
|
||||
* @param timeout timeout in milliseconds, -1 to default internal value or
|
||||
* ELDBUS_TIMEOUT_INFINITE for no timeout
|
||||
* @return A Eldbus_Pending object on the sent message.
|
||||
*/
|
||||
EAPI Eldbus_Pending *eldbus_proxy_send(Eldbus_Proxy *proxy, Eldbus_Message *msg, Eldbus_Message_Cb cb, const void *cb_data, double timeout) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
|
@ -72,6 +129,7 @@ EAPI Eldbus_Pending *eldbus_proxy_send(Eldbus_Proxy *proxy, Eldbus_Messag
|
|||
* ELDBUS_TIMEOUT_INFINITE for no timeout
|
||||
* @param signature of data that will be send
|
||||
* @param ... data value
|
||||
* @return A Eldbus_Pending object on the sent message.
|
||||
*
|
||||
* @note This function only support basic type to complex types use
|
||||
* eldbus_message_iter_* functions.
|
||||
|
@ -90,6 +148,7 @@ EAPI Eldbus_Pending *eldbus_proxy_call(Eldbus_Proxy *proxy, const char *m
|
|||
* ELDBUS_TIMEOUT_INFINITE for no timeout
|
||||
* @param signature of data that will be send
|
||||
* @param ap va_list of data value
|
||||
* @return A Eldbus_Pending object on the sent message.
|
||||
*
|
||||
* @note This function only support basic type to complex types use
|
||||
* eldbus_message_iter_* functions.
|
||||
|
@ -103,47 +162,86 @@ EAPI Eldbus_Pending *eldbus_proxy_vcall(Eldbus_Proxy *proxy, const char *
|
|||
* @param member name of the signal
|
||||
* @param cb callback that will be called when this signal is received
|
||||
* @param cb_data data that will be passed to callback
|
||||
* @return A listener to the desired signal.
|
||||
*/
|
||||
EAPI Eldbus_Signal_Handler *eldbus_proxy_signal_handler_add(Eldbus_Proxy *proxy, const char *member, Eldbus_Signal_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1, 3);
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Proxy_Event_Type
|
||||
*
|
||||
* An enumeration containing proxy event types.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ELDBUS_PROXY_EVENT_PROPERTY_CHANGED = 0,
|
||||
ELDBUS_PROXY_EVENT_PROPERTY_REMOVED,
|
||||
ELDBUS_PROXY_EVENT_PROPERTY_CHANGED = 0, /**< a property has changed */
|
||||
ELDBUS_PROXY_EVENT_PROPERTY_REMOVED, /**< a property was removed */
|
||||
ELDBUS_PROXY_EVENT_DEL,
|
||||
ELDBUS_PROXY_EVENT_PROPERTY_LOADED,
|
||||
ELDBUS_PROXY_EVENT_LAST /**< sentinel, not a real event type */
|
||||
} Eldbus_Proxy_Event_Type;
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Proxy_Event_Property_Changed
|
||||
*
|
||||
* A structure used when ELDBUS_PROXY_EVENT_PROPERTY_CHANGED event is received.
|
||||
*/
|
||||
typedef struct _Eldbus_Proxy_Event_Property_Changed
|
||||
{
|
||||
const char *name;
|
||||
const Eldbus_Proxy *proxy;
|
||||
const Eina_Value *value;
|
||||
const char *name; /**< the name of the property */
|
||||
const Eldbus_Proxy *proxy; /**< the proxy object */
|
||||
const Eina_Value *value; /**< the value of the property */
|
||||
} Eldbus_Proxy_Event_Property_Changed;
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Proxy_Event_Property_Loaded
|
||||
*
|
||||
* A structure used when ELDBUS_PROXY_EVENT_PROPERTY_LOADED event is received.
|
||||
*/
|
||||
typedef struct _Eldbus_Proxy_Event_Property_Loaded
|
||||
{
|
||||
const Eldbus_Proxy *proxy;
|
||||
const Eldbus_Proxy *proxy; /**< the proxy object */
|
||||
} Eldbus_Proxy_Event_Property_Loaded;
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Proxy_Event_Property_Removed
|
||||
*
|
||||
* A structure used when ELDBUS_PROXY_EVENT_PROPERTY_REMOVED event is received.
|
||||
*/
|
||||
typedef struct _Eldbus_Proxy_Event_Property_Removed
|
||||
{
|
||||
const char *interface;
|
||||
const Eldbus_Proxy *proxy;
|
||||
const char *name;
|
||||
const char *interface; /**< interface name */
|
||||
const Eldbus_Proxy *proxy; /**< the proxy object */
|
||||
const char *name; /**< the name of the property */
|
||||
} Eldbus_Proxy_Event_Property_Removed;
|
||||
|
||||
/**
|
||||
* @typedef Eldbus_Proxy_Event_Cb
|
||||
*
|
||||
* A callback called when an event occurs.
|
||||
* @param data The data passed by the caller.
|
||||
* @param proxy The Eldbus_Proxy object.
|
||||
* @param event_info Information on the event that triggered the callback.
|
||||
*/
|
||||
typedef void (*Eldbus_Proxy_Event_Cb)(void *data, Eldbus_Proxy *proxy, void *event_info);
|
||||
|
||||
/**
|
||||
* @brief Add a callback function to be called when occurs a event of the
|
||||
* type passed.
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy object.
|
||||
* @param type The type of the event to register an callback on.
|
||||
* @param cb The callback function to register.
|
||||
* @param cb_data The data to pass to the callback.
|
||||
*/
|
||||
EAPI void eldbus_proxy_event_callback_add(Eldbus_Proxy *proxy, Eldbus_Proxy_Event_Type type, Eldbus_Proxy_Event_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1, 3);
|
||||
|
||||
/**
|
||||
* @brief Remove callback registered in eldbus_proxy_event_callback_add().
|
||||
*
|
||||
* @param proxy The Eldbus_Proxy object.
|
||||
* @param type The type of the event the callback was registered on.
|
||||
* @param cb The callback function to delete.
|
||||
* @param cb_data The data passed to the callback.
|
||||
*/
|
||||
EAPI void eldbus_proxy_event_callback_del(Eldbus_Proxy *proxy, Eldbus_Proxy_Event_Type type, Eldbus_Proxy_Event_Cb cb, const void *cb_data) EINA_ARG_NONNULL(1, 3);
|
||||
|
||||
|
|
|
@ -370,13 +370,17 @@ extern "C" {
|
|||
|
||||
#define EMBRYO_VERSION_MAJOR EFL_VERSION_MAJOR
|
||||
#define EMBRYO_VERSION_MINOR EFL_VERSION_MINOR
|
||||
|
||||
|
||||
/**
|
||||
* @typedef Embryo_Version
|
||||
* Represents the current version of Embryo
|
||||
*/
|
||||
typedef struct _Embryo_Version
|
||||
{
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int revision;
|
||||
int major; /** < major (binary or source incompatible changes) */
|
||||
int minor; /** < minor (new features, bugfixes, major improvements version) */
|
||||
int micro; /** < micro (bugfix, internal improvements, no new features version) */
|
||||
int revision; /** < git revision (0 if a proper release or the git revision number Embryo is built from) */
|
||||
} Embryo_Version;
|
||||
|
||||
EAPI extern Embryo_Version *embryo_version;
|
||||
|
|
|
@ -272,13 +272,16 @@ extern "C" {
|
|||
|
||||
#define EMOTION_VERSION_MAJOR EFL_VERSION_MAJOR
|
||||
#define EMOTION_VERSION_MINOR EFL_VERSION_MINOR
|
||||
|
||||
/**
|
||||
* @typedef Emotion_Version
|
||||
* Represents the current version of Emotion
|
||||
*/
|
||||
typedef struct _Emotion_Version
|
||||
{
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int revision;
|
||||
int major; /** < major (binary or source incompatible changes) */
|
||||
int minor; /** < minor (new features, bugfixes, major improvements version) */
|
||||
int micro; /** < micro (bugfix, internal improvements, no new features version) */
|
||||
int revision; /** < git revision (0 if a proper release or the git revision number Emotion is built from) */
|
||||
} Emotion_Version;
|
||||
|
||||
EAPI extern Emotion_Version *emotion_version;
|
||||
|
@ -364,7 +367,19 @@ extern "C" {
|
|||
* @defgroup Emotion_Ressource Video ressource management
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Initialise Emotion library
|
||||
*
|
||||
* Initialise needed libraries like eina ecore eet
|
||||
* Initialise needed modules like webcam
|
||||
*/
|
||||
EAPI Eina_Bool emotion_init(void);
|
||||
|
||||
/**
|
||||
* @brief Shutdown Emotion library
|
||||
*
|
||||
* Proper shutdown of all loaded modules and initialised libraries.
|
||||
*/
|
||||
EAPI Eina_Bool emotion_shutdown(void);
|
||||
|
||||
/**
|
||||
|
@ -851,6 +866,15 @@ EAPI void emotion_object_smooth_scale_set (Evas_Object *obj, Eina_B
|
|||
* @ingroup Emotion_Video
|
||||
*/
|
||||
EAPI Eina_Bool emotion_object_smooth_scale_get (const Evas_Object *obj);
|
||||
|
||||
/**
|
||||
* @brief Send an Emotion Event to an Evas object
|
||||
*
|
||||
* @param obj The object target of the event.
|
||||
* @param ev The emotion event.
|
||||
*
|
||||
* @see Emotion_Event
|
||||
*/
|
||||
EAPI void emotion_object_event_simple_send (Evas_Object *obj, Emotion_Event ev);
|
||||
|
||||
/**
|
||||
|
@ -1001,8 +1025,38 @@ EAPI const char *emotion_object_video_subtitle_file_get (const Evas_Object *ob
|
|||
* @ingroup Emotion_Video
|
||||
*/
|
||||
EAPI int emotion_object_video_channel_count (const Evas_Object *obj);
|
||||
|
||||
/**
|
||||
* @brief Get the name of a given video channel
|
||||
*
|
||||
* @param obj The object which we are retrieving the channel name from
|
||||
* @param channel the channel number
|
||||
* @return the channel name.
|
||||
*
|
||||
* @see emotion_object_video_channel_count()
|
||||
*
|
||||
* @ingroup Emotion_Video
|
||||
*/
|
||||
EAPI const char *emotion_object_video_channel_name_get(const Evas_Object *obj, int channel);
|
||||
|
||||
/**
|
||||
* @brief Set the channel for a given video object
|
||||
*
|
||||
* @param obj The target object which we are setting the channel
|
||||
* @param channel the channel number to be setted.
|
||||
*
|
||||
* @ingroup Emotion_Video
|
||||
*/
|
||||
EAPI void emotion_object_video_channel_set (Evas_Object *obj, int channel);
|
||||
|
||||
/**
|
||||
* @brief Get the channel for a given video object
|
||||
*
|
||||
* @param obj The target object which we are getting the channel
|
||||
* @return The current channel number.
|
||||
*
|
||||
* @ingroup Emotion_Video
|
||||
*/
|
||||
EAPI int emotion_object_video_channel_get (const Evas_Object *obj);
|
||||
EAPI void emotion_object_spu_mute_set (Evas_Object *obj, Eina_Bool mute);
|
||||
EAPI Eina_Bool emotion_object_spu_mute_get (const Evas_Object *obj);
|
||||
|
|
|
@ -36,13 +36,16 @@ extern "C" {
|
|||
|
||||
#define ETHUMB_VERSION_MAJOR EFL_VERSION_MAJOR
|
||||
#define ETHUMB_VERSION_MINOR EFL_VERSION_MINOR
|
||||
|
||||
/**
|
||||
* @typedef Ethumb_Version
|
||||
* Represents the current version of Ethumb
|
||||
*/
|
||||
typedef struct _Ethumb_Version
|
||||
{
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int revision;
|
||||
int major; /** < major (binary or source incompatible changes) */
|
||||
int minor; /** < minor (new features, bugfixes, major improvements version) */
|
||||
int micro; /** < micro (bugfix, internal improvements, no new features version) */
|
||||
int revision; /** < git revision (0 if a proper release or the git revision number Ethumb is built from) */
|
||||
} Ethumb_Version;
|
||||
|
||||
EAPI extern Ethumb_Version *ethumb_version;
|
||||
|
@ -141,10 +144,26 @@ typedef struct _Ethumb Ethumb;
|
|||
*/
|
||||
typedef void (*Ethumb_Generate_Cb)(void *data, Ethumb *e, Eina_Bool success);
|
||||
|
||||
/**
|
||||
* @brief Initialize ethumb.
|
||||
* @return 1 or greater on success, 0 otherwise.
|
||||
*/
|
||||
EAPI int ethumb_init(void);
|
||||
/**
|
||||
* @brief Shutdown ethumb, unloading all currently-loaded modules.
|
||||
* @return 0 if ethumb shuts down, an integer greater than 0 otherwise.
|
||||
*/
|
||||
EAPI int ethumb_shutdown(void);
|
||||
|
||||
/**
|
||||
* @brief Create a new ethumb object.
|
||||
* return The newly-created ethumb object
|
||||
*/
|
||||
EAPI Ethumb * ethumb_new(void) EINA_MALLOC EINA_WARN_UNUSED_RESULT;
|
||||
|
||||
/**
|
||||
* @brief Free an ethumb object.
|
||||
*/
|
||||
EAPI void ethumb_free(Ethumb *e);
|
||||
|
||||
/**
|
||||
|
@ -160,13 +179,64 @@ EAPI void ethumb_free(Ethumb *e);
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @brief Set the Ethumb Frame
|
||||
*
|
||||
* This can be used to simulate wood frames in the Thumbnails
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @param theme_file the edje theme file
|
||||
* @param group the edje group in theme
|
||||
* @param swallow the edje swallow in theme
|
||||
*
|
||||
* @return EINA_TRUE on success and EINA_FALSE on failure
|
||||
*/
|
||||
EAPI Eina_Bool ethumb_frame_set(Ethumb *e, const char *theme_file, const char *group, const char *swallow) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Retreives the current ethumb frame of and Ethumb instance.
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @param theme_file will be setted with the edje theme
|
||||
* @param group will be setted with the edje group
|
||||
* @param swallow will be setted with the edje swallow
|
||||
*/
|
||||
EAPI void ethumb_frame_get(const Ethumb *e, const char **theme_file, const char **group, const char **swallow) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Set the ethumb thumbnails path
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @param path The thumbnails path
|
||||
*
|
||||
*/
|
||||
EAPI void ethumb_thumb_dir_path_set(Ethumb *e, const char *path) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Get the ethumb thumbnails path
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
*
|
||||
* @return The thumbnails path for the current thumbnailer
|
||||
*/
|
||||
EAPI const char *ethumb_thumb_dir_path_get(const Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
/**
|
||||
* @brief Set the thumbnails category
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @param category the category to set
|
||||
*/
|
||||
EAPI void ethumb_thumb_category_set(Ethumb *e, const char *category) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Get the thumbnails category
|
||||
*
|
||||
* @param e handle of the current thumbnailer
|
||||
*
|
||||
* @return the current thumbnailer thumbnails category
|
||||
*/
|
||||
EAPI const char *ethumb_thumb_category_get(const Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
EAPI void ethumb_thumb_path_set(Ethumb *e, const char *path, const char *key) EINA_ARG_NONNULL(1);
|
||||
|
@ -209,40 +279,213 @@ typedef enum _Ethumb_Thumb_Orientation
|
|||
|
||||
EAPI void ethumb_thumb_fdo_set(Ethumb *e, Ethumb_Thumb_FDO_Size s) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Set the size of thumbnails.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @param tw Thumbnail width.
|
||||
* @param th Thumbnail height.
|
||||
*/
|
||||
EAPI void ethumb_thumb_size_set(Ethumb *e, int tw, int th) EINA_ARG_NONNULL(1);
|
||||
/**
|
||||
* @brief Get the size of thumbnails.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @param[out] tw Pointer to an int to store the thumbnail width.
|
||||
* @param[out] th Pointer to an int to store the thumbnail height.
|
||||
*/
|
||||
EAPI void ethumb_thumb_size_get(const Ethumb *e, int *tw, int *th) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Set the fileformat of the thumbnails
|
||||
*
|
||||
* Thumbnails are sent compressed; possible formats are PNG, JPEG and EET.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
*/
|
||||
EAPI void ethumb_thumb_format_set(Ethumb *e, Ethumb_Thumb_Format f) EINA_ARG_NONNULL(1);
|
||||
/**
|
||||
* @brief Get the fileformat of the thumbnails
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @return The thumbnail fileformat
|
||||
*
|
||||
* @see ethumb_thumb_format_set
|
||||
*/
|
||||
EAPI Ethumb_Thumb_Format ethumb_thumb_format_get(const Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
EAPI void ethumb_thumb_aspect_set(Ethumb *e, Ethumb_Thumb_Aspect a) EINA_ARG_NONNULL(1);
|
||||
/**
|
||||
* @brief Set the aspect ratio policy.
|
||||
*
|
||||
* When the source and thumbnail aspect ratios don't match, this policy sets
|
||||
* how to adapt from the former to the latter: resize keeping source aspect
|
||||
* ratio, resize ignoring it or crop.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @param aspect The new aspect ratio policy.
|
||||
*/
|
||||
EAPI void ethumb_thumb_aspect_set(Ethumb *e, Ethumb_Thumb_Aspect aspect) EINA_ARG_NONNULL(1);
|
||||
/**
|
||||
* @brief Get the aspect ratio policy.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @return The aspect ratio policy.
|
||||
*/
|
||||
EAPI Ethumb_Thumb_Aspect ethumb_thumb_aspect_get(const Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
EAPI void ethumb_thumb_orientation_set(Ethumb *e, Ethumb_Thumb_Orientation o) EINA_ARG_NONNULL(1);
|
||||
/**
|
||||
* @brief Set the thumbnail rotation or flip.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @param orientation The new orientation.
|
||||
*/
|
||||
EAPI void ethumb_thumb_orientation_set(Ethumb *e, Ethumb_Thumb_Orientation orientation) EINA_ARG_NONNULL(1);
|
||||
/**
|
||||
* @brief Get the thumbnail rotation.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @return The current rotation.
|
||||
*/
|
||||
EAPI Ethumb_Thumb_Orientation ethumb_thumb_orientation_get(const Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
EAPI void ethumb_thumb_crop_align_set(Ethumb *e, float x, float y) EINA_ARG_NONNULL(1);
|
||||
EAPI void ethumb_thumb_crop_align_get(const Ethumb *e, float *x, float *y) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Set the thumbnail compression quality.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @param quality Compression quality (from 0 to 100, 100 being the best; default is 80)
|
||||
*/
|
||||
EAPI void ethumb_thumb_quality_set(Ethumb *e, int quality) EINA_ARG_NONNULL(1);
|
||||
/**
|
||||
* @brief Get the thumbnail compression quality.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @return The current compression quality (from 0 to 100, 100 being the best)
|
||||
*/
|
||||
EAPI int ethumb_thumb_quality_get(const Ethumb *e) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT EINA_PURE;
|
||||
|
||||
/**
|
||||
* @brief Set the compression rate
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @param compress the compression rate (in percentage)
|
||||
*
|
||||
*/
|
||||
EAPI void ethumb_thumb_compress_set(Ethumb *e, int compress) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Get the compression rate
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
*
|
||||
* @return the compression rate (in percentage)
|
||||
*/
|
||||
EAPI int ethumb_thumb_compress_get(const Ethumb *e) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT EINA_PURE;
|
||||
|
||||
/**
|
||||
* @brief set the video play start point
|
||||
*
|
||||
* Set the start point of video thumbnail
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @param start the start point (float from 0.0 to 1.0)
|
||||
*/
|
||||
EAPI void ethumb_video_start_set(Ethumb *e, float start) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief get the video play start point
|
||||
*
|
||||
* Get the start point of video thumbnail
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
*
|
||||
* @return the start point (float from 0.0 to 1.0)
|
||||
*/
|
||||
EAPI float ethumb_video_start_get(const Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
/**
|
||||
* @brief Set the video time (duration) in seconds.
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @param time the video duration in seconds
|
||||
*/
|
||||
EAPI void ethumb_video_time_set(Ethumb *e, float time) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Get the video time (duration) in seconds.
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @return the video duration in seconds
|
||||
*/
|
||||
EAPI float ethumb_video_time_get(const Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
/**
|
||||
* @brief Set the video frame interval, in seconds
|
||||
*
|
||||
* This is useful for animated thumbnail and will define skip time
|
||||
* before going to the next frame. Note that video backends might not
|
||||
* be able to precisely skip that amount as it will depend on various
|
||||
* factors, including video encoding.
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @param interval the frame display interval in seconds
|
||||
*/
|
||||
EAPI void ethumb_video_interval_set(Ethumb *e, float interval) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Get the video frame interval, in seconds
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @return the frame display interval in seconds
|
||||
*/
|
||||
EAPI float ethumb_video_interval_get(const Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
/**
|
||||
* @brief Set the number of times the video loops (if applicable).
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @param ntimes The number of times the video loops.
|
||||
*/
|
||||
EAPI void ethumb_video_ntimes_set(Ethumb *e, unsigned int ntimes) EINA_ARG_NONNULL(1);
|
||||
/**
|
||||
* @brief Get the number of times the video loops (if applicable).
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @return The number of times the video loops.
|
||||
*/
|
||||
EAPI unsigned int ethumb_video_ntimes_get(const Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
/**
|
||||
* @brief Set the thumbnail framerate.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @param fps New framerate of the thumbnail (default 10).
|
||||
*/
|
||||
EAPI void ethumb_video_fps_set(Ethumb *e, unsigned int fps) EINA_ARG_NONNULL(1);
|
||||
/**
|
||||
* @brief Get the thumbnail framerate.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @return Current framerate of the thumbnail.
|
||||
*/
|
||||
EAPI unsigned int ethumb_video_fps_get(const Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
|
||||
/**
|
||||
* @brief Set the page number to thumbnail in paged documents
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @param page the page number.
|
||||
*/
|
||||
EAPI void ethumb_document_page_set(Ethumb *e, unsigned int page) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Get the page number thumbnailed in paged documents
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @return the page number.
|
||||
*/
|
||||
EAPI unsigned int ethumb_document_page_get(const Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
/**
|
||||
* @}
|
||||
|
@ -252,15 +495,74 @@ EAPI unsigned int ethumb_document_page_get(const Ethumb *e) EINA_WARN_UNUSED_RES
|
|||
* @addtogroup Ethumb_Basics Ethumb Basics
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Set the file for which to generate thumbnails.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @param path The file to use.
|
||||
* @param key If @a path allows storing multiple resources in a single file
|
||||
* (EET or Edje for instance), @a key is the key used to locate the
|
||||
* right resource inside the file. NULL if not applicable.
|
||||
*/
|
||||
EAPI Eina_Bool ethumb_file_set(Ethumb *e, const char *path, const char *key) EINA_ARG_NONNULL(1, 2);
|
||||
/**
|
||||
* @brief Get the file for which to generate thumbnails.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
* @param[out] path The file being used.
|
||||
* @param[out] key The key used to locate the right resource in case the file
|
||||
* can store several of them. NULL if not applicable.
|
||||
* @see ethumb_file_set
|
||||
*/
|
||||
EAPI void ethumb_file_get(const Ethumb *e, const char **path, const char **key) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Reset the source file information.
|
||||
*
|
||||
* @param e A pointer to an Ethumb object.
|
||||
*/
|
||||
EAPI void ethumb_file_free(Ethumb *e) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Generate the thumbnail.
|
||||
*
|
||||
* @param e handle of the current thumbnailer.
|
||||
* @param finished_cb The callback function to run on opertaion end
|
||||
* @param free_data The callback function to run on free data.
|
||||
*
|
||||
* @return EINA_TRUE on success and EINA_FALSE on failure
|
||||
*/
|
||||
EAPI Eina_Bool ethumb_generate(Ethumb *e, Ethumb_Generate_Cb finished_cb, const void *data, Eina_Free_Cb free_data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @brief test if the thumbnailer exists
|
||||
*
|
||||
* @param e handle of the thumbnailer to test.
|
||||
*
|
||||
* @return EINA_TRUE if thumbnailer exists and EINA_FALSE otherwise.
|
||||
*/
|
||||
EAPI Eina_Bool ethumb_exists(Ethumb *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
|
||||
|
||||
/**
|
||||
* @brief Duplicate an thumbnailer
|
||||
*
|
||||
* @param e Handle of the thumbnailer to duplicate
|
||||
*
|
||||
* @return a new allocated copy of the thumbnailer.
|
||||
*/
|
||||
EAPI Ethumb *ethumb_dup(const Ethumb *e) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* @brief Compare two thumbnailers.
|
||||
*
|
||||
* @param e1 First handle of thumbnailer to compare
|
||||
* @param e2 Second handle of thumbnailer to compare
|
||||
*
|
||||
* @return EINA_TRUE if the thumbnailers are equal and EINA_FALSE otherwise
|
||||
*/
|
||||
EAPI Eina_Bool ethumb_cmp(const Ethumb *e1, const Ethumb *e2) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT EINA_PURE;
|
||||
|
||||
EAPI int ethumb_hash(const void *key, int key_length) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT EINA_PURE;
|
||||
EAPI int ethumb_key_cmp(const void *key1, int key1_length,
|
||||
const void *key2, int key2_length) EINA_ARG_NONNULL(1, 3) EINA_WARN_UNUSED_RESULT EINA_PURE;
|
||||
|
|
|
@ -2,15 +2,46 @@
|
|||
# error You shall not include this header directly
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def EVAS_VERSION_MAJOR
|
||||
* The major number of evas version
|
||||
*/
|
||||
#define EVAS_VERSION_MAJOR EFL_VERSION_MAJOR
|
||||
|
||||
/**
|
||||
* @def EVAS_VERSION_MINOR
|
||||
* The minor number of eet version
|
||||
*/
|
||||
#define EVAS_VERSION_MINOR EFL_VERSION_MINOR
|
||||
|
||||
/**
|
||||
* @typedef Evas_Version
|
||||
*
|
||||
* This is the Evas version information structure that can be used at
|
||||
* runtime to detect which version of evas is being used and adapt
|
||||
* appropriately as follows for example:
|
||||
*
|
||||
* @code
|
||||
* #if defined(EVAS_VERSION_MAJOR) && (EVAS_VERSION_MAJOR >= 1) && defined(EVAS_VERSION_MINOR) && (EVAS_VERSION_MINOR > 0)
|
||||
* printf("Evas version: %i.%i.%i\n",
|
||||
* evas_version->major,
|
||||
* evas_version->minor,
|
||||
* evas_version->micro);
|
||||
* if (evas_version->revision > 0)
|
||||
* {
|
||||
* printf(" Built from Git revision # %i\n", evas_version->revision);
|
||||
* }
|
||||
* #endif
|
||||
* @endcode
|
||||
*
|
||||
*/
|
||||
|
||||
typedef struct _Evas_Version
|
||||
{
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int revision;
|
||||
int major; /**< major (binary or source incompatible changes) */
|
||||
int minor; /**< minor (new features, bugfixes, major improvements version) */
|
||||
int micro; /**< micro (bugfix, internal improvements, no new features version) */
|
||||
int revision; /**< git revision (0 if a proper release or the git revision number Evas is built from) */
|
||||
} Evas_Version;
|
||||
|
||||
EAPI extern Evas_Version * evas_version;
|
||||
|
@ -197,8 +228,8 @@ typedef struct _Evas_Point Evas_Point; /**< integer point */
|
|||
typedef struct _Evas_Coord_Point Evas_Coord_Point; /**< Evas_Coord point */
|
||||
typedef struct _Evas_Coord_Precision_Point Evas_Coord_Precision_Point; /**< Evas_Coord point with sub-pixel precision */
|
||||
|
||||
typedef struct _Evas_Coord_Size Evas_Coord_Size; /** <Evas_Coord size @since 1.8 */
|
||||
typedef struct _Evas_Coord_Precision_Size Evas_Coord_Precision_Size; /** <Evas_Coord size with sub-pixel precision @since 1.8 */
|
||||
typedef struct _Evas_Coord_Size Evas_Coord_Size; /**< Evas_Coord size @since 1.8 */
|
||||
typedef struct _Evas_Coord_Precision_Size Evas_Coord_Precision_Size; /**< Evas_Coord size with sub-pixel precision @since 1.8 */
|
||||
|
||||
typedef struct _Evas_Position Evas_Position; /**< associates given point in Canvas and Output */
|
||||
typedef struct _Evas_Precision_Position Evas_Precision_Position; /**< associates given point in Canvas and Output, with sub-pixel precision */
|
||||
|
@ -276,6 +307,7 @@ typedef struct _Evas_Public_Data Evas_Public_Data;
|
|||
*/
|
||||
typedef Eo Evas_Object;
|
||||
|
||||
/* This define is used in H files generated by Eolian */
|
||||
#define _EVAS_OBJECT_EO_CLASS_TYPE
|
||||
|
||||
typedef void Evas_Performance; /**< An Evas Performance handle */
|
||||
|
@ -296,11 +328,11 @@ typedef struct _Evas_Video_Surface Evas_Video_Surface;
|
|||
|
||||
typedef unsigned long long Evas_Modifier_Mask; /**< An Evas modifier mask type */
|
||||
|
||||
typedef int Evas_Coord;
|
||||
typedef int Evas_Font_Size;
|
||||
typedef int Evas_Angle;
|
||||
typedef int Evas_Coord;/**< A type for coordinates */;
|
||||
typedef int Evas_Font_Size; /**< A type for font size */
|
||||
typedef int Evas_Angle; /**< A type for angle */
|
||||
|
||||
struct _Evas_Coord_Rectangle /**< A rectangle in Evas_Coord */
|
||||
struct _Evas_Coord_Rectangle /** A rectangle in Evas_Coord */
|
||||
{
|
||||
Evas_Coord x; /**< top-left x co-ordinate of rectangle */
|
||||
Evas_Coord y; /**< top-left y co-ordinate of rectangle */
|
||||
|
@ -308,47 +340,51 @@ struct _Evas_Coord_Rectangle /**< A rectangle in Evas_Coord */
|
|||
Evas_Coord h; /**< height of rectangle */
|
||||
};
|
||||
|
||||
struct _Evas_Coord_Point
|
||||
struct _Evas_Coord_Point /** A Point in Evas_Coord */
|
||||
{
|
||||
Evas_Coord x; /**< x co-ordinate */
|
||||
Evas_Coord y; /**< y co-ordinate */
|
||||
};
|
||||
|
||||
struct _Evas_Coord_Size
|
||||
struct _Evas_Coord_Size /** A size in Evas_Coord */
|
||||
{
|
||||
Evas_Coord w; /**< width */
|
||||
Evas_Coord h; /**< height */
|
||||
};
|
||||
|
||||
struct _Evas_Coord_Precision_Size
|
||||
|
||||
struct _Evas_Coord_Precision_Size /** A size in Evas_Coord with subpixel precision*/
|
||||
{
|
||||
Evas_Coord w; /** < width */
|
||||
Evas_Coord h; /** < height */
|
||||
double wsub; /** < subpixel precision for width */
|
||||
double ysub; /** < subpixel precision for height */
|
||||
Evas_Coord w; /**< width */
|
||||
Evas_Coord h; /**< height */
|
||||
double wsub; /**< subpixel precision for width */
|
||||
double ysub; /**< subpixel precision for height */
|
||||
};
|
||||
|
||||
struct _Evas_Coord_Precision_Point
|
||||
struct _Evas_Coord_Precision_Point /** A point in Evas_Coord with subpixel precision*/
|
||||
{
|
||||
Evas_Coord x, y;
|
||||
double xsub, ysub;
|
||||
Evas_Coord x; /**< x co-ordinate */
|
||||
Evas_Coord y; /**< y co-ordinate */
|
||||
double xsub; /**< subpixel precision for x */
|
||||
double ysub; /**< subpixel precision for y */
|
||||
};
|
||||
|
||||
struct _Evas_Point
|
||||
struct _Evas_Point /** A point */
|
||||
{
|
||||
int x, y;
|
||||
int x; /**< x co-ordinate */
|
||||
int y; /**< y co-ordinate */
|
||||
};
|
||||
|
||||
struct _Evas_Position
|
||||
struct _Evas_Position /** A position */
|
||||
{
|
||||
Evas_Point output;
|
||||
Evas_Point output; /**< position on the output */
|
||||
Evas_Coord_Point canvas; /**< position on the canvas */
|
||||
};
|
||||
|
||||
struct _Evas_Precision_Position
|
||||
struct _Evas_Precision_Position /** A position with precision*/
|
||||
{
|
||||
Evas_Point output;
|
||||
Evas_Coord_Precision_Point canvas;
|
||||
Evas_Point output; /**< position on the output */
|
||||
Evas_Coord_Precision_Point canvas; /**< position on the canvas */
|
||||
};
|
||||
|
||||
typedef enum _Evas_Aspect_Control
|
||||
|
@ -416,7 +452,11 @@ struct _Evas_Pixel_Import_Source
|
|||
void **rows; /**< an array of pointers (size depends on format) pointing to left edge of each scanline */
|
||||
};
|
||||
|
||||
/* magic version number to know what the native surf struct looks like */
|
||||
/**
|
||||
* @def EVAS_NATIVE_SURFACE_VERSION
|
||||
* Magic version number to know what the native surface struct looks like
|
||||
*/
|
||||
|
||||
#define EVAS_NATIVE_SURFACE_VERSION 2
|
||||
|
||||
/**
|
||||
|
@ -478,12 +518,13 @@ struct _Evas_Native_Surface
|
|||
*/
|
||||
#define EVAS_VIDEO_SURFACE_VERSION 1
|
||||
|
||||
typedef void (*Evas_Video_Cb)(void *data, Evas_Object *obj, const Evas_Video_Surface *surface);
|
||||
typedef void (*Evas_Video_Coord_Cb)(void *data, Evas_Object *obj, const Evas_Video_Surface *surface, Evas_Coord a, Evas_Coord b);
|
||||
|
||||
typedef void (*Evas_Video_Cb)(void *data, Evas_Object *obj, const Evas_Video_Surface *surface); /**< Evas video callback function signature */
|
||||
typedef void (*Evas_Video_Coord_Cb)(void *data, Evas_Object *obj, const Evas_Video_Surface *surface, Evas_Coord a, Evas_Coord b); /**< Evas video coordinates callback function signature */
|
||||
|
||||
struct _Evas_Video_Surface
|
||||
{
|
||||
int version;
|
||||
int version; /**< The Evas Video surface version in use @see EVAS_VIDEO_SURFACE_VERSION*/
|
||||
|
||||
Evas_Video_Coord_Cb move; /**< Move the video surface to this position */
|
||||
Evas_Video_Coord_Cb resize; /**< Resize the video surface to that size */
|
||||
|
@ -491,18 +532,24 @@ struct _Evas_Video_Surface
|
|||
Evas_Video_Cb hide; /**< Hide the video overlay surface */
|
||||
Evas_Video_Cb update_pixels; /**< Please update the Evas_Object_Image pixels when called */
|
||||
|
||||
Evas_Object *parent;
|
||||
Evas_Object *parent; /**< The parent object */
|
||||
void *data;
|
||||
};
|
||||
|
||||
/**
|
||||
* Enum values for the Video surface capabilities
|
||||
* @see evas_object_image_video_surface_caps_get()
|
||||
* @see evas_object_image_video_surface_caps_set()
|
||||
*/
|
||||
|
||||
typedef enum _Evas_Video_Surface_Caps
|
||||
{
|
||||
EVAS_VIDEO_SURFACE_MOVE = 1,
|
||||
EVAS_VIDEO_SURFACE_RESIZE = 2,
|
||||
EVAS_VIDEO_SURFACE_CLIP = 4,
|
||||
EVAS_VIDEO_SURFACE_BELOW = 8,
|
||||
EVAS_VIDEO_SURFACE_STACKING_CHECK = 16,
|
||||
EVAS_VIDEO_SURFACE_IGNORE_WINDOW = 32,
|
||||
EVAS_VIDEO_SURFACE_MOVE = 1, /**< Move capability */
|
||||
EVAS_VIDEO_SURFACE_RESIZE = 2, /**< Resize capability */
|
||||
EVAS_VIDEO_SURFACE_CLIP = 4, /**< Clip capability */
|
||||
EVAS_VIDEO_SURFACE_BELOW = 8, /**< Below capability */
|
||||
EVAS_VIDEO_SURFACE_STACKING_CHECK = 16, /**< Stacking capability */
|
||||
EVAS_VIDEO_SURFACE_IGNORE_WINDOW = 32, /**< Ignore window capability */
|
||||
} Evas_Video_Surface_Caps;
|
||||
|
||||
#define EVAS_LAYER_MIN -32768 /**< bottom-most layer number */
|
||||
|
@ -549,9 +596,9 @@ typedef enum _Evas_Border_Fill_Mode
|
|||
|
||||
typedef enum _Evas_Engine_Render_Mode
|
||||
{
|
||||
EVAS_RENDER_MODE_BLOCKING = 0,
|
||||
EVAS_RENDER_MODE_NONBLOCKING = 1,
|
||||
} Evas_Engine_Render_Mode;
|
||||
EVAS_RENDER_MODE_BLOCKING = 0, /**< The rendering is blocking mode*/
|
||||
EVAS_RENDER_MODE_NONBLOCKING = 1, /**< The rendering is non blocking mode*/
|
||||
} Evas_Engine_Render_Mode; /**< behaviour of the renderer*/
|
||||
|
||||
typedef enum _Evas_Image_Content_Hint
|
||||
{
|
||||
|
@ -819,9 +866,9 @@ typedef enum _Evas_Object_Pointer_Mode
|
|||
|
||||
typedef void (*Evas_Smart_Cb)(void *data, Evas_Object *obj, void *event_info); /**< Evas smart objects' "smart callback" function signature */
|
||||
typedef void (*Evas_Event_Cb)(void *data, Evas *e, void *event_info); /**< Evas event callback function signature */
|
||||
typedef Eina_Bool (*Evas_Object_Event_Post_Cb)(void *data, Evas *e);
|
||||
typedef Eina_Bool (*Evas_Object_Event_Post_Cb)(void *data, Evas *e); /**< Evas object event (post) callback function signature */
|
||||
typedef void (*Evas_Object_Event_Cb)(void *data, Evas *e, Evas_Object *obj, void *event_info); /**< Evas object event callback function signature */
|
||||
typedef void (*Evas_Async_Events_Put_Cb)(void *target, Evas_Callback_Type type, void *event_info);
|
||||
typedef void (*Evas_Async_Events_Put_Cb)(void *target, Evas_Callback_Type type, void *event_info); /**< Evas async callback function signature */
|
||||
|
||||
/**
|
||||
* @defgroup Evas_Main_Group Top Level Functions
|
||||
|
@ -1011,6 +1058,8 @@ EAPI int evas_async_events_process(void);
|
|||
* @param event_info Information about the event.
|
||||
* @param func The callback function pointer.
|
||||
*
|
||||
* @return EINA_FALSE if an error occured, EINA_TRUE otherwise.
|
||||
*
|
||||
* This is the way, for a routine running outside evas' main thread,
|
||||
* to report an asynchronous event. A callback function is informed,
|
||||
* whose call is to happen after evas_async_events_process() is
|
||||
|
@ -1301,10 +1350,12 @@ EAPI void evas_render_updates_free(Eina_List *updates);
|
|||
*
|
||||
* @param e The canvas to create the device node for.
|
||||
*
|
||||
* Adds a new device nod to the given canvas @p e. All devices created as
|
||||
* Adds a new device node to the given canvas @p e. All devices created as
|
||||
* part of the canvas @p e will automatically be deleted when the canvas
|
||||
* is freed.
|
||||
*
|
||||
* @return the device node created or NULL if an error occured.
|
||||
*
|
||||
* @see evas_device_del
|
||||
* @since 1.8
|
||||
*/
|
||||
|
@ -1313,6 +1364,8 @@ EAPI Evas_Device *evas_device_add(Evas *e);
|
|||
/**
|
||||
* Delete a new device type
|
||||
*
|
||||
* @param dev The device node you want to delete.
|
||||
*
|
||||
* @see evas_device_add
|
||||
* @see evas_device_push
|
||||
* @see evas_device_pop
|
||||
|
@ -2303,6 +2356,7 @@ EAPI void evas_map_alpha_set(Evas_Map *m, Eina_Bool enabled);
|
|||
* This gets the alpha flag for map rendering.
|
||||
*
|
||||
* @param m map to get the alpha from. Must not be NULL.
|
||||
* @return EINA_FALSE if map is NULL EINA_TRUE otherwise.
|
||||
*/
|
||||
EAPI Eina_Bool evas_map_alpha_get(const Evas_Map *m);
|
||||
|
||||
|
@ -2514,18 +2568,173 @@ EAPI void evas_map_point_color_get(const Evas_Map *m, int idx, int *r
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* Function signature for the resize event of an evas object
|
||||
*
|
||||
* @param data is the pointer passed through the callback.
|
||||
* @param obj the object being shown.
|
||||
*
|
||||
* @see evas_object_intercept_show_callback_add()
|
||||
* @see evas_object_intercept_show_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Show_Cb)(void *data, Evas_Object *obj);
|
||||
|
||||
/**
|
||||
* Function signature for the hide event of an evas object
|
||||
*
|
||||
* @param data is the pointer passed through the callback.
|
||||
* @param obj the object being hidden.
|
||||
*
|
||||
* @see evas_object_intercept_hide_callback_add()
|
||||
* @see evas_object_intercept_hide_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Hide_Cb)(void *data, Evas_Object *obj);
|
||||
|
||||
/**
|
||||
* Function signature for the move event of an evas object
|
||||
*
|
||||
* @param data the pointer passed through the callback.
|
||||
* @param obj the object being moved.
|
||||
* @param x move x position
|
||||
* @param y move y position
|
||||
*
|
||||
* @see evas_object_intercept_move_callback_add()
|
||||
* @see evas_object_intercept_move_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Move_Cb)(void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y);
|
||||
|
||||
/**
|
||||
* Function signature for the resize event of an evas object
|
||||
*
|
||||
* @param data the pointer passed through the callback.
|
||||
* @param obj the object being resized.
|
||||
* @param width of the object
|
||||
* @param height of the object
|
||||
*
|
||||
* @see evas_object_intercept_resize_callback_add()
|
||||
* @see evas_object_intercept_resize_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Resize_Cb)(void *data, Evas_Object *obj, Evas_Coord w, Evas_Coord h);
|
||||
|
||||
/**
|
||||
* Function signature for the raise event of an evas object
|
||||
*
|
||||
* @param data the pointer passed through the callback.
|
||||
* @param obj the object being raised.
|
||||
*
|
||||
* @see evas_object_intercept_raise_callback_add()
|
||||
* @see evas_object_intercept_raise_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Raise_Cb)(void *data, Evas_Object *obj);
|
||||
|
||||
/**
|
||||
* Function signature for the lower event of an evas object
|
||||
*
|
||||
* @param data the pointer passed through the callback.
|
||||
* @param obj the object being lowered.
|
||||
*
|
||||
* @see evas_object_intercept_lower_callback_add()
|
||||
* @see evas_object_intercept_lower_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Lower_Cb)(void *data, Evas_Object *obj);
|
||||
|
||||
/**
|
||||
* Function signature for the stack above event of an evas object
|
||||
*
|
||||
* @param data the pointer passed through the callback.
|
||||
* @param obj the object being stacked above.
|
||||
* @param above the object above which the object is stacked
|
||||
*
|
||||
* @see evas_object_intercept_stack_above_callback_add()
|
||||
* @see evas_object_intercept_stack_above_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Stack_Above_Cb)(void *data, Evas_Object *obj, Evas_Object *above);
|
||||
|
||||
/**
|
||||
* Function signature for the stack below event of an evas object
|
||||
*
|
||||
* @param data the pointer passed through the callback.
|
||||
* @param obj the object being stacked below.
|
||||
* @param above the object below which the object is stacked
|
||||
*
|
||||
* @see evas_object_intercept_stack_below_callback_add()
|
||||
* @see evas_object_intercept_stack_below_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Stack_Below_Cb)(void *data, Evas_Object *obj, Evas_Object *above);
|
||||
|
||||
/**
|
||||
* Function signature for the layer event of an evas object
|
||||
*
|
||||
* @param data the pointer passed through the callback.
|
||||
* @param obj the object being layered
|
||||
* @param l the layer value
|
||||
*
|
||||
* @see evas_object_intercept_layer_callback_add()
|
||||
* @see evas_object_intercept_layer_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Layer_Set_Cb)(void *data, Evas_Object *obj, int l);
|
||||
|
||||
/**
|
||||
* Function signature for the focus set event of an evas object
|
||||
*
|
||||
* @param data the pointer passed through the callback.
|
||||
* @param obj the object being focused
|
||||
* @param focus the focus value, EINA_TRUE if the object is focused, EINA_FALSE otherwise
|
||||
*
|
||||
* @see evas_object_intercept_focus_set_callback_add()
|
||||
* @see evas_object_intercept_focus_set_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Focus_Set_Cb)(void *data, Evas_Object *obj, Eina_Bool focus);
|
||||
|
||||
/**
|
||||
* Function signature for the color set event of an evas object
|
||||
*
|
||||
* @param data the pointer passed through the callback.
|
||||
* @param obj the object changing color
|
||||
* @param r the red component of the color
|
||||
* @param g the green component of the color
|
||||
* @param b the blue component of the color
|
||||
* @param a the alpha component of the color
|
||||
*
|
||||
* @see evas_object_intercept_color_set_callback_add()
|
||||
* @see evas_object_intercept_color_set_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Color_Set_Cb)(void *data, Evas_Object *obj, int r, int g, int b, int a);
|
||||
|
||||
/**
|
||||
* Function signature for the clip set event of an evas object
|
||||
*
|
||||
* @param data the pointer passed through the callback.
|
||||
* @param obj the object being clipped
|
||||
* @param clip the evas object on which the object is clipped
|
||||
*
|
||||
* @see evas_object_intercept_clip_set_callback_add()
|
||||
* @see evas_object_intercept_clip_set_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Clip_Set_Cb)(void *data, Evas_Object *obj, Evas_Object *clip);
|
||||
|
||||
/**
|
||||
* Function signature for the clip unset event of an evas object
|
||||
*
|
||||
* @param data the pointer passed through the callback.
|
||||
* @param obj the object being unclipped
|
||||
*
|
||||
* @see evas_object_intercept_clip_unset_callback_add()
|
||||
* @see evas_object_intercept_clip_unset_callback_del()
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Intercept_Clip_Unset_Cb)(void *data, Evas_Object *obj);
|
||||
|
||||
/**
|
||||
|
@ -2885,7 +3094,14 @@ typedef void (*Evas_Object_Intercept_Clip_Unset_Cb)(void *data, Evas_Object *obj
|
|||
* @{
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Function signature for the evas object pixels get callback function
|
||||
* @see evas_object_image_pixels_get()
|
||||
*
|
||||
* By @a data it will be passed the private data. By @a o it will be passed the
|
||||
* Evas_Object image on which the pixels are requested.
|
||||
*
|
||||
*/
|
||||
typedef void (*Evas_Object_Image_Pixels_Get_Cb)(void *data, Evas_Object *o);
|
||||
|
||||
/**
|
||||
|
@ -2953,6 +3169,13 @@ EAPI Eina_Bool evas_object_image_extension_can_load_fast_get
|
|||
#define EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(x, s) \
|
||||
do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION) | (s); } while (0)
|
||||
|
||||
/**
|
||||
* @typedef Evas_Text_Style_Type
|
||||
*
|
||||
* Types of styles to be applied on text objects. The @c
|
||||
* EVAS_TEXT_STYLE_SHADOW_DIRECTION_* ones are to be ORed together with others
|
||||
* imposing shadow, to change shadow's direction
|
||||
*/
|
||||
typedef enum _Evas_Text_Style_Type
|
||||
{
|
||||
EVAS_TEXT_STYLE_PLAIN, /**< plain, standard text */
|
||||
|
@ -2975,8 +3198,7 @@ typedef enum _Evas_Text_Style_Type
|
|||
EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP = (0x5 << 4), /**< shadow growing to the top */
|
||||
EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT = (0x6 << 4), /**< shadow growing to top right */
|
||||
EVAS_TEXT_STYLE_SHADOW_DIRECTION_RIGHT = (0x7 << 4) /**< shadow growing to the right */
|
||||
} Evas_Text_Style_Type; /**< Types of styles to be applied on text objects. The @c EVAS_TEXT_STYLE_SHADOW_DIRECTION_* ones are to be ORed together with others imposing shadow, to change shadow's direction */
|
||||
|
||||
} Evas_Text_Style_Type;
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
@ -3111,31 +3333,55 @@ typedef enum _Evas_Text_Style_Type
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Evas_Textblock_Style
|
||||
*
|
||||
* A textblock style object.
|
||||
* @see evas_textblock_style_new()
|
||||
* @see evas_textblock_style_get()
|
||||
* @see evas_textblock_style_set()
|
||||
*/
|
||||
|
||||
typedef struct _Evas_Textblock_Style Evas_Textblock_Style;
|
||||
|
||||
/**
|
||||
* @typedef Evas_Textblock_Cursor
|
||||
*
|
||||
* A textblock cursor object, used to maipulate the cursor of an evas textblock
|
||||
* @see evas_object_textblock_cursor_new
|
||||
*
|
||||
*/
|
||||
typedef struct _Evas_Textblock_Cursor Evas_Textblock_Cursor;
|
||||
|
||||
/**
|
||||
* @typedef Evas_Object_Textblock_Node_Format
|
||||
* A format node.
|
||||
*/
|
||||
typedef struct _Evas_Object_Textblock_Node_Format Evas_Object_Textblock_Node_Format;
|
||||
typedef struct _Evas_Textblock_Rectangle Evas_Textblock_Rectangle;
|
||||
|
||||
typedef struct _Evas_Textblock_Rectangle Evas_Textblock_Rectangle;
|
||||
struct _Evas_Textblock_Rectangle
|
||||
{
|
||||
Evas_Coord x, y, w, h;
|
||||
};
|
||||
|
||||
/**
|
||||
* Text type for evas textblock.
|
||||
*/
|
||||
typedef enum _Evas_Textblock_Text_Type
|
||||
{
|
||||
EVAS_TEXTBLOCK_TEXT_RAW,
|
||||
EVAS_TEXTBLOCK_TEXT_PLAIN,
|
||||
EVAS_TEXTBLOCK_TEXT_MARKUP
|
||||
EVAS_TEXTBLOCK_TEXT_RAW, /**< textblock text of type raw */
|
||||
EVAS_TEXTBLOCK_TEXT_PLAIN, /**< textblock text of type plain */
|
||||
EVAS_TEXTBLOCK_TEXT_MARKUP /**< textblock text of type markup */
|
||||
} Evas_Textblock_Text_Type;
|
||||
|
||||
/**
|
||||
* Cursor type for evas textblock.
|
||||
*/
|
||||
typedef enum _Evas_Textblock_Cursor_Type
|
||||
{
|
||||
EVAS_TEXTBLOCK_CURSOR_UNDER,
|
||||
EVAS_TEXTBLOCK_CURSOR_BEFORE
|
||||
EVAS_TEXTBLOCK_CURSOR_UNDER, /**< cursor type is under */
|
||||
EVAS_TEXTBLOCK_CURSOR_BEFORE /**< cursor type is before */
|
||||
} Evas_Textblock_Cursor_Type;
|
||||
|
||||
/**
|
||||
|
@ -3694,6 +3940,13 @@ EAPI int evas_textblock_cursor_line_coord_s
|
|||
* @return a list of Rectangles representing the geometry of the range.
|
||||
*/
|
||||
EAPI Eina_List *evas_textblock_cursor_range_geometry_get(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Get the geometry of ?
|
||||
*
|
||||
* @param cur one side of the range.
|
||||
* @param cur2 other side of the range.
|
||||
*/
|
||||
EAPI Eina_Bool evas_textblock_cursor_format_item_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
|
|
|
@ -402,10 +402,10 @@ typedef enum _Evas_GL_Color_Format
|
|||
typedef enum _Evas_GL_Depth_Bits
|
||||
{
|
||||
EVAS_GL_DEPTH_NONE = 0,
|
||||
EVAS_GL_DEPTH_BIT_8 = 1,
|
||||
EVAS_GL_DEPTH_BIT_16 = 2,
|
||||
EVAS_GL_DEPTH_BIT_24 = 3,
|
||||
EVAS_GL_DEPTH_BIT_32 = 4
|
||||
EVAS_GL_DEPTH_BIT_8 = 1, /**< 8 bits precision surface depth */
|
||||
EVAS_GL_DEPTH_BIT_16 = 2, /**< 16 bits precision surface depth */
|
||||
EVAS_GL_DEPTH_BIT_24 = 3, /**< 24 bits precision surface depth */
|
||||
EVAS_GL_DEPTH_BIT_32 = 4 /**< 32 bits precision surface depth */
|
||||
} Evas_GL_Depth_Bits;
|
||||
|
||||
/**
|
||||
|
@ -414,11 +414,11 @@ typedef enum _Evas_GL_Depth_Bits
|
|||
typedef enum _Evas_GL_Stencil_Bits
|
||||
{
|
||||
EVAS_GL_STENCIL_NONE = 0,
|
||||
EVAS_GL_STENCIL_BIT_1 = 1,
|
||||
EVAS_GL_STENCIL_BIT_2 = 2,
|
||||
EVAS_GL_STENCIL_BIT_4 = 3,
|
||||
EVAS_GL_STENCIL_BIT_8 = 4,
|
||||
EVAS_GL_STENCIL_BIT_16 = 5
|
||||
EVAS_GL_STENCIL_BIT_1 = 1, /**< 1 bit precision for stencil buffer */
|
||||
EVAS_GL_STENCIL_BIT_2 = 2, /**< 2 bits precision for stencil buffer */
|
||||
EVAS_GL_STENCIL_BIT_4 = 3, /**< 4 bits precision for stencil buffer */
|
||||
EVAS_GL_STENCIL_BIT_8 = 4, /**< 8 bits precision for stencil buffer */
|
||||
EVAS_GL_STENCIL_BIT_16 = 5 /**< 16 bits precision for stencil buffer */
|
||||
} Evas_GL_Stencil_Bits;
|
||||
|
||||
/**
|
||||
|
|
|
@ -986,7 +986,7 @@ EAPI Evas_Object *evas_object_top_at_pointer_get(const Evas *e) EINA_WARN_UNUSED
|
|||
*/
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a show event of a object.
|
||||
* Set the callback function that intercepts a show event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
|
@ -1001,8 +1001,7 @@ EAPI Evas_Object *evas_object_top_at_pointer_get(const Evas *e) EINA_WARN_UNUSED
|
|||
EAPI void evas_object_intercept_show_callback_add(Evas_Object *obj, Evas_Object_Intercept_Show_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a show event of a
|
||||
* object.
|
||||
* Unset the callback function that intercepts a show event of a object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
|
@ -1031,8 +1030,7 @@ EAPI void *evas_object_intercept_show_callback_del(Evas_Object *obj, Evas_Object
|
|||
EAPI void evas_object_intercept_hide_callback_add(Evas_Object *obj, Evas_Object_Intercept_Hide_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a hide event of a
|
||||
* object.
|
||||
* Unset the callback function that intercepts a hide event of a object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
|
@ -1046,7 +1044,7 @@ EAPI void evas_object_intercept_hide_callback_add(Evas_Object *obj, Evas_Object
|
|||
EAPI void *evas_object_intercept_hide_callback_del(Evas_Object *obj, Evas_Object_Intercept_Hide_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a move event of a object.
|
||||
* Set the callback function that intercepts a move event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
|
@ -1061,8 +1059,7 @@ EAPI void *evas_object_intercept_hide_callback_del(Evas_Object *obj, Evas_Object
|
|||
EAPI void evas_object_intercept_move_callback_add(Evas_Object *obj, Evas_Object_Intercept_Move_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a move event of a
|
||||
* object.
|
||||
* Unset the callback function that intercepts a move event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
|
@ -1075,25 +1072,294 @@ EAPI void evas_object_intercept_move_callback_add(Evas_Object *obj, Evas_Object
|
|||
*/
|
||||
EAPI void *evas_object_intercept_move_callback_del(Evas_Object *obj, Evas_Object_Intercept_Move_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a resize event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
* @param data The data passed to the callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a resize event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_resize_callback_del().
|
||||
*
|
||||
*/
|
||||
EAPI void evas_object_intercept_resize_callback_add(Evas_Object *obj, Evas_Object_Intercept_Resize_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a resize event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a resize event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_resize_callback_add().
|
||||
*
|
||||
*/
|
||||
EAPI void *evas_object_intercept_resize_callback_del(Evas_Object *obj, Evas_Object_Intercept_Resize_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a raise event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
* @param data The data passed to the callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a raise event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_raise_callback_del().
|
||||
*
|
||||
*/
|
||||
EAPI void evas_object_intercept_raise_callback_add(Evas_Object *obj, Evas_Object_Intercept_Raise_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a raise event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a raise event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_raise_callback_add().
|
||||
*
|
||||
*/
|
||||
EAPI void *evas_object_intercept_raise_callback_del(Evas_Object *obj, Evas_Object_Intercept_Raise_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a lower event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
* @param data The data passed to the callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a lower event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_lower_callback_del().
|
||||
*
|
||||
*/
|
||||
EAPI void evas_object_intercept_lower_callback_add(Evas_Object *obj, Evas_Object_Intercept_Lower_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a lower event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a lower event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_lower_callback_add().
|
||||
*
|
||||
*/
|
||||
EAPI void *evas_object_intercept_lower_callback_del(Evas_Object *obj, Evas_Object_Intercept_Lower_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a stack above event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
* @param data The data passed to the callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a stack above event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_stack_above_callback_del().
|
||||
*
|
||||
*/
|
||||
EAPI void evas_object_intercept_stack_above_callback_add(Evas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a stack above event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a stack above event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_stack_above_callback_add().
|
||||
*
|
||||
*/
|
||||
EAPI void *evas_object_intercept_stack_above_callback_del(Evas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a stack below event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
* @param data The data passed to the callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a stack below event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_stack_below_callback_del().
|
||||
*
|
||||
*/
|
||||
EAPI void evas_object_intercept_stack_below_callback_add(Evas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a stack below event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a stack below event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_stack_below_callback_add().
|
||||
*
|
||||
*/
|
||||
EAPI void *evas_object_intercept_stack_below_callback_del(Evas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a layer set event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
* @param data The data passed to the callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a layer set event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_layer_set_callback_del().
|
||||
*
|
||||
*/
|
||||
EAPI void evas_object_intercept_layer_set_callback_add(Evas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a layer set event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a layer set event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_layer_set_callback_add().
|
||||
*
|
||||
*/
|
||||
EAPI void *evas_object_intercept_layer_set_callback_del(Evas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a color set event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
* @param data The data passed to the callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a color set event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_color_set_callback_del().
|
||||
*
|
||||
*/
|
||||
EAPI void evas_object_intercept_color_set_callback_add(Evas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a color set event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a color set event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_color_set_callback_add().
|
||||
*
|
||||
*/
|
||||
EAPI void *evas_object_intercept_color_set_callback_del(Evas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a clip set event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
* @param data The data passed to the callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a clip set event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_clip_set_callback_del().
|
||||
*
|
||||
*/
|
||||
EAPI void evas_object_intercept_clip_set_callback_add(Evas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a clip set event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a clip set event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_clip_set_callback_add().
|
||||
*
|
||||
*/
|
||||
EAPI void *evas_object_intercept_clip_set_callback_del(Evas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a clip unset event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
* @param data The data passed to the callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a clip unset event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_clip_unset_callback_del().
|
||||
*
|
||||
*/
|
||||
EAPI void evas_object_intercept_clip_unset_callback_add(Evas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a clip unset event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a clip unset event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_clip_unset_callback_add().
|
||||
*
|
||||
*/
|
||||
EAPI void *evas_object_intercept_clip_unset_callback_del(Evas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Set the callback function that intercepts a focus set event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given function to be the callback function.
|
||||
* @param data The data passed to the callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a focus set event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_focus_set_callback_del().
|
||||
*
|
||||
*/
|
||||
EAPI void evas_object_intercept_focus_set_callback_add(Evas_Object *obj, Evas_Object_Intercept_Focus_Set_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* Unset the callback function that intercepts a focus set event of an object.
|
||||
*
|
||||
* @param obj The given canvas object pointer.
|
||||
* @param func The given callback function.
|
||||
*
|
||||
* This function sets a callback function to intercepts a focus set event
|
||||
* of a canvas object.
|
||||
*
|
||||
* @see evas_object_intercept_focus_set_callback_add().
|
||||
*
|
||||
*/
|
||||
EAPI void *evas_object_intercept_focus_set_callback_del(Evas_Object *obj, Evas_Object_Intercept_Focus_Set_Cb func) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
|
@ -2218,27 +2484,30 @@ EAPI Evas_Object *evas_object_grid_add(Evas *evas) EINA_WARN_UNUSED_RESULT EIN
|
|||
*/
|
||||
|
||||
/**
|
||||
* @since 1.8
|
||||
*
|
||||
* Adds an output to the canvas
|
||||
*
|
||||
*
|
||||
* @parem e The canvas to add the output to
|
||||
* @return The output
|
||||
*
|
||||
* @see evas_out_engine_info_set
|
||||
* @see evas_output_viewport_set
|
||||
* @see evas_output_size_set
|
||||
*
|
||||
* @since 1.8
|
||||
*/
|
||||
EAPI Evas_Out *evas_out_add(Evas *e);
|
||||
|
||||
/**
|
||||
* @since 1.8
|
||||
*
|
||||
* Deletes an output
|
||||
*
|
||||
*
|
||||
* @parem evo The output object
|
||||
*
|
||||
* @see evas_out_add
|
||||
*
|
||||
* @since 1.8
|
||||
*
|
||||
*/
|
||||
EAPI void evas_output_del(Evas_Out *evo);
|
||||
|
||||
|
|
Loading…
Reference in New Issue