2003-06-02 16:49:56 -07:00
# ifndef _EDJE_H
# define _EDJE_H
2009-11-23 12:21:22 -08:00
# include <stdint.h>
# include <math.h>
2003-06-02 16:49:56 -07:00
# include <Evas.h>
2004-11-24 21:18:31 -08:00
# ifdef EAPI
2008-05-30 23:15:41 -07:00
# undef EAPI
2004-11-24 21:18:31 -08:00
# endif
2008-05-30 23:15:41 -07:00
# ifdef _WIN32
# ifdef EFL_EDJE_BUILD
# ifdef DLL_EXPORT
# define EAPI __declspec(dllexport)
# else
# define EAPI
# endif /* ! DLL_EXPORT */
2004-11-24 21:18:31 -08:00
# else
# define EAPI __declspec(dllimport)
2008-05-30 23:15:41 -07:00
# endif /* ! EFL_EDJE_BUILD */
2004-11-24 21:18:31 -08:00
# else
2005-12-27 09:17:31 -08:00
# ifdef __GNUC__
# if __GNUC__ >= 4
# define EAPI __attribute__ ((visibility("default")))
# else
# define EAPI
# endif
2004-11-24 21:18:31 -08:00
# else
# define EAPI
# endif
# endif
2009-12-08 22:51:13 -08:00
/**
2009-09-28 23:13:33 -07:00
* @ file Edje . h
* @ brief Edje Graphical Design Library
*
* These routines are used for Edje .
*/
2004-06-05 21:42:17 -07:00
/* FIXDOC: Define these? */
2004-07-16 16:34:26 -07:00
enum _Edje_Message_Type
2004-06-30 20:46:05 -07:00
{
2004-06-30 23:38:36 -07:00
EDJE_MESSAGE_NONE = 0 ,
2006-12-24 02:29:16 -08:00
2004-07-02 03:17:25 -07:00
EDJE_MESSAGE_SIGNAL = 1 , /* DONT USE THIS */
2006-12-24 02:29:16 -08:00
2004-06-30 23:38:36 -07:00
EDJE_MESSAGE_STRING = 2 ,
EDJE_MESSAGE_INT = 3 ,
EDJE_MESSAGE_FLOAT = 4 ,
2006-12-24 02:29:16 -08:00
2004-06-30 23:38:36 -07:00
EDJE_MESSAGE_STRING_SET = 5 ,
EDJE_MESSAGE_INT_SET = 6 ,
EDJE_MESSAGE_FLOAT_SET = 7 ,
2006-12-24 02:29:16 -08:00
2004-06-30 23:38:36 -07:00
EDJE_MESSAGE_STRING_INT = 8 ,
EDJE_MESSAGE_STRING_FLOAT = 9 ,
2006-12-24 02:29:16 -08:00
2004-06-30 23:38:36 -07:00
EDJE_MESSAGE_STRING_INT_SET = 10 ,
EDJE_MESSAGE_STRING_FLOAT_SET = 11
2004-07-16 16:34:26 -07:00
} ;
2004-07-27 12:05:46 -07:00
typedef enum _Edje_Message_Type Edje_Message_Type ;
2004-06-30 20:46:05 -07:00
2006-07-23 12:33:27 -07:00
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
} ;
typedef enum _Edje_Aspect_Control Edje_Aspect_Control ;
2008-12-17 18:43:20 -08:00
enum _Edje_Object_Table_Homogeneous_Mode
{
EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE = 0 ,
EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1 ,
EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2
} ;
typedef enum _Edje_Object_Table_Homogeneous_Mode Edje_Object_Table_Homogeneous_Mode ;
2009-09-15 20:37:28 -07:00
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 ,
2009-10-26 18:08:19 -07:00
EDJE_PART_TYPE_EXTERNAL = 10 ,
EDJE_PART_TYPE_LAST = 11
2009-09-15 20:37:28 -07:00
} Edje_Part_Type ;
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_LAST = 11
} Edje_Text_Effect ;
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_LUA_SCRIPT = 9 ,
2010-02-23 05:39:19 -08:00
EDJE_ACTION_TYPE_FOCUS_OBJECT = 10 ,
2010-03-26 18:26:10 -07:00
EDJE_ACTION_TYPE_PARAM_COPY = 11 ,
2010-03-31 13:48:51 -07:00
EDJE_ACTION_TYPE_PARAM_SET = 12 ,
EDJE_ACTION_TYPE_LAST = 13
2009-09-15 20:37:28 -07:00
} Edje_Action_Type ;
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_LAST = 5
} Edje_Tween_Mode ;
2009-12-01 03:02:46 -08:00
enum _Edje_Cursor
{
EDJE_CURSOR_MAIN ,
EDJE_CURSOR_SELECTION_BEGIN ,
EDJE_CURSOR_SELECTION_END
// more later
} ;
typedef enum _Edje_Cursor Edje_Cursor ;
2004-07-01 20:24:56 -07:00
typedef struct _Edje_Message_String Edje_Message_String ;
typedef struct _Edje_Message_Int Edje_Message_Int ;
typedef struct _Edje_Message_Float Edje_Message_Float ;
typedef struct _Edje_Message_String_Set Edje_Message_String_Set ;
typedef struct _Edje_Message_Int_Set Edje_Message_Int_Set ;
typedef struct _Edje_Message_Float_Set Edje_Message_Float_Set ;
typedef struct _Edje_Message_String_Int Edje_Message_String_Int ;
typedef struct _Edje_Message_String_Float Edje_Message_String_Float ;
typedef struct _Edje_Message_String_Int_Set Edje_Message_String_Int_Set ;
typedef struct _Edje_Message_String_Float_Set Edje_Message_String_Float_Set ;
struct _Edje_Message_String
{
char * str ;
} ;
struct _Edje_Message_Int
{
int val ;
} ;
struct _Edje_Message_Float
{
double val ;
} ;
struct _Edje_Message_String_Set
{
int count ;
char * str [ 1 ] ;
} ;
struct _Edje_Message_Int_Set
{
int count ;
int val [ 1 ] ;
} ;
struct _Edje_Message_Float_Set
{
int count ;
double val [ 1 ] ;
} ;
struct _Edje_Message_String_Int
{
char * str ;
int val ;
} ;
struct _Edje_Message_String_Float
{
char * str ;
double val ;
} ;
struct _Edje_Message_String_Int_Set
{
char * str ;
int count ;
int val [ 1 ] ;
} ;
struct _Edje_Message_String_Float_Set
{
char * str ;
int count ;
double val [ 1 ] ;
} ;
enum
{
EDJE_DRAG_DIR_NONE = 0 ,
EDJE_DRAG_DIR_X = 1 ,
EDJE_DRAG_DIR_Y = 2 ,
EDJE_DRAG_DIR_XY = 3
} ;
enum
{
EDJE_LOAD_ERROR_NONE = 0 ,
EDJE_LOAD_ERROR_GENERIC = 1 ,
EDJE_LOAD_ERROR_DOES_NOT_EXIST = 2 ,
EDJE_LOAD_ERROR_PERMISSION_DENIED = 3 ,
EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4 ,
EDJE_LOAD_ERROR_CORRUPT_FILE = 5 ,
EDJE_LOAD_ERROR_UNKNOWN_FORMAT = 6 ,
2005-10-16 13:36:20 -07:00
EDJE_LOAD_ERROR_INCOMPATIBLE_FILE = 7 ,
2007-05-26 22:28:07 -07:00
EDJE_LOAD_ERROR_UNKNOWN_COLLECTION = 8 ,
EDJE_LOAD_ERROR_RECURSIVE_REFERENCE = 9
2004-07-01 20:24:56 -07:00
} ;
2003-10-19 23:10:09 -07:00
2009-10-26 18:08:19 -07:00
enum _Edje_External_Param_Type
{
EDJE_EXTERNAL_PARAM_TYPE_INT ,
EDJE_EXTERNAL_PARAM_TYPE_DOUBLE ,
EDJE_EXTERNAL_PARAM_TYPE_STRING ,
2009-12-08 22:51:13 -08:00
EDJE_EXTERNAL_PARAM_TYPE_BOOL ,
2010-03-29 14:51:40 -07:00
EDJE_EXTERNAL_PARAM_TYPE_CHOICE ,
2009-10-26 18:08:19 -07:00
EDJE_EXTERNAL_PARAM_TYPE_MAX
} ;
typedef enum _Edje_External_Param_Type Edje_External_Param_Type ;
2010-03-25 11:05:42 -07:00
EAPI const char * edje_external_param_type_str ( Edje_External_Param_Type type ) EINA_PURE ;
2009-10-26 18:08:19 -07:00
struct _Edje_External_Param
{
2009-12-08 23:54:43 -08:00
const char * name ;
Edje_External_Param_Type type ;
// XXX these could be in a union, but eet doesn't support them (or does it?)
2010-03-29 14:51:40 -07:00
int i ; /**< used by both integer and boolean */
2009-12-08 23:54:43 -08:00
double d ;
2010-03-29 14:51:40 -07:00
const char * s ; /**< used by both string and choice */
2009-10-26 18:08:19 -07:00
} ;
typedef struct _Edje_External_Param Edje_External_Param ;
2009-12-08 23:54:43 -08:00
# define EDJE_EXTERNAL_INT_UNSET 0xffffffff
2010-01-14 11:47:08 -08:00
# define EDJE_EXTERNAL_DOUBLE_UNSET HUGE_VAL
2009-11-23 12:21:22 -08:00
struct _Edje_External_Param_Info
{
const char * name ;
Edje_External_Param_Type type ;
union
2009-12-08 23:54:43 -08:00
{
struct
{
int def , min , max , step ;
} i ;
struct
{
double def , min , max , step ;
} d ;
struct
{
const char * def ;
const char * accept_fmt ;
const char * deny_fmt ;
} s ;
struct
{
int def ;
const char * false_str ;
const char * true_str ;
} b ;
2010-03-29 14:51:40 -07:00
struct
{
const char * def ;
const char * * choices ; /* NULL terminated array */
} c ;
2009-12-08 23:54:43 -08:00
} info ;
2009-11-23 12:21:22 -08:00
} ;
typedef struct _Edje_External_Param_Info Edje_External_Param_Info ;
2009-11-25 09:00:53 -08:00
# define EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, min, max, step) \
{ name , EDJE_EXTERNAL_PARAM_TYPE_INT , { . i = { def , min , max , step } } }
# define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, min, max, step) \
{ name , EDJE_EXTERNAL_PARAM_TYPE_DOUBLE , { . d = { def , min , max , step } } }
# define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, accept, deny) \
{ name , EDJE_EXTERNAL_PARAM_TYPE_STRING , { . s = { def , accept , deny } } }
2009-12-08 22:51:13 -08:00
# define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, false_str, true_str) \
{ name , EDJE_EXTERNAL_PARAM_TYPE_BOOL , { . b = { def , false_str , true_str } } }
2010-03-29 14:51:40 -07:00
# define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL(name, def, choices) \
{ name , EDJE_EXTERNAL_PARAM_TYPE_CHOICE , { . c = { def , choices } } }
2009-11-25 09:00:53 -08:00
# define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, def) \
EDJE_EXTERNAL_PARAM_INFO_INT_FULL ( name , def , EDJE_EXTERNAL_INT_UNSET , EDJE_EXTERNAL_INT_UNSET , EDJE_EXTERNAL_INT_UNSET )
# define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, def) \
EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL ( name , def , EDJE_EXTERNAL_DOUBLE_UNSET , EDJE_EXTERNAL_DOUBLE_UNSET , EDJE_EXTERNAL_DOUBLE_UNSET )
# define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, def) \
EDJE_EXTERNAL_PARAM_INFO_STRING_FULL ( name , def , NULL , NULL )
2009-12-08 22:51:13 -08:00
# define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, def) \
EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL ( name , def , " false " , " true " )
2009-11-23 14:18:01 -08:00
# define EDJE_EXTERNAL_PARAM_INFO_INT(name) \
2009-11-25 09:00:53 -08:00
EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT ( name , 0 )
2009-11-23 14:18:01 -08:00
# define EDJE_EXTERNAL_PARAM_INFO_DOUBLE(name) \
2009-11-25 09:00:53 -08:00
EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT ( name , 0.0 )
2009-11-23 14:18:01 -08:00
# define EDJE_EXTERNAL_PARAM_INFO_STRING(name) \
2009-11-25 09:00:53 -08:00
EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT ( name , NULL )
2009-12-08 22:51:13 -08:00
# define EDJE_EXTERNAL_PARAM_INFO_BOOL(name) \
EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT ( name , 0 )
2009-11-23 14:18:01 -08:00
2009-11-25 09:00:53 -08:00
# define EDJE_EXTERNAL_PARAM_INFO_SENTINEL {NULL, 0, {.s = {NULL, NULL, NULL}}}
2009-11-23 12:21:22 -08:00
2010-03-29 14:51:40 -07:00
/**
* @ struct _Edje_External_Type information about an external type to be used .
*
* This structure provides information on how to display and modify a
* third party Evas_Object in Edje .
*
* Some function pointers are not really used by Edje , but provide
* means for Edje users to better interact with such objects . For
* instance , an editor may use label_get ( ) and icon_get ( ) to list all
* registered external types .
*
* @ note The function pointers provided in this structure must check
* for errors and invalid or out - of - range values as for
* performance reasons Edje will not enforce hints provided as
* # Edje_External_Param_Info in the member parameters_info .
*/
2009-10-26 18:08:19 -07:00
struct _Edje_External_Type
{
2010-03-25 11:05:42 -07:00
# define EDJE_EXTERNAL_TYPE_ABI_VERSION (2)
2009-12-02 13:41:28 -08:00
unsigned int abi_version ; /**< always use:
* - # EDJE_EXTERNAL_TYPE_ABI_VERSION to declare .
* - edje_external_type_abi_version_get ( ) to check .
*/
2009-11-26 09:01:31 -08:00
const char * module ;
2010-01-25 12:30:02 -08:00
const char * module_name ;
2010-03-25 11:05:42 -07:00
Evas_Object * ( * add ) ( void * data , Evas * evas , Evas_Object * parent , const Eina_List * params , const char * part_name ) ; /**< creates the object to be used by Edje as the part */
void ( * state_set ) ( void * data , Evas_Object * obj , const void * from_params , const void * to_params , float pos ) ; /**< called upon state changes, including the initial "default" 0.0 state. Parameters are the value returned by params_parse() */
void ( * signal_emit ) ( void * data , Evas_Object * obj , const char * emission , const char * source ) ; /**< Feed a signal emitted with emission originally set as part_name:signal to this object (without the "part_name:" prefix) */
Eina_Bool ( * param_set ) ( void * data , Evas_Object * obj , const Edje_External_Param * param ) ; /**< dynamically change a parameter of this external, called by scripts and user code. Returns @c EINA_TRUE on success */
Eina_Bool ( * param_get ) ( void * data , const Evas_Object * obj , Edje_External_Param * param ) ; /**< dynamically fetch a parameter of this external, called by scripts and user code. Returns @c EINA_TRUE on success. (Must check parameter name and type!) */
void * ( * params_parse ) ( void * data , Evas_Object * obj , const Eina_List * params ) ; /**< parses the list of parameters, converting into a friendly representation. Used with state_set() */
void ( * params_free ) ( void * params ) ; /**< free parameters parsed with params_parse() */
2009-10-31 11:07:08 -07:00
2010-03-01 06:41:49 -08:00
/* The following callbacks aren't used by Edje itself, but by UI design
tools instead */
2009-10-31 11:07:08 -07:00
const char * ( * label_get ) ( void * data ) ;
2009-12-02 13:41:28 -08:00
const char * ( * description_get ) ( void * data ) ;
2009-12-02 13:54:28 -08:00
Evas_Object * ( * icon_add ) ( void * data , Evas * e ) ;
Evas_Object * ( * preview_add ) ( void * data , Evas * e ) ;
2010-03-25 11:05:42 -07:00
const char * ( * translate ) ( void * data , const char * orig ) ; /**< called to translate parameters_info name properties for use in user interfaces that support internationalization (i18n) */
2009-10-26 18:08:19 -07:00
2009-11-23 12:21:22 -08:00
Edje_External_Param_Info * parameters_info ;
2009-10-26 18:08:19 -07:00
void * data ;
} ;
typedef struct _Edje_External_Type Edje_External_Type ;
2009-12-01 09:58:17 -08:00
struct _Edje_External_Type_Info
{
const char * name ;
const Edje_External_Type * info ;
} ;
typedef struct _Edje_External_Type_Info Edje_External_Type_Info ;
2009-07-18 15:43:50 -07:00
typedef void ( * Edje_Signal_Cb ) ( void * data , Evas_Object * obj , const char * emission , const char * source ) ;
typedef void ( * Edje_Text_Change_Cb ) ( void * data , Evas_Object * obj , const char * part ) ;
typedef void ( * Edje_Message_Handler_Cb ) ( void * data , Evas_Object * obj , Edje_Message_Type type , int id , void * msg ) ;
2003-06-02 16:49:56 -07:00
# ifdef __cplusplus
extern " C " {
# endif
2006-12-24 02:29:16 -08:00
2004-11-24 21:18:31 -08:00
/* edje_main.c */
EAPI int edje_init ( void ) ;
EAPI int edje_shutdown ( void ) ;
2006-12-24 02:29:16 -08:00
2004-11-24 21:18:31 -08:00
/* edje_program.c */
EAPI void edje_frametime_set ( double t ) ;
EAPI double edje_frametime_get ( void ) ;
2006-12-24 02:29:16 -08:00
2004-11-24 21:18:31 -08:00
/* edje_util.c */
EAPI void edje_freeze ( void ) ;
EAPI void edje_thaw ( void ) ;
2007-07-16 00:31:06 -07:00
EAPI void edje_fontset_append_set ( const char * fonts ) ;
2005-03-20 08:49:10 -08:00
EAPI const char * edje_fontset_append_get ( void ) ;
2008-09-09 07:13:34 -07:00
EAPI void edje_scale_set ( double scale ) ;
EAPI double edje_scale_get ( void ) ;
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_object_scale_set ( Evas_Object * obj , double scale ) ;
2009-02-02 21:07:58 -08:00
EAPI double edje_object_scale_get ( const Evas_Object * obj ) ;
2009-12-08 22:51:13 -08:00
2004-11-24 21:18:31 -08:00
/* edje_load.c */
2008-10-22 04:34:42 -07:00
EAPI Eina_List * edje_file_collection_list ( const char * file ) ;
EAPI void edje_file_collection_list_free ( Eina_List * lst ) ;
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_file_group_exists ( const char * file , const char * glob ) ;
2004-11-24 21:18:31 -08:00
EAPI char * edje_file_data_get ( const char * file , const char * key ) ;
2005-04-03 04:43:00 -07:00
EAPI void edje_file_cache_set ( int count ) ;
EAPI int edje_file_cache_get ( void ) ;
EAPI void edje_file_cache_flush ( void ) ;
EAPI void edje_collection_cache_set ( int count ) ;
EAPI int edje_collection_cache_get ( void ) ;
EAPI void edje_collection_cache_flush ( void ) ;
2006-12-24 02:29:16 -08:00
2004-11-24 21:18:31 -08:00
/* edje_util.c */
2010-01-14 10:07:24 -08:00
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 ) ;
2009-09-28 10:23:02 -07:00
EAPI Eina_Bool edje_color_class_get ( 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 ) ;
2006-01-16 18:41:25 -08:00
EAPI void edje_color_class_del ( const char * color_class ) ;
2008-10-22 04:34:42 -07:00
EAPI Eina_List * edje_color_class_list ( void ) ;
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_text_class_set ( const char * text_class , const char * font , Evas_Font_Size size ) ;
2006-12-24 02:29:16 -08:00
EAPI void edje_text_class_del ( const char * text_class ) ;
2008-10-22 04:34:42 -07:00
EAPI Eina_List * edje_text_class_list ( void ) ;
2004-11-24 21:18:31 -08:00
EAPI void edje_extern_object_min_size_set ( Evas_Object * obj , Evas_Coord minw , Evas_Coord minh ) ;
EAPI void edje_extern_object_max_size_set ( Evas_Object * obj , Evas_Coord maxw , Evas_Coord maxh ) ;
2006-07-23 12:33:27 -07:00
EAPI void edje_extern_object_aspect_set ( Evas_Object * obj , Edje_Aspect_Control aspect , Evas_Coord aw , Evas_Coord ah ) ;
2008-11-23 21:15:15 -08:00
EAPI void edje_box_layout_register ( const char * name , Evas_Object_Box_Layout func , void * ( * layout_data_get ) ( void * ) , void ( * layout_data_free ) ( void * ) , void ( * free_data ) ( void * ) , void * data ) ;
2006-12-24 02:29:16 -08:00
2004-11-24 21:18:31 -08:00
/* edje_smart.c */
EAPI Evas_Object * edje_object_add ( Evas * evas ) ;
2006-12-24 02:29:16 -08:00
2004-11-24 21:18:31 -08:00
/* edje_util.c */
2008-08-14 11:21:27 -07:00
EAPI const char * edje_object_data_get ( const Evas_Object * obj , const char * key ) ;
2006-12-24 02:29:16 -08:00
2004-11-24 21:18:31 -08:00
/* edje_load.c */
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_object_file_set ( Evas_Object * obj , const char * file , const char * group ) ;
2008-08-14 11:21:27 -07:00
EAPI void edje_object_file_get ( const Evas_Object * obj , const char * * file , const char * * group ) ;
EAPI int edje_object_load_error_get ( const Evas_Object * obj ) ;
2008-12-21 10:39:36 -08:00
EAPI const char * edje_load_error_str ( int error ) ;
2006-12-24 02:29:16 -08:00
2009-12-04 08:20:40 -08:00
/* edje_util.c */
EAPI Eina_Bool edje_object_preload ( Evas_Object * obj , Eina_Bool cancel ) ;
2004-11-24 21:18:31 -08:00
/* edje_program.c */
2009-07-18 15:43:50 -07:00
EAPI void edje_object_signal_callback_add ( Evas_Object * obj , const char * emission , const char * source , Edje_Signal_Cb func , void * data ) ;
EAPI void * edje_object_signal_callback_del ( Evas_Object * obj , const char * emission , const char * source , Edje_Signal_Cb func ) ;
2004-11-24 21:18:31 -08:00
EAPI void edje_object_signal_emit ( Evas_Object * obj , const char * emission , const char * source ) ;
2010-02-28 07:57:17 -08:00
EAPI void edje_object_play_set ( Evas_Object * obj , Eina_Bool play ) ;
EAPI Eina_Bool edje_object_play_get ( const Evas_Object * obj ) ;
EAPI void edje_object_animation_set ( Evas_Object * obj , Eina_Bool on ) ;
EAPI Eina_Bool edje_object_animation_get ( const Evas_Object * obj ) ;
2006-12-24 02:29:16 -08:00
2004-11-24 21:18:31 -08:00
/* edje_util.c */
EAPI int edje_object_freeze ( Evas_Object * obj ) ;
EAPI int edje_object_thaw ( Evas_Object * obj ) ;
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_object_color_class_set ( Evas_Object * obj , 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 ) ;
2009-09-28 10:23:02 -07:00
EAPI Eina_Bool edje_object_color_class_get ( const Evas_Object * o , 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 ) ;
2006-01-16 18:41:25 -08:00
EAPI void edje_object_color_class_del ( Evas_Object * obj , const char * color_class ) ;
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_object_text_class_set ( Evas_Object * obj , const char * text_class , const char * font , Evas_Font_Size size ) ;
2008-08-14 11:21:27 -07:00
EAPI void edje_object_size_min_get ( const Evas_Object * obj , Evas_Coord * minw , Evas_Coord * minh ) ;
EAPI void edje_object_size_max_get ( const Evas_Object * obj , Evas_Coord * maxw , Evas_Coord * maxh ) ;
2004-11-28 06:52:01 -08:00
EAPI void edje_object_calc_force ( Evas_Object * obj ) ;
2004-11-24 21:18:31 -08:00
EAPI void edje_object_size_min_calc ( Evas_Object * obj , Evas_Coord * minw , Evas_Coord * minh ) ;
2010-03-04 12:40:54 -08:00
EAPI Eina_Bool edje_object_parts_extends_calc ( Evas_Object * obj , Evas_Coord * x , Evas_Coord * y , Evas_Coord * w , Evas_Coord * h ) ;
2008-04-17 03:22:57 -07:00
EAPI void edje_object_size_min_restricted_calc ( Evas_Object * obj , Evas_Coord * minw , Evas_Coord * minh , Evas_Coord restrictedw , Evas_Coord restrictedh ) ;
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_object_part_exists ( const Evas_Object * obj , const char * part ) ;
2008-08-14 11:21:27 -07:00
EAPI const Evas_Object * edje_object_part_object_get ( const Evas_Object * obj , const char * part ) ;
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_object_part_geometry_get ( const Evas_Object * obj , const char * part , Evas_Coord * x , Evas_Coord * y , Evas_Coord * w , Evas_Coord * h ) ;
2009-07-18 15:43:50 -07:00
EAPI void edje_object_text_change_cb_set ( Evas_Object * obj , Edje_Text_Change_Cb func , void * data ) ;
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_object_part_text_set ( Evas_Object * obj , const char * part , const char * text ) ;
2008-08-14 11:21:27 -07:00
EAPI const char * edje_object_part_text_get ( const Evas_Object * obj , const char * part ) ;
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_object_part_text_unescaped_set ( Evas_Object * obj , const char * part , const char * text_to_escape ) ;
2009-04-14 16:53:25 -07:00
EAPI char * edje_object_part_text_unescaped_get ( const Evas_Object * obj , const char * part ) ;
2009-12-01 03:02:46 -08:00
EAPI const char * edje_object_part_text_selection_get ( const Evas_Object * obj , const char * part ) ;
EAPI void edje_object_part_text_select_none ( const Evas_Object * obj , const char * part ) ;
EAPI void edje_object_part_text_select_all ( const Evas_Object * obj , const char * part ) ;
EAPI void edje_object_part_text_insert ( Evas_Object * obj , const char * part , const char * text ) ;
2010-04-26 07:55:45 -07:00
EAPI void edje_object_item_provider_set ( Evas_Object * obj , Evas_Object * ( * func ) ( void * data , Evas_Object * obj , const char * part , const char * item ) , void * data ) ;
2009-12-01 03:02:46 -08:00
EAPI const Eina_List * edje_object_part_text_anchor_list_get ( const Evas_Object * obj , const char * part ) ;
EAPI const Eina_List * edje_object_part_text_anchor_geometry_get ( const Evas_Object * obj , const char * part , const char * anchor ) ;
2010-04-26 07:55:45 -07:00
EAPI const Eina_List * edje_object_part_text_item_list_get ( const Evas_Object * obj , const char * part ) ;
EAPI Eina_Bool edje_object_part_text_item_geometry_get ( const Evas_Object * obj , const char * part , const char * item , Evas_Coord * cx , Evas_Coord * cy , Evas_Coord * cw , Evas_Coord * ch ) ;
2009-12-01 03:02:46 -08:00
EAPI void edje_object_part_text_cursor_geometry_get ( const Evas_Object * obj , const char * part , Evas_Coord * x , Evas_Coord * y , Evas_Coord * w , Evas_Coord * h ) ;
EAPI void edje_object_part_text_select_allow_set ( const Evas_Object * obj , const char * part , Eina_Bool allow ) ;
EAPI void edje_object_part_text_select_abort ( const Evas_Object * obj , const char * part ) ;
2010-03-10 22:34:20 -08:00
EAPI void edje_object_part_text_select_begin ( const Evas_Object * obj , const char * part ) ;
EAPI void edje_object_part_text_select_extend ( const Evas_Object * obj , const char * part ) ;
2009-12-01 03:02:46 -08:00
EAPI Eina_Bool edje_object_part_text_cursor_next ( const Evas_Object * obj , const char * part , Edje_Cursor cur ) ;
EAPI Eina_Bool edje_object_part_text_cursor_prev ( const Evas_Object * obj , const char * part , Edje_Cursor cur ) ;
EAPI Eina_Bool edje_object_part_text_cursor_up ( const Evas_Object * obj , const char * part , Edje_Cursor cur ) ;
EAPI Eina_Bool edje_object_part_text_cursor_down ( const Evas_Object * obj , const char * part , Edje_Cursor cur ) ;
EAPI void edje_object_part_text_cursor_begin_set ( const Evas_Object * obj , const char * part , Edje_Cursor cur ) ;
EAPI void edje_object_part_text_cursor_end_set ( const Evas_Object * obj , const char * part , Edje_Cursor cur ) ;
EAPI void edje_object_part_text_cursor_copy ( const Evas_Object * obj , const char * part , Edje_Cursor src , Edje_Cursor dst ) ;
EAPI void edje_object_part_text_cursor_line_begin_set ( const Evas_Object * obj , const char * part , Edje_Cursor cur ) ;
EAPI void edje_object_part_text_cursor_line_end_set ( const Evas_Object * obj , const char * part , Edje_Cursor cur ) ;
EAPI Eina_Bool edje_object_part_text_cursor_is_format_get ( const Evas_Object * obj , const char * part , Edje_Cursor cur ) ;
EAPI Eina_Bool edje_object_part_text_cursor_is_visible_format_get ( const Evas_Object * obj , const char * part , Edje_Cursor cur ) ;
EAPI const char * edje_object_part_text_cursor_content_get ( const Evas_Object * obj , const char * part , Edje_Cursor cur ) ;
2009-12-08 22:51:13 -08:00
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_object_part_swallow ( Evas_Object * obj , const char * part , Evas_Object * obj_swallow ) ;
2004-11-24 21:18:31 -08:00
EAPI void edje_object_part_unswallow ( Evas_Object * obj , Evas_Object * obj_swallow ) ;
2008-08-14 11:21:27 -07:00
EAPI Evas_Object * edje_object_part_swallow_get ( const Evas_Object * obj , const char * part ) ;
EAPI const char * edje_object_part_state_get ( const Evas_Object * obj , const char * part , double * val_ret ) ;
EAPI int edje_object_part_drag_dir_get ( const Evas_Object * obj , const char * part ) ;
2010-01-14 10:07:24 -08:00
EAPI Eina_Bool edje_object_part_drag_value_set ( Evas_Object * obj , const char * part , double dx , double dy ) ;
EAPI Eina_Bool edje_object_part_drag_value_get ( const Evas_Object * obj , const char * part , double * dx , double * dy ) ;
EAPI Eina_Bool edje_object_part_drag_size_set ( Evas_Object * obj , const char * part , double dw , double dh ) ;
EAPI Eina_Bool edje_object_part_drag_size_get ( const Evas_Object * obj , const char * part , double * dw , double * dh ) ;
EAPI Eina_Bool edje_object_part_drag_step_set ( Evas_Object * obj , const char * part , double dx , double dy ) ;
EAPI Eina_Bool edje_object_part_drag_step_get ( const Evas_Object * obj , const char * part , double * dx , double * dy ) ;
EAPI Eina_Bool edje_object_part_drag_page_set ( Evas_Object * obj , const char * part , double dx , double dy ) ;
EAPI Eina_Bool edje_object_part_drag_page_get ( const Evas_Object * obj , const char * part , double * dx , double * dy ) ;
EAPI Eina_Bool edje_object_part_drag_step ( Evas_Object * obj , const char * part , double dx , double dy ) ;
EAPI Eina_Bool edje_object_part_drag_page ( Evas_Object * obj , const char * part , double dx , double dy ) ;
2010-03-25 11:05:42 -07:00
EAPI Evas_Object * edje_object_part_external_object_get ( const Evas_Object * obj , const char * part ) ;
EAPI Eina_Bool edje_object_part_external_param_set ( Evas_Object * obj , const char * part , const Edje_External_Param * param ) ;
EAPI Eina_Bool edje_object_part_external_param_get ( const Evas_Object * obj , const char * part , Edje_External_Param * param ) ;
2010-03-29 12:32:45 -07:00
EAPI Edje_External_Param_Type edje_object_part_external_param_type_get ( const Evas_Object * obj , const char * part , const char * param ) ;
2010-03-25 11:05:42 -07:00
2009-06-17 04:10:32 -07:00
EAPI Eina_Bool edje_object_part_box_append ( Evas_Object * obj , const char * part , Evas_Object * child ) ;
EAPI Eina_Bool edje_object_part_box_prepend ( Evas_Object * obj , const char * part , Evas_Object * child ) ;
EAPI Eina_Bool edje_object_part_box_insert_before ( Evas_Object * obj , const char * part , Evas_Object * child , const Evas_Object * reference ) ;
EAPI Eina_Bool edje_object_part_box_insert_at ( Evas_Object * obj , const char * part , Evas_Object * child , unsigned int pos ) ;
2008-11-23 21:15:15 -08:00
EAPI Evas_Object * edje_object_part_box_remove ( Evas_Object * obj , const char * part , Evas_Object * child ) ;
EAPI Evas_Object * edje_object_part_box_remove_at ( Evas_Object * obj , const char * part , unsigned int pos ) ;
2009-06-17 04:10:32 -07:00
EAPI Eina_Bool edje_object_part_box_remove_all ( Evas_Object * obj , const char * part , Eina_Bool clear ) ;
2010-04-17 13:28:22 -07:00
EAPI Evas_Object * edje_object_part_table_child_get ( Evas_Object * obj , const char * part , unsigned int col , unsigned int row ) ;
2009-06-17 04:10:32 -07:00
EAPI Eina_Bool edje_object_part_table_pack ( Evas_Object * obj , const char * part , Evas_Object * child_obj , unsigned short col , unsigned short row , unsigned short colspan , unsigned short rowspan ) ;
EAPI Eina_Bool edje_object_part_table_unpack ( Evas_Object * obj , const char * part , Evas_Object * child_obj ) ;
EAPI Eina_Bool edje_object_part_table_col_row_size_get ( const Evas_Object * obj , const char * part , int * cols , int * rows ) ;
EAPI Eina_Bool edje_object_part_table_clear ( Evas_Object * obj , const char * part , Eina_Bool clear ) ;
2006-12-24 02:29:16 -08:00
2004-11-24 21:18:31 -08:00
/* edje_message_queue.c */
EAPI void edje_object_message_send ( Evas_Object * obj , Edje_Message_Type type , int id , void * msg ) ;
2009-07-18 15:43:50 -07:00
EAPI void edje_object_message_handler_set ( Evas_Object * obj , Edje_Message_Handler_Cb func , void * data ) ;
2004-11-24 21:18:31 -08:00
EAPI void edje_object_message_signal_process ( Evas_Object * obj ) ;
2006-12-24 02:29:16 -08:00
2004-11-24 21:18:31 -08:00
EAPI void edje_message_signal_process ( void ) ;
2006-12-24 02:29:16 -08:00
2009-10-26 18:08:19 -07:00
/* edje_external.c */
2010-02-16 08:20:15 -08:00
EAPI Eina_Bool edje_external_type_register ( const char * type_name , const Edje_External_Type * type_info ) ;
EAPI Eina_Bool edje_external_type_unregister ( const char * type_name ) ;
EAPI void edje_external_type_array_register ( const Edje_External_Type_Info * array ) ;
EAPI void edje_external_type_array_unregister ( const Edje_External_Type_Info * array ) ;
EAPI unsigned int edje_external_type_abi_version_get ( void ) EINA_CONST ;
EAPI Eina_Iterator * edje_external_iterator_get ( void ) ;
EAPI Edje_External_Param * edje_external_param_find ( const Eina_List * params , const char * key ) ;
EAPI Eina_Bool edje_external_param_int_get ( const Eina_List * params , const char * key , int * ret ) ;
EAPI Eina_Bool edje_external_param_double_get ( const Eina_List * params , const char * key , double * ret ) ;
EAPI Eina_Bool edje_external_param_string_get ( const Eina_List * params , const char * key , const char * * ret ) ;
EAPI Eina_Bool edje_external_param_bool_get ( const Eina_List * params , const char * key , Eina_Bool * ret ) ;
2010-03-29 14:51:40 -07:00
EAPI Eina_Bool edje_external_param_choice_get ( const Eina_List * params , const char * key , const char * * ret ) ;
2010-02-16 08:20:15 -08:00
EAPI const Edje_External_Param_Info * edje_external_param_info_get ( const char * type_name ) ;
2010-03-29 11:44:42 -07:00
EAPI const Edje_External_Type * edje_external_type_get ( const char * type_name ) ;
2010-02-16 08:20:15 -08:00
/* edje_module.c */
EAPI Eina_Bool edje_module_load ( const char * module ) ;
EAPI const Eina_List * edje_available_modules_get ( void ) ;
/* perspective info for maps inside edje objects */
typedef struct _Edje_Perspective Edje_Perspective ;
2010-02-18 22:28:03 -08:00
EAPI Edje_Perspective * edje_perspective_new ( Evas * e ) ;
EAPI void edje_perspective_free ( Edje_Perspective * ps ) ;
EAPI void edje_perspective_set ( Edje_Perspective * ps , Evas_Coord px , Evas_Coord py , Evas_Coord z0 , Evas_Coord foc ) ;
EAPI void edje_perspective_global_set ( Edje_Perspective * ps , Eina_Bool global ) ;
EAPI Eina_Bool edje_perspective_global_get ( const Edje_Perspective * ps ) ;
EAPI const Edje_Perspective * edje_evas_global_perspective_get ( const Evas * e ) ;
EAPI void edje_object_perspective_set ( Evas_Object * obj , Edje_Perspective * ps ) ;
EAPI const Edje_Perspective * edje_object_perspective_get ( const Evas_Object * obj ) ;
2010-02-16 08:20:15 -08:00
2003-06-02 16:49:56 -07:00
# ifdef __cplusplus
}
# endif
# endif