src/lib/Edje.h
Go to the documentation of this file.
00001 00261 #ifndef _EDJE_H 00262 #define _EDJE_H 00263 00264 #ifndef _MSC_VER 00265 # include <stdint.h> 00266 #endif 00267 #include <math.h> 00268 #include <float.h> 00269 #include <limits.h> 00270 00271 #include <Evas.h> 00272 00273 #ifdef EAPI 00274 # undef EAPI 00275 #endif 00276 00277 #ifdef HAVE_ECORE_IMF 00278 #include <Ecore_IMF.h> 00279 #endif 00280 00281 #ifdef _WIN32 00282 # ifdef EFL_EDJE_BUILD 00283 # ifdef DLL_EXPORT 00284 # define EAPI __declspec(dllexport) 00285 # else 00286 # define EAPI 00287 # endif /* ! DLL_EXPORT */ 00288 # else 00289 # define EAPI __declspec(dllimport) 00290 # endif /* ! EFL_EDJE_BUILD */ 00291 #else 00292 # ifdef __GNUC__ 00293 # if __GNUC__ >= 4 00294 # define EAPI __attribute__ ((visibility("default"))) 00295 # else 00296 # define EAPI 00297 # endif 00298 # else 00299 # define EAPI 00300 # endif 00301 #endif 00302 00303 #ifdef __cplusplus 00304 extern "C" { 00305 #endif 00306 00307 #define EDJE_VERSION_MAJOR 1 00308 #define EDJE_VERSION_MINOR 2 00309 00310 typedef struct _Edje_Version 00311 { 00312 int major; 00313 int minor; 00314 int micro; 00315 int revision; 00316 } Edje_Version; 00317 00318 EAPI extern Edje_Version *edje_version; 00319 00334 typedef enum _Edje_Message_Type 00335 { 00336 EDJE_MESSAGE_NONE = 0, 00337 00338 EDJE_MESSAGE_SIGNAL = 1, /* DONT USE THIS */ 00339 00340 EDJE_MESSAGE_STRING = 2, 00341 EDJE_MESSAGE_INT = 3, 00342 EDJE_MESSAGE_FLOAT = 4, 00344 EDJE_MESSAGE_STRING_SET = 5, 00345 EDJE_MESSAGE_INT_SET = 6, 00346 EDJE_MESSAGE_FLOAT_SET = 7, 00348 EDJE_MESSAGE_STRING_INT = 8, 00349 EDJE_MESSAGE_STRING_FLOAT = 9, 00351 EDJE_MESSAGE_STRING_INT_SET = 10, 00352 EDJE_MESSAGE_STRING_FLOAT_SET = 11 00353 } Edje_Message_Type; 00354 00355 typedef enum _Edje_Aspect_Control 00356 { 00357 EDJE_ASPECT_CONTROL_NONE = 0, 00358 EDJE_ASPECT_CONTROL_NEITHER = 1, 00359 EDJE_ASPECT_CONTROL_HORIZONTAL = 2, 00360 EDJE_ASPECT_CONTROL_VERTICAL = 3, 00361 EDJE_ASPECT_CONTROL_BOTH = 4 00362 } Edje_Aspect_Control; 00363 00364 typedef enum _Edje_Object_Table_Homogeneous_Mode 00365 { 00366 EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE = 0, 00367 EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1, 00368 EDJE_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2 00369 } Edje_Object_Table_Homogeneous_Mode; 00370 00371 typedef enum _Edje_Part_Type 00372 { 00373 EDJE_PART_TYPE_NONE = 0, 00374 EDJE_PART_TYPE_RECTANGLE = 1, 00375 EDJE_PART_TYPE_TEXT = 2, 00376 EDJE_PART_TYPE_IMAGE = 3, 00377 EDJE_PART_TYPE_SWALLOW = 4, 00378 EDJE_PART_TYPE_TEXTBLOCK = 5, 00379 EDJE_PART_TYPE_GRADIENT = 6, 00380 EDJE_PART_TYPE_GROUP = 7, 00381 EDJE_PART_TYPE_BOX = 8, 00382 EDJE_PART_TYPE_TABLE = 9, 00383 EDJE_PART_TYPE_EXTERNAL = 10, 00384 EDJE_PART_TYPE_PROXY = 11, 00385 EDJE_PART_TYPE_LAST = 12 00386 } Edje_Part_Type; 00387 00388 typedef enum _Edje_Text_Effect 00389 { 00390 #define EDJE_TEXT_EFFECT_MASK_BASIC 0xf 00391 #define EDJE_TEXT_EFFECT_BASIC_SET(x, s) \ 00392 do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_BASIC) | (s); } while (0) 00393 EDJE_TEXT_EFFECT_NONE = 0, 00394 EDJE_TEXT_EFFECT_PLAIN = 1, 00395 EDJE_TEXT_EFFECT_OUTLINE = 2, 00396 EDJE_TEXT_EFFECT_SOFT_OUTLINE = 3, 00397 EDJE_TEXT_EFFECT_SHADOW = 4, 00398 EDJE_TEXT_EFFECT_SOFT_SHADOW = 5, 00399 EDJE_TEXT_EFFECT_OUTLINE_SHADOW = 6, 00400 EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW = 7, 00401 EDJE_TEXT_EFFECT_FAR_SHADOW = 8, 00402 EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW = 9, 00403 EDJE_TEXT_EFFECT_GLOW = 10, 00404 00405 EDJE_TEXT_EFFECT_LAST = 11, 00406 00407 #define EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION (0x7 << 4) 00408 #define EDJE_TEXT_EFFECT_SHADOW_DIRECTION_SET(x, s) \ 00409 do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION) | (s); } while (0) 00410 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT = (0x0 << 4), 00411 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM = (0x1 << 4), 00412 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT = (0x2 << 4), 00413 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT = (0x3 << 4), 00414 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT = (0x4 << 4), 00415 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP = (0x5 << 4), 00416 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT = (0x6 << 4), 00417 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT = (0x7 << 4) 00418 } Edje_Text_Effect; 00419 00420 typedef enum _Edje_Action_Type 00421 { 00422 EDJE_ACTION_TYPE_NONE = 0, 00423 EDJE_ACTION_TYPE_STATE_SET = 1, 00424 EDJE_ACTION_TYPE_ACTION_STOP = 2, 00425 EDJE_ACTION_TYPE_SIGNAL_EMIT = 3, 00426 EDJE_ACTION_TYPE_DRAG_VAL_SET = 4, 00427 EDJE_ACTION_TYPE_DRAG_VAL_STEP = 5, 00428 EDJE_ACTION_TYPE_DRAG_VAL_PAGE = 6, 00429 EDJE_ACTION_TYPE_SCRIPT = 7, 00430 EDJE_ACTION_TYPE_FOCUS_SET = 8, 00431 EDJE_ACTION_TYPE_RESERVED00 = 9, 00432 EDJE_ACTION_TYPE_FOCUS_OBJECT = 10, 00433 EDJE_ACTION_TYPE_PARAM_COPY = 11, 00434 EDJE_ACTION_TYPE_PARAM_SET = 12, 00435 EDJE_ACTION_TYPE_SOUND_SAMPLE = 13, 00436 EDJE_ACTION_TYPE_SOUND_TONE = 14, 00437 EDJE_ACTION_TYPE_LAST = 15 00438 } Edje_Action_Type; 00439 00440 typedef enum _Edje_Tween_Mode 00441 { 00442 EDJE_TWEEN_MODE_NONE = 0, 00443 EDJE_TWEEN_MODE_LINEAR = 1, 00444 EDJE_TWEEN_MODE_SINUSOIDAL = 2, 00445 EDJE_TWEEN_MODE_ACCELERATE = 3, 00446 EDJE_TWEEN_MODE_DECELERATE = 4, 00447 EDJE_TWEEN_MODE_ACCELERATE_FACTOR = 5, 00448 EDJE_TWEEN_MODE_DECELERATE_FACTOR = 6, 00449 EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR = 7, 00450 EDJE_TWEEN_MODE_DIVISOR_INTERP = 8, 00451 EDJE_TWEEN_MODE_BOUNCE = 9, 00452 EDJE_TWEEN_MODE_SPRING = 10, 00453 EDJE_TWEEN_MODE_LAST = 11, 00454 EDJE_TWEEN_MODE_MASK = 0xff, 00455 EDJE_TWEEN_MODE_OPT_FROM_CURRENT = (1 << 31) 00456 } Edje_Tween_Mode; 00457 00458 typedef enum _Edje_Cursor 00459 { 00460 EDJE_CURSOR_MAIN, 00461 EDJE_CURSOR_SELECTION_BEGIN, 00462 EDJE_CURSOR_SELECTION_END, 00463 EDJE_CURSOR_PREEDIT_START, 00464 EDJE_CURSOR_PREEDIT_END, 00465 EDJE_CURSOR_USER, 00466 EDJE_CURSOR_USER_EXTRA, 00467 // more later 00468 } Edje_Cursor; 00469 00470 struct _Edje_Entry_Change_Info 00471 { 00472 union { 00473 struct { 00474 const char *content; 00475 size_t pos; 00476 size_t plain_length; /* Number of cursor positions represented 00477 in content. */ 00478 } insert; 00479 struct { 00480 const char *content; 00481 size_t start, end; 00482 } del; 00483 } change; 00484 Eina_Bool insert : 1; 00485 Eina_Bool merge : 1; 00486 }; 00487 00491 typedef struct _Edje_Entry_Change_Info Edje_Entry_Change_Info; 00492 00493 typedef struct _Edje_Message_String Edje_Message_String; 00494 typedef struct _Edje_Message_Int Edje_Message_Int; 00495 typedef struct _Edje_Message_Float Edje_Message_Float; 00496 typedef struct _Edje_Message_String_Set Edje_Message_String_Set; 00497 typedef struct _Edje_Message_Int_Set Edje_Message_Int_Set; 00498 typedef struct _Edje_Message_Float_Set Edje_Message_Float_Set; 00499 typedef struct _Edje_Message_String_Int Edje_Message_String_Int; 00500 typedef struct _Edje_Message_String_Float Edje_Message_String_Float; 00501 typedef struct _Edje_Message_String_Int_Set Edje_Message_String_Int_Set; 00502 typedef struct _Edje_Message_String_Float_Set Edje_Message_String_Float_Set; 00503 00504 struct _Edje_Message_String 00505 { 00506 char *str; 00507 }; 00509 struct _Edje_Message_Int 00510 { 00511 int val; 00512 }; 00514 struct _Edje_Message_Float 00515 { 00516 double val; 00517 }; 00519 struct _Edje_Message_String_Set 00520 { 00521 int count; 00522 char *str[1]; 00523 }; 00525 struct _Edje_Message_Int_Set 00526 { 00527 int count; 00528 int val[1]; 00529 }; 00531 struct _Edje_Message_Float_Set 00532 { 00533 int count; 00534 double val[1]; 00535 }; 00537 struct _Edje_Message_String_Int 00538 { 00539 char *str; 00540 int val; 00541 }; 00543 struct _Edje_Message_String_Float 00544 { 00545 char *str; 00546 double val; 00547 }; 00549 struct _Edje_Message_String_Int_Set 00550 { 00551 char *str; 00552 int count; 00553 int val[1]; 00554 }; 00556 struct _Edje_Message_String_Float_Set 00557 { 00558 char *str; 00559 int count; 00560 double val[1]; 00561 }; 00563 typedef enum _Edje_Drag_Dir 00564 { 00565 EDJE_DRAG_DIR_NONE = 0, 00566 EDJE_DRAG_DIR_X = 1, 00567 EDJE_DRAG_DIR_Y = 2, 00568 EDJE_DRAG_DIR_XY = 3 00569 } Edje_Drag_Dir; 00570 00571 typedef enum _Edje_Load_Error 00572 { 00573 EDJE_LOAD_ERROR_NONE = 0, 00574 EDJE_LOAD_ERROR_GENERIC = 1, 00575 EDJE_LOAD_ERROR_DOES_NOT_EXIST = 2, 00576 EDJE_LOAD_ERROR_PERMISSION_DENIED = 3, 00577 EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, 00578 EDJE_LOAD_ERROR_CORRUPT_FILE = 5, 00579 EDJE_LOAD_ERROR_UNKNOWN_FORMAT = 6, 00580 EDJE_LOAD_ERROR_INCOMPATIBLE_FILE = 7, 00581 EDJE_LOAD_ERROR_UNKNOWN_COLLECTION = 8, 00582 EDJE_LOAD_ERROR_RECURSIVE_REFERENCE = 9 00583 } Edje_Load_Error; 00585 typedef enum _Edje_Text_Filter_Type 00586 { 00587 EDJE_TEXT_FILTER_TEXT = 0, 00588 EDJE_TEXT_FILTER_FORMAT = 1, 00589 EDJE_TEXT_FILTER_MARKUP = 2 00590 } Edje_Text_Filter_Type; 00591 00592 typedef enum _Edje_Text_Autocapital_Type 00593 { 00594 EDJE_TEXT_AUTOCAPITAL_TYPE_NONE, 00595 EDJE_TEXT_AUTOCAPITAL_TYPE_WORD, 00596 EDJE_TEXT_AUTOCAPITAL_TYPE_SENTENCE, 00597 EDJE_TEXT_AUTOCAPITAL_TYPE_ALLCHARACTER 00598 } Edje_Text_Autocapital_Type; 00599 00603 typedef enum _Edje_External_Param_Type 00604 { 00605 EDJE_EXTERNAL_PARAM_TYPE_INT, 00606 EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, 00607 EDJE_EXTERNAL_PARAM_TYPE_STRING, 00608 EDJE_EXTERNAL_PARAM_TYPE_BOOL, 00609 EDJE_EXTERNAL_PARAM_TYPE_CHOICE, 00611 EDJE_EXTERNAL_PARAM_TYPE_MAX 00612 } Edje_External_Param_Type; 00613 00618 typedef enum _Edje_External_Param_Flags 00619 { 00620 EDJE_EXTERNAL_PARAM_FLAGS_NONE = 0, 00621 EDJE_EXTERNAL_PARAM_FLAGS_GET = (1 << 0), 00622 EDJE_EXTERNAL_PARAM_FLAGS_SET = (1 << 1), 00623 EDJE_EXTERNAL_PARAM_FLAGS_STATE = (1 << 2), 00624 EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR = (1 << 3), 00625 EDJE_EXTERNAL_PARAM_FLAGS_REGULAR = (EDJE_EXTERNAL_PARAM_FLAGS_GET | 00626 EDJE_EXTERNAL_PARAM_FLAGS_SET | 00627 EDJE_EXTERNAL_PARAM_FLAGS_STATE) 00628 } Edje_External_Param_Flags; 00629 00630 typedef enum _Edje_Input_Panel_Layout 00631 { 00632 EDJE_INPUT_PANEL_LAYOUT_NORMAL, 00633 EDJE_INPUT_PANEL_LAYOUT_NUMBER, 00634 EDJE_INPUT_PANEL_LAYOUT_EMAIL, 00635 EDJE_INPUT_PANEL_LAYOUT_URL, 00636 EDJE_INPUT_PANEL_LAYOUT_PHONENUMBER, 00637 EDJE_INPUT_PANEL_LAYOUT_IP, 00638 EDJE_INPUT_PANEL_LAYOUT_MONTH, 00639 EDJE_INPUT_PANEL_LAYOUT_NUMBERONLY, 00640 EDJE_INPUT_PANEL_LAYOUT_INVALID, 00641 EDJE_INPUT_PANEL_LAYOUT_HEX, 00642 EDJE_INPUT_PANEL_LAYOUT_TERMINAL, 00643 EDJE_INPUT_PANEL_LAYOUT_PASSWORD 00644 } Edje_Input_Panel_Layout; 00645 00646 typedef enum _Edje_Input_Panel_Lang 00647 { 00648 EDJE_INPUT_PANEL_LANG_AUTOMATIC, 00649 EDJE_INPUT_PANEL_LANG_ALPHABET 00650 } Edje_Input_Panel_Lang; 00651 00652 typedef enum _Edje_Input_Panel_Return_Key_Type 00653 { 00654 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT, 00655 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DONE, 00656 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_GO, 00657 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_JOIN, 00658 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN, 00659 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_NEXT, 00660 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH, 00661 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEND 00662 } Edje_Input_Panel_Return_Key_Type; 00663 00672 EAPI const char *edje_external_param_type_str(Edje_External_Param_Type type) EINA_PURE; 00673 00677 struct _Edje_External_Param 00678 { 00679 const char *name; 00680 Edje_External_Param_Type type; 00683 // XXX these could be in a union, but eet doesn't support them (or does it?) 00684 int i; 00685 double d; 00686 const char *s; 00687 }; 00691 typedef struct _Edje_External_Param Edje_External_Param; 00692 00696 #define EDJE_EXTERNAL_INT_UNSET INT_MAX 00697 00700 #define EDJE_EXTERNAL_DOUBLE_UNSET DBL_MAX 00701 00713 typedef struct _Edje_External_Param_Info Edje_External_Param_Info; 00725 struct _Edje_External_Param_Info 00726 { 00727 const char *name; 00728 Edje_External_Param_Type type; 00729 Edje_External_Param_Flags flags; 00731 union { 00732 struct { 00733 int def, 00734 min, 00735 max, 00736 step; 00737 } i; 00739 struct { 00740 double def, 00741 min, 00742 max, 00743 step; 00744 } d; 00746 struct { 00747 const char *def; 00748 const char *accept_fmt; 00749 const char *deny_fmt; 00750 } s; 00751 struct { 00752 int def; 00753 const char *false_str; 00754 const char *true_str; 00755 } b; 00756 struct { 00757 const char *def; 00758 const char **choices; /* Array of strings, each represents a 00759 valid value for this parameter. The 00760 last element of the array must be 00761 NULL. */ 00762 char *(*def_get)(void *data, const Edje_External_Param_Info *info); 00763 char **(*query)(void *data, const Edje_External_Param_Info *info); 00764 } c; 00765 } info; 00766 }; 00767 00768 #define EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, flags) \ 00769 {name, EDJE_EXTERNAL_PARAM_TYPE_INT, flags, {.i = {def, min, max, step}}} 00770 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, flags) \ 00771 {name, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, flags, {.d = {def, min, max, step}}} 00772 #define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, flags) \ 00773 {name, EDJE_EXTERNAL_PARAM_TYPE_STRING, flags, {.s = {def, accept, deny}}} 00774 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, flags) \ 00775 {name, EDJE_EXTERNAL_PARAM_TYPE_BOOL, flags, {.b = {def, false_str, true_str}}} 00776 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, flags) \ 00777 {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {def, choices, NULL, NULL}}} 00778 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, flags) \ 00779 {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {NULL, NULL, def_get, query}}} 00780 00781 #define EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, min, max, step) \ 00782 EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00783 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, min, max, step) \ 00784 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00785 #define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, accept, deny) \ 00786 EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00787 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, false_str, true_str) \ 00788 EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00789 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL(name, def, choices) \ 00790 EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00791 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL(name, def_get, query) \ 00792 EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00793 00794 #define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, def) \ 00795 EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET) 00796 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, def) \ 00797 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET) 00798 #define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, def) \ 00799 EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, NULL, NULL) 00800 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, def) \ 00801 EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, "false", "true") 00802 00803 #define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, def, flags) \ 00804 EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, flags) 00805 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, def, flags) \ 00806 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, flags) 00807 #define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, def, flags) \ 00808 EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, NULL, NULL, flags) 00809 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, def, flags) \ 00810 EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, "false", "true", flags) 00811 00812 #define EDJE_EXTERNAL_PARAM_INFO_INT(name) \ 00813 EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, 0) 00814 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE(name) \ 00815 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, 0.0) 00816 #define EDJE_EXTERNAL_PARAM_INFO_STRING(name) \ 00817 EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, NULL) 00818 #define EDJE_EXTERNAL_PARAM_INFO_BOOL(name) \ 00819 EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, 0) 00820 00821 #define EDJE_EXTERNAL_PARAM_INFO_INT_FLAGS(name, flags) \ 00822 EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, 0, flags) 00823 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FLAGS(name, flags) \ 00824 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, 0.0, flags) 00825 #define EDJE_EXTERNAL_PARAM_INFO_STRING_FLAGS(name, flags) \ 00826 EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, NULL, flags) 00827 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_FLAGS(name, flags) \ 00828 EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, 0, flags) 00829 00830 #define EDJE_EXTERNAL_PARAM_INFO_SENTINEL {NULL, 0, 0, {.s = {NULL, NULL, NULL}}} 00831 00850 struct _Edje_External_Type 00851 { 00852 #define EDJE_EXTERNAL_TYPE_ABI_VERSION (3) 00853 unsigned int abi_version; 00857 const char *module; 00860 const char *module_name; 00862 Evas_Object *(*add) (void *data, Evas *evas, Evas_Object *parent, const Eina_List *params, const char *part_name); 00864 void (*state_set) (void *data, Evas_Object *obj, const void *from_params, const void *to_params, float pos); 00865 void (*signal_emit) (void *data, Evas_Object *obj, const char *emission, const char *source); 00866 Eina_Bool (*param_set) (void *data, Evas_Object *obj, const Edje_External_Param *param); 00867 Eina_Bool (*param_get) (void *data, const Evas_Object *obj, Edje_External_Param *param); 00868 Evas_Object *(*content_get) (void *data, const Evas_Object *obj, const char *content); 00869 void *(*params_parse) (void *data, Evas_Object *obj, const Eina_List *params); 00870 void (*params_free) (void *params); 00872 /* The following callbacks aren't used by Edje itself, but by UI design 00873 tools instead */ 00874 const char *(*label_get) (void *data); 00875 const char *(*description_get) (void *data); 00876 Evas_Object *(*icon_add) (void *data, Evas *e); 00877 Evas_Object *(*preview_add) (void *data, Evas *e); 00878 const char *(*translate) (void *data, const char *orig); 00880 Edje_External_Param_Info *parameters_info; 00881 void *data; 00882 }; 00883 typedef struct _Edje_External_Type Edje_External_Type; 00884 00890 struct _Edje_External_Type_Info 00891 { 00892 const char *name; 00893 const Edje_External_Type *info; 00894 }; 00895 typedef struct _Edje_External_Type_Info Edje_External_Type_Info; 00896 00897 typedef void (*Edje_Signal_Cb) (void *data, Evas_Object *obj, const char *emission, const char *source); 00898 typedef void (*Edje_Text_Change_Cb) (void *data, Evas_Object *obj, const char *part); 00899 typedef void (*Edje_Message_Handler_Cb) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg); 00900 typedef void (*Edje_Text_Filter_Cb) (void *data, Evas_Object *obj, const char *part, Edje_Text_Filter_Type type, char **text); 00901 typedef void (*Edje_Markup_Filter_Cb) (void *data, Evas_Object *obj, const char *part, char **text); 00902 typedef Evas_Object *(*Edje_Item_Provider_Cb) (void *data, Evas_Object *obj, const char *part, const char *item); 00903 00923 EAPI int edje_init (void); 00924 00944 EAPI int edje_shutdown (void); 00945 00959 EAPI void edje_frametime_set (double t); 00960 00972 EAPI double edje_frametime_get (void); 00973 00984 EAPI void edje_freeze (void); 00985 00996 EAPI void edje_thaw (void); 00997 01006 EAPI void edje_fontset_append_set (const char *fonts); 01007 01019 EAPI const char *edje_fontset_append_get (void); 01020 01044 EAPI void edje_scale_set (double scale); 01045 01056 EAPI double edje_scale_get (void); 01057 01070 EAPI void edje_password_show_last_set(Eina_Bool password_show_last); 01071 01085 EAPI void edje_password_show_last_timeout_set(double password_show_last_timeout); 01086 01108 EAPI Eina_Bool edje_object_scale_set (Evas_Object *obj, double scale); 01109 01121 EAPI double edje_object_scale_get (const Evas_Object *obj); 01122 01130 EAPI void edje_object_mirrored_set (Evas_Object *obj, Eina_Bool rtl); 01131 01141 EAPI Eina_Bool edje_object_mirrored_get (const Evas_Object *obj); 01142 01152 EAPI Eina_List *edje_file_collection_list (const char *file); 01153 01160 EAPI void edje_file_collection_list_free (Eina_List *lst); 01161 01169 EAPI Eina_Bool edje_file_group_exists (const char *file, const char *glob); 01170 01188 EAPI char *edje_file_data_get (const char *file, const char *key); 01189 01203 EAPI void edje_file_cache_set (int count); 01204 01217 EAPI int edje_file_cache_get (void); 01218 01229 EAPI void edje_file_cache_flush (void); 01230 01245 EAPI void edje_collection_cache_set (int count); 01246 01259 EAPI int edje_collection_cache_get (void); 01260 01271 EAPI void edje_collection_cache_flush (void); 01272 01309 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); 01310 01345 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); 01346 01360 EAPI void edje_color_class_del (const char *color_class); 01361 01372 EAPI Eina_List *edje_color_class_list (void); 01373 01389 EAPI Eina_Bool edje_text_class_set (const char *text_class, const char *font, Evas_Font_Size size); 01390 01400 EAPI void edje_text_class_del (const char *text_class); 01401 01412 EAPI Eina_List *edje_text_class_list (void); 01413 01423 EAPI void edje_extern_object_min_size_set (Evas_Object *obj, Evas_Coord minw, Evas_Coord minh); 01424 01434 EAPI void edje_extern_object_max_size_set (Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh); 01435 01449 EAPI void edje_extern_object_aspect_set (Evas_Object *obj, Edje_Aspect_Control aspect, Evas_Coord aw, Evas_Coord ah); 01450 01473 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); 01474 01526 EAPI Evas_Object *edje_object_add (Evas *evas); 01527 01564 EAPI const char *edje_object_data_get (const Evas_Object *obj, const char *key); 01565 01596 EAPI Eina_Bool edje_object_file_set (Evas_Object *obj, const char *file, const char *group); 01597 01618 EAPI void edje_object_file_get (const Evas_Object *obj, const char **file, const char **group); 01619 01644 EAPI Edje_Load_Error edje_object_load_error_get (const Evas_Object *obj); 01645 01660 EAPI const char *edje_load_error_str (Edje_Load_Error error); 01661 01679 EAPI Eina_Bool edje_object_preload (Evas_Object *obj, Eina_Bool cancel); 01680 01741 EAPI void edje_object_signal_callback_add (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data); 01742 01762 EAPI void *edje_object_signal_callback_del (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func); 01763 01787 EAPI void *edje_object_signal_callback_del_full(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data); 01788 01817 EAPI void edje_object_signal_emit (Evas_Object *obj, const char *emission, const char *source); 01818 01830 EAPI void * edje_object_signal_callback_extra_data_get(void); 01831 01846 EAPI void edje_object_play_set (Evas_Object *obj, Eina_Bool play); 01847 01862 EAPI Eina_Bool edje_object_play_get (const Evas_Object *obj); 01863 01878 EAPI void edje_object_animation_set (Evas_Object *obj, Eina_Bool on); 01879 01893 EAPI Eina_Bool edje_object_animation_get (const Evas_Object *obj); 01894 01906 EAPI int edje_object_freeze (Evas_Object *obj); 01907 01921 EAPI int edje_object_thaw (Evas_Object *obj); 01922 01956 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); 01957 01990 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); 01991 02007 EAPI void edje_object_color_class_del (Evas_Object *obj, const char *color_class); 02008 02022 EAPI Eina_Bool edje_object_text_class_set (Evas_Object *obj, const char *text_class, const char *font, Evas_Font_Size size); 02023 02059 EAPI void edje_object_size_min_get (const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh); 02060 02072 EAPI void edje_object_update_hints_set(Evas_Object *obj, Eina_Bool update); 02073 02080 EAPI Eina_Bool edje_object_update_hints_get(Evas_Object *obj); 02081 02118 EAPI void edje_object_size_max_get (const Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh); 02119 02128 EAPI void edje_object_calc_force (Evas_Object *obj); 02129 02143 EAPI void edje_object_size_min_calc (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh); 02144 02172 EAPI Eina_Bool edje_object_parts_extends_calc (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); 02173 02201 EAPI void edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh, Evas_Coord restrictedw, Evas_Coord restrictedh); 02202 02219 EAPI Eina_Bool edje_object_part_exists (const Evas_Object *obj, const char *part); 02220 02240 EAPI const Evas_Object *edje_object_part_object_get (const Evas_Object *obj, const char *part); 02241 02265 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); 02266 02267 02278 EAPI void edje_object_item_provider_set (Evas_Object *obj, Edje_Item_Provider_Cb func, void *data); 02279 02280 02290 EAPI void edje_object_text_change_cb_set (Evas_Object *obj, Edje_Text_Change_Cb func, void *data); 02291 02299 EAPI Eina_Bool edje_object_part_text_set (Evas_Object *obj, const char *part, const char *text); 02300 02313 EAPI Eina_Bool edje_object_part_text_escaped_set (Evas_Object *obj, const char *part, const char *text); 02314 02327 EAPI const char *edje_object_part_text_get (const Evas_Object *obj, const char *part); 02328 02340 EAPI void edje_object_part_text_style_user_push(Evas_Object *obj, const char *part, const char *style); 02341 02354 EAPI const char *edje_object_part_text_style_user_peek(const Evas_Object *obj, const char *part); 02355 02364 EAPI void edje_object_part_text_style_user_pop(Evas_Object *obj, const char *part); 02365 02378 EAPI Eina_Bool edje_object_part_text_unescaped_set (Evas_Object *obj, const char *part, const char *text_to_escape); 02379 02395 EAPI char *edje_object_part_text_unescaped_get (const Evas_Object *obj, const char *part); 02396 02409 EAPI const char *edje_object_part_text_selection_get (const Evas_Object *obj, const char *part); 02410 02419 EAPI void edje_object_part_text_select_none (const Evas_Object *obj, const char *part); 02420 02429 EAPI void edje_object_part_text_select_all (const Evas_Object *obj, const char *part); 02430 02442 EAPI void edje_object_part_text_insert (Evas_Object *obj, const char *part, const char *text); 02443 02456 EAPI void edje_object_part_text_append(Evas_Object *obj, const char *part, const char *text); 02457 02469 EAPI const Eina_List *edje_object_part_text_anchor_list_get (const Evas_Object *obj, const char *part); 02470 02485 EAPI const Eina_List *edje_object_part_text_anchor_geometry_get (const Evas_Object *obj, const char *part, const char *anchor); 02486 02498 EAPI const Eina_List *edje_object_part_text_item_list_get (const Evas_Object *obj, const char *part); 02499 02517 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); 02518 02531 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); 02532 02541 EAPI void edje_object_part_text_user_insert (const Evas_Object *obj, const char *part, const char *text); 02542 02555 EAPI void edje_object_part_text_select_allow_set (const Evas_Object *obj, const char *part, Eina_Bool allow); 02556 02563 EAPI void edje_object_part_text_select_abort (const Evas_Object *obj, const char *part); 02564 02571 EAPI void edje_object_part_text_select_begin (const Evas_Object *obj, const char *part); 02572 02579 EAPI void edje_object_part_text_select_extend (const Evas_Object *obj, const char *part); 02580 02581 02590 EAPI Eina_Bool edje_object_part_text_cursor_next (Evas_Object *obj, const char *part, Edje_Cursor cur); 02591 02600 EAPI Eina_Bool edje_object_part_text_cursor_prev (Evas_Object *obj, const char *part, Edje_Cursor cur); 02601 02609 EAPI Eina_Bool edje_object_part_text_cursor_up (Evas_Object *obj, const char *part, Edje_Cursor cur); 02610 02618 EAPI Eina_Bool edje_object_part_text_cursor_down (Evas_Object *obj, const char *part, Edje_Cursor cur); 02619 02628 EAPI void edje_object_part_text_cursor_begin_set (Evas_Object *obj, const char *part, Edje_Cursor cur); 02629 02638 EAPI void edje_object_part_text_cursor_end_set (Evas_Object *obj, const char *part, Edje_Cursor cur); 02639 02648 EAPI void edje_object_part_text_cursor_copy (Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst); 02649 02658 EAPI void edje_object_part_text_cursor_line_begin_set (Evas_Object *obj, const char *part, Edje_Cursor cur); 02659 02668 EAPI void edje_object_part_text_cursor_line_end_set (Evas_Object *obj, const char *part, Edje_Cursor cur); 02669 02682 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); 02683 02693 EAPI Eina_Bool edje_object_part_text_cursor_is_format_get (const Evas_Object *obj, const char *part, Edje_Cursor cur); 02694 02704 EAPI Eina_Bool edje_object_part_text_cursor_is_visible_format_get(const Evas_Object *obj, const char *part, Edje_Cursor cur); 02705 02717 EAPI char *edje_object_part_text_cursor_content_get (const Evas_Object *obj, const char *part, Edje_Cursor cur); 02718 02728 EAPI void edje_object_part_text_cursor_pos_set (Evas_Object *obj, const char *part, Edje_Cursor cur, int pos); 02729 02739 EAPI int edje_object_part_text_cursor_pos_get (const Evas_Object *obj, const char *part, Edje_Cursor cur); 02740 02750 EAPI void edje_object_part_text_imf_context_reset (const Evas_Object *obj, const char *part); 02751 02764 EAPI void *edje_object_part_text_imf_context_get (const Evas_Object *obj, const char *part); 02765 02779 EAPI void edje_object_part_text_input_panel_layout_set (Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout); 02780 02792 EAPI Edje_Input_Panel_Layout edje_object_part_text_input_panel_layout_get (const Evas_Object *obj, const char *part); 02793 02802 EAPI void edje_object_part_text_autocapital_type_set (Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type); 02803 02812 EAPI Edje_Text_Autocapital_Type edje_object_part_text_autocapital_type_get (const Evas_Object *obj, const char *part); 02813 02822 EAPI void edje_object_part_text_prediction_allow_set (Evas_Object *obj, const char *part, Eina_Bool prediction); 02823 02832 EAPI Eina_Bool edje_object_part_text_prediction_allow_get (const Evas_Object *obj, const char *part); 02833 02842 EAPI void edje_object_part_text_input_panel_enabled_set (Evas_Object *obj, const char *part, Eina_Bool enabled); 02843 02853 EAPI Eina_Bool edje_object_part_text_input_panel_enabled_get (const Evas_Object *obj, const char *part); 02854 02865 EAPI void edje_object_part_text_input_panel_show(const Evas_Object *obj, const char *part); 02866 02878 EAPI void edje_object_part_text_input_panel_hide(const Evas_Object *obj, const char *part); 02879 02890 EAPI void edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Lang lang); 02891 02902 EAPI Edje_Input_Panel_Lang edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const char *part); 02903 02917 EAPI void edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char *part, const void *data, int len); 02918 02928 EAPI void edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const char *part, void *data, int *len); 02929 02940 EAPI void edje_object_part_text_input_panel_return_key_type_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Return_Key_Type return_key_type); 02941 02952 EAPI Edje_Input_Panel_Return_Key_Type edje_object_part_text_input_panel_return_key_type_get(const Evas_Object *obj, const char *part); 02953 02962 EAPI void edje_object_part_text_input_panel_return_key_disabled_set(Evas_Object *obj, const char *part, Eina_Bool disabled); 02963 02972 EAPI Eina_Bool edje_object_part_text_input_panel_return_key_disabled_get(const Evas_Object *obj, const char *part); 02973 03010 EAPI void edje_object_text_insert_filter_callback_add (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data); 03011 03027 EAPI void *edje_object_text_insert_filter_callback_del (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func); 03028 03046 EAPI void *edje_object_text_insert_filter_callback_del_full (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data); 03047 03079 EAPI void edje_object_text_markup_filter_callback_add(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data); 03080 03097 EAPI void *edje_object_text_markup_filter_callback_del(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func); 03098 03117 EAPI void *edje_object_text_markup_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data); 03118 03133 EAPI Eina_Bool edje_object_part_swallow (Evas_Object *obj, const char *part, Evas_Object *obj_swallow); 03134 03147 EAPI void edje_object_part_unswallow (Evas_Object *obj, Evas_Object *obj_swallow); 03148 03156 EAPI Evas_Object *edje_object_part_swallow_get (const Evas_Object *obj, const char *part); 03157 03169 EAPI const char *edje_object_part_state_get (const Evas_Object *obj, const char *part, double *val_ret); 03170 03186 EAPI Edje_Drag_Dir edje_object_part_drag_dir_get (const Evas_Object *obj, const char *part); 03187 03210 EAPI Eina_Bool edje_object_part_drag_value_set (Evas_Object *obj, const char *part, double dx, double dy); 03211 03227 EAPI Eina_Bool edje_object_part_drag_value_get (const Evas_Object *obj, const char *part, double *dx, double *dy); 03228 03244 EAPI Eina_Bool edje_object_part_drag_size_set (Evas_Object *obj, const char *part, double dw, double dh); 03245 03258 EAPI Eina_Bool edje_object_part_drag_size_get (const Evas_Object *obj, const char *part, double *dw, double *dh); 03259 03276 EAPI Eina_Bool edje_object_part_drag_step_set (Evas_Object *obj, const char *part, double dx, double dy); 03277 03291 EAPI Eina_Bool edje_object_part_drag_step_get (const Evas_Object *obj, const char *part, double *dx, double *dy); 03292 03309 EAPI Eina_Bool edje_object_part_drag_page_set (Evas_Object *obj, const char *part, double dx, double dy); 03310 03323 EAPI Eina_Bool edje_object_part_drag_page_get (const Evas_Object *obj, const char *part, double *dx, double *dy); 03324 03340 EAPI Eina_Bool edje_object_part_drag_step (Evas_Object *obj, const char *part, double dx, double dy); 03341 03359 EAPI Eina_Bool edje_object_part_drag_page (Evas_Object *obj, const char *part, double dx, double dy); 03360 03361 03381 EAPI Evas_Object *edje_object_part_external_object_get (const Evas_Object *obj, const char *part); 03382 03413 EAPI Eina_Bool edje_object_part_external_param_set (Evas_Object *obj, const char *part, const Edje_External_Param *param); 03414 03443 EAPI Eina_Bool edje_object_part_external_param_get (const Evas_Object *obj, const char *part, Edje_External_Param *param); 03444 03455 EAPI Evas_Object *edje_object_part_external_content_get (const Evas_Object *obj, const char *part, const char *content); 03456 03467 EAPI Edje_External_Param_Type edje_object_part_external_param_type_get (const Evas_Object *obj, const char *part, const char *param); 03468 03469 03486 EAPI Eina_Bool edje_object_part_box_append (Evas_Object *obj, const char *part, Evas_Object *child); 03487 03504 EAPI Eina_Bool edje_object_part_box_prepend (Evas_Object *obj, const char *part, Evas_Object *child); 03505 03524 EAPI Eina_Bool edje_object_part_box_insert_before (Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference); 03525 03544 EAPI Eina_Bool edje_object_part_box_insert_at (Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos); 03545 03560 EAPI Evas_Object *edje_object_part_box_remove (Evas_Object *obj, const char *part, Evas_Object *child); 03561 03577 EAPI Evas_Object *edje_object_part_box_remove_at (Evas_Object *obj, const char *part, unsigned int pos); 03578 03595 EAPI Eina_Bool edje_object_part_box_remove_all (Evas_Object *obj, const char *part, Eina_Bool clear); 03596 03606 EAPI Evas_Object *edje_object_part_table_child_get (Evas_Object *obj, const char *part, unsigned int col, unsigned int row); 03607 03623 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); 03624 03636 EAPI Eina_Bool edje_object_part_table_unpack (Evas_Object *obj, const char *part, Evas_Object *child_obj); 03637 03650 EAPI Eina_Bool edje_object_part_table_col_row_size_get (const Evas_Object *obj, const char *part, int *cols, int *rows); 03651 03664 EAPI Eina_Bool edje_object_part_table_clear (Evas_Object *obj, const char *part, Eina_Bool clear); 03665 03688 EAPI void edje_object_message_send (Evas_Object *obj, Edje_Message_Type type, int id, void *msg); 03689 03714 EAPI void edje_object_message_handler_set (Evas_Object *obj, Edje_Message_Handler_Cb func, void *data); 03715 03726 EAPI void edje_object_message_signal_process (Evas_Object *obj); 03727 03728 03736 EAPI void edje_message_signal_process (void); 03737 03755 EAPI Eina_Bool edje_external_type_register (const char *type_name, const Edje_External_Type *type_info); 03756 03768 EAPI Eina_Bool edje_external_type_unregister (const char *type_name); 03769 03793 EAPI void edje_external_type_array_register (const Edje_External_Type_Info *array); 03794 03803 EAPI void edje_external_type_array_unregister (const Edje_External_Type_Info *array); 03804 03824 EAPI unsigned int edje_external_type_abi_version_get (void) EINA_CONST; 03825 03868 EAPI Eina_Iterator *edje_external_iterator_get (void); 03869 03878 EAPI Edje_External_Param *edje_external_param_find (const Eina_List *params, const char *key); 03895 EAPI Eina_Bool edje_external_param_int_get (const Eina_List *params, const char *key, int *ret); 03912 EAPI Eina_Bool edje_external_param_double_get (const Eina_List *params, const char *key, double *ret); 03931 EAPI Eina_Bool edje_external_param_string_get (const Eina_List *params, const char *key, const char **ret); 03948 EAPI Eina_Bool edje_external_param_bool_get (const Eina_List *params, const char *key, Eina_Bool *ret); 03967 EAPI Eina_Bool edje_external_param_choice_get (const Eina_List *params, const char *key, const char **ret); 03968 03981 EAPI const Edje_External_Param_Info *edje_external_param_info_get (const char *type_name); 03982 03987 EAPI const Edje_External_Type *edje_external_type_get (const char *type_name); 03988 03989 EAPI Eina_Bool edje_module_load (const char *module); 03990 EAPI const Eina_List *edje_available_modules_get (void); 03991 03992 /* perspective info for maps inside edje objects */ 03993 typedef struct _Edje_Perspective Edje_Perspective; 03994 04007 EAPI Edje_Perspective *edje_perspective_new (Evas *e); 04019 EAPI void edje_perspective_free (Edje_Perspective *ps); 04042 EAPI void edje_perspective_set (Edje_Perspective *ps, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc); 04066 EAPI void edje_perspective_global_set (Edje_Perspective *ps, Eina_Bool global); 04076 EAPI Eina_Bool edje_perspective_global_get (const Edje_Perspective *ps); 04090 EAPI const Edje_Perspective *edje_evas_global_perspective_get(const Evas *e); 04111 EAPI void edje_object_perspective_set (Evas_Object *obj, Edje_Perspective *ps); 04121 EAPI const Edje_Perspective *edje_object_perspective_get (const Evas_Object *obj); 04122 04123 #ifdef __cplusplus 04124 } 04125 #endif 04126 04127 #endif