00001 #ifndef _EDJE_H
00002 #define _EDJE_H
00003
00004 #ifndef _MSC_VER
00005 # include <stdint.h>
00006 #endif
00007 #include <math.h>
00008 #include <float.h>
00009 #include <limits.h>
00010
00011 #include <Evas.h>
00012
00013 #ifdef EAPI
00014 # undef EAPI
00015 #endif
00016
00017 #ifdef _WIN32
00018 # ifdef EFL_EDJE_BUILD
00019 # ifdef DLL_EXPORT
00020 # define EAPI __declspec(dllexport)
00021 # else
00022 # define EAPI
00023 # endif
00024 # else
00025 # define EAPI __declspec(dllimport)
00026 # endif
00027 #else
00028 # ifdef __GNUC__
00029 # if __GNUC__ >= 4
00030 # define EAPI __attribute__ ((visibility("default")))
00031 # else
00032 # define EAPI
00033 # endif
00034 # else
00035 # define EAPI
00036 # endif
00037 #endif
00038
00039 #ifdef __cplusplus
00040 extern "C" {
00041 #endif
00042
00043 #define EDJE_VERSION_MAJOR 1
00044 #define EDJE_VERSION_MINOR 0
00045
00046 typedef struct _Edje_Version
00047 {
00048 int major;
00049 int minor;
00050 int micro;
00051 int revision;
00052 } Edje_Version;
00053
00054 EAPI extern Edje_Version *edje_version;
00055
00063 typedef enum _Edje_Message_Type
00064 {
00065 EDJE_MESSAGE_NONE = 0,
00066
00067 EDJE_MESSAGE_SIGNAL = 1,
00068
00069 EDJE_MESSAGE_STRING = 2,
00070 EDJE_MESSAGE_INT = 3,
00071 EDJE_MESSAGE_FLOAT = 4,
00072
00073 EDJE_MESSAGE_STRING_SET = 5,
00074 EDJE_MESSAGE_INT_SET = 6,
00075 EDJE_MESSAGE_FLOAT_SET = 7,
00076
00077 EDJE_MESSAGE_STRING_INT = 8,
00078 EDJE_MESSAGE_STRING_FLOAT = 9,
00079
00080 EDJE_MESSAGE_STRING_INT_SET = 10,
00081 EDJE_MESSAGE_STRING_FLOAT_SET = 11
00082 } Edje_Message_Type;
00083
00084 typedef enum _Edje_Aspect_Control
00085 {
00086 EDJE_ASPECT_CONTROL_NONE = 0,
00087 EDJE_ASPECT_CONTROL_NEITHER = 1,
00088 EDJE_ASPECT_CONTROL_HORIZONTAL = 2,
00089 EDJE_ASPECT_CONTROL_VERTICAL = 3,
00090 EDJE_ASPECT_CONTROL_BOTH = 4
00091 } Edje_Aspect_Control;
00092
00093 typedef enum _Edje_Object_Table_Homogeneous_Mode
00094 {
00095 EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE = 0,
00096 EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1,
00097 EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2
00098 } Edje_Object_Table_Homogeneous_Mode;
00099
00100 typedef enum _Edje_Part_Type
00101 {
00102 EDJE_PART_TYPE_NONE = 0,
00103 EDJE_PART_TYPE_RECTANGLE = 1,
00104 EDJE_PART_TYPE_TEXT = 2,
00105 EDJE_PART_TYPE_IMAGE = 3,
00106 EDJE_PART_TYPE_SWALLOW = 4,
00107 EDJE_PART_TYPE_TEXTBLOCK = 5,
00108 EDJE_PART_TYPE_GRADIENT = 6,
00109 EDJE_PART_TYPE_GROUP = 7,
00110 EDJE_PART_TYPE_BOX = 8,
00111 EDJE_PART_TYPE_TABLE = 9,
00112 EDJE_PART_TYPE_EXTERNAL = 10,
00113 EDJE_PART_TYPE_LAST = 11
00114 } Edje_Part_Type;
00115
00116 typedef enum _Edje_Text_Effect
00117 {
00118 EDJE_TEXT_EFFECT_NONE = 0,
00119 EDJE_TEXT_EFFECT_PLAIN = 1,
00120 EDJE_TEXT_EFFECT_OUTLINE = 2,
00121 EDJE_TEXT_EFFECT_SOFT_OUTLINE = 3,
00122 EDJE_TEXT_EFFECT_SHADOW = 4,
00123 EDJE_TEXT_EFFECT_SOFT_SHADOW = 5,
00124 EDJE_TEXT_EFFECT_OUTLINE_SHADOW = 6,
00125 EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW = 7,
00126 EDJE_TEXT_EFFECT_FAR_SHADOW = 8,
00127 EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW = 9,
00128 EDJE_TEXT_EFFECT_GLOW = 10,
00129 EDJE_TEXT_EFFECT_LAST = 11
00130 } Edje_Text_Effect;
00131
00132 typedef enum _Edje_Action_Type
00133 {
00134 EDJE_ACTION_TYPE_NONE = 0,
00135 EDJE_ACTION_TYPE_STATE_SET = 1,
00136 EDJE_ACTION_TYPE_ACTION_STOP = 2,
00137 EDJE_ACTION_TYPE_SIGNAL_EMIT = 3,
00138 EDJE_ACTION_TYPE_DRAG_VAL_SET = 4,
00139 EDJE_ACTION_TYPE_DRAG_VAL_STEP = 5,
00140 EDJE_ACTION_TYPE_DRAG_VAL_PAGE = 6,
00141 EDJE_ACTION_TYPE_SCRIPT = 7,
00142 EDJE_ACTION_TYPE_FOCUS_SET = 8,
00143 EDJE_ACTION_TYPE_RESERVED00 = 9,
00144 EDJE_ACTION_TYPE_FOCUS_OBJECT = 10,
00145 EDJE_ACTION_TYPE_PARAM_COPY = 11,
00146 EDJE_ACTION_TYPE_PARAM_SET = 12,
00147 EDJE_ACTION_TYPE_LAST = 13
00148 } Edje_Action_Type;
00149
00150 typedef enum _Edje_Tween_Mode
00151 {
00152 EDJE_TWEEN_MODE_NONE = 0,
00153 EDJE_TWEEN_MODE_LINEAR = 1,
00154 EDJE_TWEEN_MODE_SINUSOIDAL = 2,
00155 EDJE_TWEEN_MODE_ACCELERATE = 3,
00156 EDJE_TWEEN_MODE_DECELERATE = 4,
00157 EDJE_TWEEN_MODE_LAST = 5
00158 } Edje_Tween_Mode;
00159
00160 typedef enum _Edje_Cursor
00161 {
00162 EDJE_CURSOR_MAIN,
00163 EDJE_CURSOR_SELECTION_BEGIN,
00164 EDJE_CURSOR_SELECTION_END,
00165 EDJE_CURSOR_PREEDIT_START,
00166 EDJE_CURSOR_PREEDIT_END,
00167 EDJE_CURSOR_USER,
00168 EDJE_CURSOR_USER_EXTRA,
00169
00170 } Edje_Cursor;
00171
00172 typedef struct _Edje_Message_String Edje_Message_String;
00173 typedef struct _Edje_Message_Int Edje_Message_Int;
00174 typedef struct _Edje_Message_Float Edje_Message_Float;
00175 typedef struct _Edje_Message_String_Set Edje_Message_String_Set;
00176 typedef struct _Edje_Message_Int_Set Edje_Message_Int_Set;
00177 typedef struct _Edje_Message_Float_Set Edje_Message_Float_Set;
00178 typedef struct _Edje_Message_String_Int Edje_Message_String_Int;
00179 typedef struct _Edje_Message_String_Float Edje_Message_String_Float;
00180 typedef struct _Edje_Message_String_Int_Set Edje_Message_String_Int_Set;
00181 typedef struct _Edje_Message_String_Float_Set Edje_Message_String_Float_Set;
00182
00183 struct _Edje_Message_String
00184 {
00185 char *str;
00186 };
00187
00188 struct _Edje_Message_Int
00189 {
00190 int val;
00191 };
00192
00193 struct _Edje_Message_Float
00194 {
00195 double val;
00196 };
00197
00198 struct _Edje_Message_String_Set
00199 {
00200 int count;
00201 char *str[1];
00202 };
00203
00204 struct _Edje_Message_Int_Set
00205 {
00206 int count;
00207 int val[1];
00208 };
00209
00210 struct _Edje_Message_Float_Set
00211 {
00212 int count;
00213 double val[1];
00214 };
00215
00216 struct _Edje_Message_String_Int
00217 {
00218 char *str;
00219 int val;
00220 };
00221
00222 struct _Edje_Message_String_Float
00223 {
00224 char *str;
00225 double val;
00226 };
00227
00228 struct _Edje_Message_String_Int_Set
00229 {
00230 char *str;
00231 int count;
00232 int val[1];
00233 };
00234
00235 struct _Edje_Message_String_Float_Set
00236 {
00237 char *str;
00238 int count;
00239 double val[1];
00240 };
00241
00242 typedef enum _Edje_Drag_Dir
00243 {
00244 EDJE_DRAG_DIR_NONE = 0,
00245 EDJE_DRAG_DIR_X = 1,
00246 EDJE_DRAG_DIR_Y = 2,
00247 EDJE_DRAG_DIR_XY = 3
00248 } Edje_Drag_Dir;
00249
00250 typedef enum _Edje_Load_Error
00251 {
00252 EDJE_LOAD_ERROR_NONE = 0,
00253 EDJE_LOAD_ERROR_GENERIC = 1,
00254 EDJE_LOAD_ERROR_DOES_NOT_EXIST = 2,
00255 EDJE_LOAD_ERROR_PERMISSION_DENIED = 3,
00256 EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4,
00257 EDJE_LOAD_ERROR_CORRUPT_FILE = 5,
00258 EDJE_LOAD_ERROR_UNKNOWN_FORMAT = 6,
00259 EDJE_LOAD_ERROR_INCOMPATIBLE_FILE = 7,
00260 EDJE_LOAD_ERROR_UNKNOWN_COLLECTION = 8,
00261 EDJE_LOAD_ERROR_RECURSIVE_REFERENCE = 9
00262 } Edje_Load_Error;
00263
00264 typedef enum _Edje_Text_Filter_Type
00265 {
00266 EDJE_TEXT_FILTER_TEXT = 0,
00267 EDJE_TEXT_FILTER_FORMAT = 1,
00268 EDJE_TEXT_FILTER_MARKUP = 2
00269 } Edje_Text_Filter_Type;
00270
00271 typedef enum _Edje_External_Param_Type
00272 {
00273 EDJE_EXTERNAL_PARAM_TYPE_INT,
00274 EDJE_EXTERNAL_PARAM_TYPE_DOUBLE,
00275 EDJE_EXTERNAL_PARAM_TYPE_STRING,
00276 EDJE_EXTERNAL_PARAM_TYPE_BOOL,
00277 EDJE_EXTERNAL_PARAM_TYPE_CHOICE,
00278 EDJE_EXTERNAL_PARAM_TYPE_MAX
00279 } Edje_External_Param_Type;
00280
00302 typedef enum _Edje_External_Param_Flags
00303 {
00304 EDJE_EXTERNAL_PARAM_FLAGS_NONE = 0,
00305 EDJE_EXTERNAL_PARAM_FLAGS_GET = (1 << 0),
00306 EDJE_EXTERNAL_PARAM_FLAGS_SET = (1 << 1),
00307 EDJE_EXTERNAL_PARAM_FLAGS_STATE = (1 << 2),
00308 EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR = (1 << 3),
00309 EDJE_EXTERNAL_PARAM_FLAGS_REGULAR = (EDJE_EXTERNAL_PARAM_FLAGS_GET |
00310 EDJE_EXTERNAL_PARAM_FLAGS_SET |
00311 EDJE_EXTERNAL_PARAM_FLAGS_STATE)
00312 } Edje_External_Param_Flags;
00313
00314 EAPI const char *edje_external_param_type_str(Edje_External_Param_Type type) EINA_PURE;
00315
00316 struct _Edje_External_Param
00317 {
00318 const char *name;
00319 Edje_External_Param_Type type;
00320
00321 int i;
00322 double d;
00323 const char *s;
00324 };
00325 typedef struct _Edje_External_Param Edje_External_Param;
00326
00327 #define EDJE_EXTERNAL_INT_UNSET INT_MAX
00328 #define EDJE_EXTERNAL_DOUBLE_UNSET DBL_MAX
00329
00330 typedef struct _Edje_External_Param_Info Edje_External_Param_Info;
00331 struct _Edje_External_Param_Info
00332 {
00333 const char *name;
00334 Edje_External_Param_Type type;
00335 Edje_External_Param_Flags flags;
00336 union {
00337 struct {
00338 int def, min, max, step;
00339 } i;
00340 struct {
00341 double def, min, max, step;
00342 } d;
00343 struct {
00344 const char *def;
00345 const char *accept_fmt;
00346 const char *deny_fmt;
00347 } s;
00348 struct {
00349 int def;
00350 const char *false_str;
00351 const char *true_str;
00352 } b;
00353 struct {
00354 const char *def;
00355 const char **choices;
00356 char *(*def_get)(void *data, const Edje_External_Param_Info *info);
00357 char **(*query)(void *data, const Edje_External_Param_Info *info);
00358 } c;
00359 } info;
00360 };
00361
00362 #define EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, flags) \
00363 {name, EDJE_EXTERNAL_PARAM_TYPE_INT, flags, {.i = {def, min, max, step}}}
00364 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, flags) \
00365 {name, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, flags, {.d = {def, min, max, step}}}
00366 #define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, flags) \
00367 {name, EDJE_EXTERNAL_PARAM_TYPE_STRING, flags, {.s = {def, accept, deny}}}
00368 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, flags) \
00369 {name, EDJE_EXTERNAL_PARAM_TYPE_BOOL, flags, {.b = {def, false_str, true_str}}}
00370 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, flags) \
00371 {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {def, choices, NULL, NULL}}}
00372 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, flags) \
00373 {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {NULL, NULL, def_get, query}}}
00374
00375 #define EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, min, max, step) \
00376 EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
00377 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, min, max, step) \
00378 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
00379 #define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, accept, deny) \
00380 EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
00381 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, false_str, true_str) \
00382 EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
00383 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL(name, def, choices) \
00384 EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
00385 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL(name, def_get, query) \
00386 EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR)
00387
00388 #define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, def) \
00389 EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET)
00390 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, def) \
00391 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET)
00392 #define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, def) \
00393 EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, NULL, NULL)
00394 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, def) \
00395 EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, "false", "true")
00396
00397 #define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, def, flags) \
00398 EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, flags)
00399 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, def, flags) \
00400 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, flags)
00401 #define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, def, flags) \
00402 EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, NULL, NULL, flags)
00403 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, def, flags) \
00404 EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, "false", "true", flags)
00405
00406 #define EDJE_EXTERNAL_PARAM_INFO_INT(name) \
00407 EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, 0)
00408 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE(name) \
00409 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, 0.0)
00410 #define EDJE_EXTERNAL_PARAM_INFO_STRING(name) \
00411 EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, NULL)
00412 #define EDJE_EXTERNAL_PARAM_INFO_BOOL(name) \
00413 EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, 0)
00414
00415 #define EDJE_EXTERNAL_PARAM_INFO_INT_FLAGS(name, flags) \
00416 EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, 0, flags)
00417 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FLAGS(name, flags) \
00418 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, 0.0, flags)
00419 #define EDJE_EXTERNAL_PARAM_INFO_STRING_FLAGS(name, flags) \
00420 EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, NULL, flags)
00421 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_FLAGS(name, flags) \
00422 EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, 0, flags)
00423
00424 #define EDJE_EXTERNAL_PARAM_INFO_SENTINEL {NULL, 0, 0, {.s = {NULL, NULL, NULL}}}
00425
00444 struct _Edje_External_Type
00445 {
00446 #define EDJE_EXTERNAL_TYPE_ABI_VERSION (3)
00447 unsigned int abi_version;
00451 const char *module;
00452 const char *module_name;
00453 Evas_Object *(*add) (void *data, Evas *evas, Evas_Object *parent, const Eina_List *params, const char *part_name);
00454 void (*state_set) (void *data, Evas_Object *obj, const void *from_params, const void *to_params, float pos);
00455 void (*signal_emit) (void *data, Evas_Object *obj, const char *emission, const char *source);
00456 Eina_Bool (*param_set) (void *data, Evas_Object *obj, const Edje_External_Param *param);
00457 Eina_Bool (*param_get) (void *data, const Evas_Object *obj, Edje_External_Param *param);
00458 Evas_Object *(*content_get) (void *data, const Evas_Object *obj, const char *content);
00459 void *(*params_parse) (void *data, Evas_Object *obj, const Eina_List *params);
00460 void (*params_free) (void *params);
00462
00463
00464 const char *(*label_get) (void *data);
00465 const char *(*description_get) (void *data);
00466 Evas_Object *(*icon_add) (void *data, Evas *e);
00467 Evas_Object *(*preview_add) (void *data, Evas *e);
00468 const char *(*translate) (void *data, const char *orig);
00470 Edje_External_Param_Info *parameters_info;
00471 void *data;
00472 };
00473 typedef struct _Edje_External_Type Edje_External_Type;
00474
00475 struct _Edje_External_Type_Info
00476 {
00477 const char *name;
00478 const Edje_External_Type *info;
00479 };
00480 typedef struct _Edje_External_Type_Info Edje_External_Type_Info;
00481
00482 typedef void (*Edje_Signal_Cb) (void *data, Evas_Object *obj, const char *emission, const char *source);
00483 typedef void (*Edje_Text_Change_Cb) (void *data, Evas_Object *obj, const char *part);
00484 typedef void (*Edje_Message_Handler_Cb) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg);
00485 typedef void (*Edje_Text_Filter_Cb) (void *data, Evas_Object *obj, const char *part, Edje_Text_Filter_Type type, char **text);
00486 typedef Evas_Object *(*Edje_Item_Provider_Cb) (void *data, Evas_Object *obj, const char *part, const char *item);
00487
00488
00489 EAPI int edje_init (void);
00490 EAPI int edje_shutdown (void);
00491
00492
00493 EAPI void edje_frametime_set (double t);
00494 EAPI double edje_frametime_get (void);
00495
00496
00497 EAPI void edje_freeze (void);
00498 EAPI void edje_thaw (void);
00499 EAPI void edje_fontset_append_set (const char *fonts);
00500 EAPI const char *edje_fontset_append_get (void);
00501 EAPI void edje_scale_set (double scale);
00502 EAPI double edje_scale_get (void);
00503 EAPI Eina_Bool edje_object_scale_set (Evas_Object *obj, double scale);
00504 EAPI double edje_object_scale_get (const Evas_Object *obj);
00505
00506
00507 EAPI Eina_List *edje_file_collection_list (const char *file);
00508 EAPI void edje_file_collection_list_free (Eina_List *lst);
00509 EAPI Eina_Bool edje_file_group_exists (const char *file, const char *glob);
00510 EAPI char *edje_file_data_get (const char *file, const char *key);
00511 EAPI void edje_file_cache_set (int count);
00512 EAPI int edje_file_cache_get (void);
00513 EAPI void edje_file_cache_flush (void);
00514 EAPI void edje_collection_cache_set (int count);
00515 EAPI int edje_collection_cache_get (void);
00516 EAPI void edje_collection_cache_flush (void);
00517
00518
00519 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);
00520 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);
00521 EAPI void edje_color_class_del (const char *color_class);
00522 EAPI Eina_List *edje_color_class_list (void);
00523 EAPI Eina_Bool edje_text_class_set (const char *text_class, const char *font, Evas_Font_Size size);
00524 EAPI void edje_text_class_del (const char *text_class);
00525 EAPI Eina_List *edje_text_class_list (void);
00526 EAPI void edje_extern_object_min_size_set (Evas_Object *obj, Evas_Coord minw, Evas_Coord minh);
00527 EAPI void edje_extern_object_max_size_set (Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh);
00528 EAPI void edje_extern_object_aspect_set (Evas_Object *obj, Edje_Aspect_Control aspect, Evas_Coord aw, Evas_Coord ah);
00529 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);
00530
00531
00532 EAPI Evas_Object *edje_object_add (Evas *evas);
00533
00534
00535 EAPI const char *edje_object_data_get (const Evas_Object *obj, const char *key);
00536
00537
00538 EAPI Eina_Bool edje_object_file_set (Evas_Object *obj, const char *file, const char *group);
00539 EAPI void edje_object_file_get (const Evas_Object *obj, const char **file, const char **group);
00540 EAPI Edje_Load_Error edje_object_load_error_get (const Evas_Object *obj);
00541 EAPI const char *edje_load_error_str (Edje_Load_Error error);
00542
00543
00544 EAPI Eina_Bool edje_object_preload (Evas_Object *obj, Eina_Bool cancel);
00545
00546
00547 EAPI void edje_object_signal_callback_add (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data);
00548 EAPI void *edje_object_signal_callback_del (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func);
00549 EAPI void *edje_object_signal_callback_del_full(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data);
00550 EAPI void edje_object_signal_emit (Evas_Object *obj, const char *emission, const char *source);
00551 EAPI void edje_object_play_set (Evas_Object *obj, Eina_Bool play);
00552 EAPI Eina_Bool edje_object_play_get (const Evas_Object *obj);
00553 EAPI void edje_object_animation_set (Evas_Object *obj, Eina_Bool on);
00554 EAPI Eina_Bool edje_object_animation_get (const Evas_Object *obj);
00555
00556
00557 EAPI int edje_object_freeze (Evas_Object *obj);
00558 EAPI int edje_object_thaw (Evas_Object *obj);
00559 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);
00560 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);
00561 EAPI void edje_object_color_class_del (Evas_Object *obj, const char *color_class);
00562 EAPI Eina_Bool edje_object_text_class_set (Evas_Object *obj, const char *text_class, const char *font, Evas_Font_Size size);
00563 EAPI void edje_object_size_min_get (const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
00564 EAPI void edje_object_size_max_get (const Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh);
00565 EAPI void edje_object_calc_force (Evas_Object *obj);
00566 EAPI void edje_object_size_min_calc (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh);
00567 EAPI Eina_Bool edje_object_parts_extends_calc (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
00568 EAPI void edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh, Evas_Coord restrictedw, Evas_Coord restrictedh);
00569 EAPI Eina_Bool edje_object_part_exists (const Evas_Object *obj, const char *part);
00570 EAPI const Evas_Object *edje_object_part_object_get (const Evas_Object *obj, const char *part);
00571 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);
00572
00573 EAPI void edje_object_item_provider_set (Evas_Object *obj, Edje_Item_Provider_Cb func, void *data);
00574
00575 EAPI void edje_object_text_change_cb_set (Evas_Object *obj, Edje_Text_Change_Cb func, void *data);
00576
00577 EAPI Eina_Bool edje_object_part_text_set (Evas_Object *obj, const char *part, const char *text);
00578 EAPI const char *edje_object_part_text_get (const Evas_Object *obj, const char *part);
00579 EAPI Eina_Bool edje_object_part_text_unescaped_set (Evas_Object *obj, const char *part, const char *text_to_escape);
00580 EAPI char *edje_object_part_text_unescaped_get (const Evas_Object *obj, const char *part);
00581
00582 EAPI const char *edje_object_part_text_selection_get (const Evas_Object *obj, const char *part);
00583 EAPI void edje_object_part_text_select_none (const Evas_Object *obj, const char *part);
00584 EAPI void edje_object_part_text_select_all (const Evas_Object *obj, const char *part);
00585 EAPI void edje_object_part_text_insert (Evas_Object *obj, const char *part, const char *text);
00586 EAPI const Eina_List *edje_object_part_text_anchor_list_get (const Evas_Object *obj, const char *part);
00587 EAPI const Eina_List *edje_object_part_text_anchor_geometry_get (const Evas_Object *obj, const char *part, const char *anchor);
00588 EAPI const Eina_List *edje_object_part_text_item_list_get (const Evas_Object *obj, const char *part);
00589 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);
00590 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);
00591 EAPI void edje_object_part_text_select_allow_set (const Evas_Object *obj, const char *part, Eina_Bool allow);
00592 EAPI void edje_object_part_text_select_abort (const Evas_Object *obj, const char *part);
00593 EAPI void edje_object_part_text_select_begin (const Evas_Object *obj, const char *part);
00594 EAPI void edje_object_part_text_select_extend (const Evas_Object *obj, const char *part);
00595
00596 EAPI Eina_Bool edje_object_part_text_cursor_next (Evas_Object *obj, const char *part, Edje_Cursor cur);
00597 EAPI Eina_Bool edje_object_part_text_cursor_prev (Evas_Object *obj, const char *part, Edje_Cursor cur);
00598 EAPI Eina_Bool edje_object_part_text_cursor_up (Evas_Object *obj, const char *part, Edje_Cursor cur);
00599 EAPI Eina_Bool edje_object_part_text_cursor_down (Evas_Object *obj, const char *part, Edje_Cursor cur);
00600 EAPI void edje_object_part_text_cursor_begin_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
00601 EAPI void edje_object_part_text_cursor_end_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
00602 EAPI void edje_object_part_text_cursor_copy (Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst);
00603 EAPI void edje_object_part_text_cursor_line_begin_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
00604 EAPI void edje_object_part_text_cursor_line_end_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
00605 EAPI Eina_Bool edje_object_part_text_cursor_coord_set (Evas_Object *obj, const char *part, Edje_Cursor cur, Evas_Coord x, Evas_Coord y);
00606 EAPI Eina_Bool edje_object_part_text_cursor_is_format_get (const Evas_Object *obj, const char *part, Edje_Cursor cur);
00607 EAPI Eina_Bool edje_object_part_text_cursor_is_visible_format_get(const Evas_Object *obj, const char *part, Edje_Cursor cur);
00608 EAPI const char *edje_object_part_text_cursor_content_get (const Evas_Object *obj, const char *part, Edje_Cursor cur);
00609
00610 EAPI void edje_object_text_insert_filter_callback_add (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data);
00611 EAPI void *edje_object_text_insert_filter_callback_del (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func);
00612 EAPI void *edje_object_text_insert_filter_callback_del_full (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data);
00613
00614 EAPI Eina_Bool edje_object_part_swallow (Evas_Object *obj, const char *part, Evas_Object *obj_swallow);
00615 EAPI void edje_object_part_unswallow (Evas_Object *obj, Evas_Object *obj_swallow);
00616 EAPI Evas_Object *edje_object_part_swallow_get (const Evas_Object *obj, const char *part);
00617 EAPI const char *edje_object_part_state_get (const Evas_Object *obj, const char *part, double *val_ret);
00618 EAPI Edje_Drag_Dir edje_object_part_drag_dir_get (const Evas_Object *obj, const char *part);
00619 EAPI Eina_Bool edje_object_part_drag_value_set (Evas_Object *obj, const char *part, double dx, double dy);
00620 EAPI Eina_Bool edje_object_part_drag_value_get (const Evas_Object *obj, const char *part, double *dx, double *dy);
00621 EAPI Eina_Bool edje_object_part_drag_size_set (Evas_Object *obj, const char *part, double dw, double dh);
00622 EAPI Eina_Bool edje_object_part_drag_size_get (const Evas_Object *obj, const char *part, double *dw, double *dh);
00623 EAPI Eina_Bool edje_object_part_drag_step_set (Evas_Object *obj, const char *part, double dx, double dy);
00624 EAPI Eina_Bool edje_object_part_drag_step_get (const Evas_Object *obj, const char *part, double *dx, double *dy);
00625 EAPI Eina_Bool edje_object_part_drag_page_set (Evas_Object *obj, const char *part, double dx, double dy);
00626 EAPI Eina_Bool edje_object_part_drag_page_get (const Evas_Object *obj, const char *part, double *dx, double *dy);
00627 EAPI Eina_Bool edje_object_part_drag_step (Evas_Object *obj, const char *part, double dx, double dy);
00628 EAPI Eina_Bool edje_object_part_drag_page (Evas_Object *obj, const char *part, double dx, double dy);
00629
00630 EAPI Evas_Object *edje_object_part_external_object_get (const Evas_Object *obj, const char *part);
00631 EAPI Eina_Bool edje_object_part_external_param_set (Evas_Object *obj, const char *part, const Edje_External_Param *param);
00632 EAPI Eina_Bool edje_object_part_external_param_get (const Evas_Object *obj, const char *part, Edje_External_Param *param);
00633 EAPI Evas_Object *edje_object_part_external_content_get (const Evas_Object *obj, const char *part, const char *content);
00634 EAPI Edje_External_Param_Type edje_object_part_external_param_type_get (const Evas_Object *obj, const char *part, const char *param);
00635
00636 EAPI Eina_Bool edje_object_part_box_append (Evas_Object *obj, const char *part, Evas_Object *child);
00637 EAPI Eina_Bool edje_object_part_box_prepend (Evas_Object *obj, const char *part, Evas_Object *child);
00638 EAPI Eina_Bool edje_object_part_box_insert_before (Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference);
00639 EAPI Eina_Bool edje_object_part_box_insert_at (Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos);
00640 EAPI Evas_Object *edje_object_part_box_remove (Evas_Object *obj, const char *part, Evas_Object *child);
00641 EAPI Evas_Object *edje_object_part_box_remove_at (Evas_Object *obj, const char *part, unsigned int pos);
00642 EAPI Eina_Bool edje_object_part_box_remove_all (Evas_Object *obj, const char *part, Eina_Bool clear);
00643 EAPI Evas_Object *edje_object_part_table_child_get (Evas_Object *obj, const char *part, unsigned int col, unsigned int row);
00644 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);
00645 EAPI Eina_Bool edje_object_part_table_unpack (Evas_Object *obj, const char *part, Evas_Object *child_obj);
00646 EAPI Eina_Bool edje_object_part_table_col_row_size_get (const Evas_Object *obj, const char *part, int *cols, int *rows);
00647 EAPI Eina_Bool edje_object_part_table_clear (Evas_Object *obj, const char *part, Eina_Bool clear);
00648
00649
00650 EAPI void edje_object_message_send (Evas_Object *obj, Edje_Message_Type type, int id, void *msg);
00651 EAPI void edje_object_message_handler_set (Evas_Object *obj, Edje_Message_Handler_Cb func, void *data);
00652 EAPI void edje_object_message_signal_process (Evas_Object *obj);
00653
00654 EAPI void edje_message_signal_process (void);
00655
00656
00657 EAPI Eina_Bool edje_external_type_register (const char *type_name, const Edje_External_Type *type_info);
00658 EAPI Eina_Bool edje_external_type_unregister (const char *type_name);
00659
00660 EAPI void edje_external_type_array_register (const Edje_External_Type_Info *array);
00661 EAPI void edje_external_type_array_unregister (const Edje_External_Type_Info *array);
00662
00663 EAPI unsigned int edje_external_type_abi_version_get (void) EINA_CONST;
00664
00665
00666 EAPI Eina_Iterator *edje_external_iterator_get (void);
00667 EAPI Edje_External_Param *edje_external_param_find (const Eina_List *params, const char *key);
00668 EAPI Eina_Bool edje_external_param_int_get (const Eina_List *params, const char *key, int *ret);
00669 EAPI Eina_Bool edje_external_param_double_get (const Eina_List *params, const char *key, double *ret);
00670 EAPI Eina_Bool edje_external_param_string_get (const Eina_List *params, const char *key, const char **ret);
00671 EAPI Eina_Bool edje_external_param_bool_get (const Eina_List *params, const char *key, Eina_Bool *ret);
00672 EAPI Eina_Bool edje_external_param_choice_get (const Eina_List *params, const char *key, const char **ret);
00673 EAPI const Edje_External_Param_Info *edje_external_param_info_get (const char *type_name);
00674 EAPI const Edje_External_Type *edje_external_type_get (const char *type_name);
00675
00676
00677 EAPI Eina_Bool edje_module_load (const char *module);
00678 EAPI const Eina_List *edje_available_modules_get (void);
00679
00680
00681 typedef struct _Edje_Perspective Edje_Perspective;
00682
00683 EAPI Edje_Perspective *edje_perspective_new (Evas *e);
00684 EAPI void edje_perspective_free (Edje_Perspective *ps);
00685 EAPI void edje_perspective_set (Edje_Perspective *ps, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc);
00686 EAPI void edje_perspective_global_set (Edje_Perspective *ps, Eina_Bool global);
00687 EAPI Eina_Bool edje_perspective_global_get (const Edje_Perspective *ps);
00688 EAPI const Edje_Perspective *edje_evas_global_perspective_get(const Evas *e);
00689 EAPI void edje_object_perspective_set (Evas_Object *obj, Edje_Perspective *ps);
00690 EAPI const Edje_Perspective *edje_object_perspective_get (const Evas_Object *obj);
00691
00692 #ifdef __cplusplus
00693 }
00694 #endif
00695
00696 #endif