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 7 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_SPACER = 12, 00386 EDJE_PART_TYPE_LAST = 13 00387 } Edje_Part_Type; 00388 00389 typedef enum _Edje_Text_Effect 00390 { 00391 #define EDJE_TEXT_EFFECT_MASK_BASIC 0xf 00392 #define EDJE_TEXT_EFFECT_BASIC_SET(x, s) \ 00393 do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_BASIC) | (s); } while (0) 00394 EDJE_TEXT_EFFECT_NONE = 0, 00395 EDJE_TEXT_EFFECT_PLAIN = 1, 00396 EDJE_TEXT_EFFECT_OUTLINE = 2, 00397 EDJE_TEXT_EFFECT_SOFT_OUTLINE = 3, 00398 EDJE_TEXT_EFFECT_SHADOW = 4, 00399 EDJE_TEXT_EFFECT_SOFT_SHADOW = 5, 00400 EDJE_TEXT_EFFECT_OUTLINE_SHADOW = 6, 00401 EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW = 7, 00402 EDJE_TEXT_EFFECT_FAR_SHADOW = 8, 00403 EDJE_TEXT_EFFECT_FAR_SOFT_SHADOW = 9, 00404 EDJE_TEXT_EFFECT_GLOW = 10, 00405 00406 EDJE_TEXT_EFFECT_LAST = 11, 00407 00408 #define EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION (0x7 << 4) 00409 #define EDJE_TEXT_EFFECT_SHADOW_DIRECTION_SET(x, s) \ 00410 do { x = ((x) & ~EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION) | (s); } while (0) 00411 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_RIGHT = (0x0 << 4), 00412 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM = (0x1 << 4), 00413 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_BOTTOM_LEFT = (0x2 << 4), 00414 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_LEFT = (0x3 << 4), 00415 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_LEFT = (0x4 << 4), 00416 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP = (0x5 << 4), 00417 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_TOP_RIGHT = (0x6 << 4), 00418 EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT = (0x7 << 4) 00419 } Edje_Text_Effect; 00420 00421 typedef enum _Edje_Action_Type 00422 { 00423 EDJE_ACTION_TYPE_NONE = 0, 00424 EDJE_ACTION_TYPE_STATE_SET = 1, 00425 EDJE_ACTION_TYPE_ACTION_STOP = 2, 00426 EDJE_ACTION_TYPE_SIGNAL_EMIT = 3, 00427 EDJE_ACTION_TYPE_DRAG_VAL_SET = 4, 00428 EDJE_ACTION_TYPE_DRAG_VAL_STEP = 5, 00429 EDJE_ACTION_TYPE_DRAG_VAL_PAGE = 6, 00430 EDJE_ACTION_TYPE_SCRIPT = 7, 00431 EDJE_ACTION_TYPE_FOCUS_SET = 8, 00432 EDJE_ACTION_TYPE_RESERVED00 = 9, 00433 EDJE_ACTION_TYPE_FOCUS_OBJECT = 10, 00434 EDJE_ACTION_TYPE_PARAM_COPY = 11, 00435 EDJE_ACTION_TYPE_PARAM_SET = 12, 00436 EDJE_ACTION_TYPE_SOUND_SAMPLE = 13, 00437 EDJE_ACTION_TYPE_SOUND_TONE = 14, 00438 EDJE_ACTION_TYPE_LAST = 15 00439 } Edje_Action_Type; 00440 00441 typedef enum _Edje_Tween_Mode 00442 { 00443 EDJE_TWEEN_MODE_NONE = 0, 00444 EDJE_TWEEN_MODE_LINEAR = 1, 00445 EDJE_TWEEN_MODE_SINUSOIDAL = 2, 00446 EDJE_TWEEN_MODE_ACCELERATE = 3, 00447 EDJE_TWEEN_MODE_DECELERATE = 4, 00448 EDJE_TWEEN_MODE_ACCELERATE_FACTOR = 5, 00449 EDJE_TWEEN_MODE_DECELERATE_FACTOR = 6, 00450 EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR = 7, 00451 EDJE_TWEEN_MODE_DIVISOR_INTERP = 8, 00452 EDJE_TWEEN_MODE_BOUNCE = 9, 00453 EDJE_TWEEN_MODE_SPRING = 10, 00454 EDJE_TWEEN_MODE_LAST = 11, 00455 EDJE_TWEEN_MODE_MASK = 0xff, 00456 EDJE_TWEEN_MODE_OPT_FROM_CURRENT = (1 << 31) 00457 } Edje_Tween_Mode; 00458 00459 typedef enum _Edje_Cursor 00460 { 00461 EDJE_CURSOR_MAIN, 00462 EDJE_CURSOR_SELECTION_BEGIN, 00463 EDJE_CURSOR_SELECTION_END, 00464 EDJE_CURSOR_PREEDIT_START, 00465 EDJE_CURSOR_PREEDIT_END, 00466 EDJE_CURSOR_USER, 00467 EDJE_CURSOR_USER_EXTRA, 00468 // more later 00469 } Edje_Cursor; 00470 00471 struct _Edje_Entry_Change_Info 00472 { 00473 union { 00474 struct { 00475 const char *content; 00476 size_t pos; 00477 size_t plain_length; /* Number of cursor positions represented 00478 in content. */ 00479 } insert; 00480 struct { 00481 const char *content; 00482 size_t start, end; 00483 } del; 00484 } change; 00485 Eina_Bool insert : 1; 00486 Eina_Bool merge : 1; 00487 }; 00488 00492 typedef struct _Edje_Entry_Change_Info Edje_Entry_Change_Info; 00493 00494 typedef struct _Edje_Message_String Edje_Message_String; 00495 typedef struct _Edje_Message_Int Edje_Message_Int; 00496 typedef struct _Edje_Message_Float Edje_Message_Float; 00497 typedef struct _Edje_Message_String_Set Edje_Message_String_Set; 00498 typedef struct _Edje_Message_Int_Set Edje_Message_Int_Set; 00499 typedef struct _Edje_Message_Float_Set Edje_Message_Float_Set; 00500 typedef struct _Edje_Message_String_Int Edje_Message_String_Int; 00501 typedef struct _Edje_Message_String_Float Edje_Message_String_Float; 00502 typedef struct _Edje_Message_String_Int_Set Edje_Message_String_Int_Set; 00503 typedef struct _Edje_Message_String_Float_Set Edje_Message_String_Float_Set; 00504 00505 struct _Edje_Message_String 00506 { 00507 char *str; 00508 }; 00510 struct _Edje_Message_Int 00511 { 00512 int val; 00513 }; 00515 struct _Edje_Message_Float 00516 { 00517 double val; 00518 }; 00520 struct _Edje_Message_String_Set 00521 { 00522 int count; 00523 char *str[1]; 00524 }; 00526 struct _Edje_Message_Int_Set 00527 { 00528 int count; 00529 int val[1]; 00530 }; 00532 struct _Edje_Message_Float_Set 00533 { 00534 int count; 00535 double val[1]; 00536 }; 00538 struct _Edje_Message_String_Int 00539 { 00540 char *str; 00541 int val; 00542 }; 00544 struct _Edje_Message_String_Float 00545 { 00546 char *str; 00547 double val; 00548 }; 00550 struct _Edje_Message_String_Int_Set 00551 { 00552 char *str; 00553 int count; 00554 int val[1]; 00555 }; 00557 struct _Edje_Message_String_Float_Set 00558 { 00559 char *str; 00560 int count; 00561 double val[1]; 00562 }; 00564 typedef enum _Edje_Drag_Dir 00565 { 00566 EDJE_DRAG_DIR_NONE = 0, 00567 EDJE_DRAG_DIR_X = 1, 00568 EDJE_DRAG_DIR_Y = 2, 00569 EDJE_DRAG_DIR_XY = 3 00570 } Edje_Drag_Dir; 00571 00572 typedef enum _Edje_Load_Error 00573 { 00574 EDJE_LOAD_ERROR_NONE = 0, 00575 EDJE_LOAD_ERROR_GENERIC = 1, 00576 EDJE_LOAD_ERROR_DOES_NOT_EXIST = 2, 00577 EDJE_LOAD_ERROR_PERMISSION_DENIED = 3, 00578 EDJE_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, 00579 EDJE_LOAD_ERROR_CORRUPT_FILE = 5, 00580 EDJE_LOAD_ERROR_UNKNOWN_FORMAT = 6, 00581 EDJE_LOAD_ERROR_INCOMPATIBLE_FILE = 7, 00582 EDJE_LOAD_ERROR_UNKNOWN_COLLECTION = 8, 00583 EDJE_LOAD_ERROR_RECURSIVE_REFERENCE = 9 00584 } Edje_Load_Error; 00586 typedef enum _Edje_Text_Filter_Type 00587 { 00588 EDJE_TEXT_FILTER_TEXT = 0, 00589 EDJE_TEXT_FILTER_FORMAT = 1, 00590 EDJE_TEXT_FILTER_MARKUP = 2 00591 } Edje_Text_Filter_Type; 00592 00593 typedef enum _Edje_Text_Autocapital_Type 00594 { 00595 EDJE_TEXT_AUTOCAPITAL_TYPE_NONE, 00596 EDJE_TEXT_AUTOCAPITAL_TYPE_WORD, 00597 EDJE_TEXT_AUTOCAPITAL_TYPE_SENTENCE, 00598 EDJE_TEXT_AUTOCAPITAL_TYPE_ALLCHARACTER 00599 } Edje_Text_Autocapital_Type; 00600 00604 typedef enum _Edje_External_Param_Type 00605 { 00606 EDJE_EXTERNAL_PARAM_TYPE_INT, 00607 EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, 00608 EDJE_EXTERNAL_PARAM_TYPE_STRING, 00609 EDJE_EXTERNAL_PARAM_TYPE_BOOL, 00610 EDJE_EXTERNAL_PARAM_TYPE_CHOICE, 00612 EDJE_EXTERNAL_PARAM_TYPE_MAX 00613 } Edje_External_Param_Type; 00614 00619 typedef enum _Edje_External_Param_Flags 00620 { 00621 EDJE_EXTERNAL_PARAM_FLAGS_NONE = 0, 00622 EDJE_EXTERNAL_PARAM_FLAGS_GET = (1 << 0), 00623 EDJE_EXTERNAL_PARAM_FLAGS_SET = (1 << 1), 00624 EDJE_EXTERNAL_PARAM_FLAGS_STATE = (1 << 2), 00625 EDJE_EXTERNAL_PARAM_FLAGS_CONSTRUCTOR = (1 << 3), 00626 EDJE_EXTERNAL_PARAM_FLAGS_REGULAR = (EDJE_EXTERNAL_PARAM_FLAGS_GET | 00627 EDJE_EXTERNAL_PARAM_FLAGS_SET | 00628 EDJE_EXTERNAL_PARAM_FLAGS_STATE) 00629 } Edje_External_Param_Flags; 00630 00631 typedef enum _Edje_Input_Panel_Layout 00632 { 00633 EDJE_INPUT_PANEL_LAYOUT_NORMAL, 00634 EDJE_INPUT_PANEL_LAYOUT_NUMBER, 00635 EDJE_INPUT_PANEL_LAYOUT_EMAIL, 00636 EDJE_INPUT_PANEL_LAYOUT_URL, 00637 EDJE_INPUT_PANEL_LAYOUT_PHONENUMBER, 00638 EDJE_INPUT_PANEL_LAYOUT_IP, 00639 EDJE_INPUT_PANEL_LAYOUT_MONTH, 00640 EDJE_INPUT_PANEL_LAYOUT_NUMBERONLY, 00641 EDJE_INPUT_PANEL_LAYOUT_INVALID, 00642 EDJE_INPUT_PANEL_LAYOUT_HEX, 00643 EDJE_INPUT_PANEL_LAYOUT_TERMINAL, 00644 EDJE_INPUT_PANEL_LAYOUT_PASSWORD 00645 } Edje_Input_Panel_Layout; 00646 00647 typedef enum _Edje_Input_Panel_Lang 00648 { 00649 EDJE_INPUT_PANEL_LANG_AUTOMATIC, 00650 EDJE_INPUT_PANEL_LANG_ALPHABET 00651 } Edje_Input_Panel_Lang; 00652 00653 typedef enum _Edje_Input_Panel_Return_Key_Type 00654 { 00655 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT, 00656 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DONE, 00657 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_GO, 00658 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_JOIN, 00659 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN, 00660 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_NEXT, 00661 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH, 00662 EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEND 00663 } Edje_Input_Panel_Return_Key_Type; 00664 00673 EAPI const char *edje_external_param_type_str(Edje_External_Param_Type type) EINA_PURE; 00674 00678 struct _Edje_External_Param 00679 { 00680 const char *name; 00681 Edje_External_Param_Type type; 00684 // XXX these could be in a union, but eet doesn't support them (or does it?) 00685 int i; 00686 double d; 00687 const char *s; 00688 }; 00692 typedef struct _Edje_External_Param Edje_External_Param; 00693 00697 #define EDJE_EXTERNAL_INT_UNSET INT_MAX 00698 00701 #define EDJE_EXTERNAL_DOUBLE_UNSET DBL_MAX 00702 00714 typedef struct _Edje_External_Param_Info Edje_External_Param_Info; 00726 struct _Edje_External_Param_Info 00727 { 00728 const char *name; 00729 Edje_External_Param_Type type; 00730 Edje_External_Param_Flags flags; 00732 union { 00733 struct { 00734 int def, 00735 min, 00736 max, 00737 step; 00738 } i; 00740 struct { 00741 double def, 00742 min, 00743 max, 00744 step; 00745 } d; 00747 struct { 00748 const char *def; 00749 const char *accept_fmt; 00750 const char *deny_fmt; 00751 } s; 00752 struct { 00753 int def; 00754 const char *false_str; 00755 const char *true_str; 00756 } b; 00757 struct { 00758 const char *def; 00759 const char **choices; /* Array of strings, each represents a 00760 valid value for this parameter. The 00761 last element of the array must be 00762 NULL. */ 00763 char *(*def_get)(void *data, const Edje_External_Param_Info *info); 00764 char **(*query)(void *data, const Edje_External_Param_Info *info); 00765 } c; 00766 } info; 00767 }; 00768 00769 #define EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, flags) \ 00770 {name, EDJE_EXTERNAL_PARAM_TYPE_INT, flags, {.i = {def, min, max, step}}} 00771 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, flags) \ 00772 {name, EDJE_EXTERNAL_PARAM_TYPE_DOUBLE, flags, {.d = {def, min, max, step}}} 00773 #define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, flags) \ 00774 {name, EDJE_EXTERNAL_PARAM_TYPE_STRING, flags, {.s = {def, accept, deny}}} 00775 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, flags) \ 00776 {name, EDJE_EXTERNAL_PARAM_TYPE_BOOL, flags, {.b = {def, false_str, true_str}}} 00777 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, flags) \ 00778 {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {def, choices, NULL, NULL}}} 00779 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, flags) \ 00780 {name, EDJE_EXTERNAL_PARAM_TYPE_CHOICE, flags, {.c = {NULL, NULL, def_get, query}}} 00781 00782 #define EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, min, max, step) \ 00783 EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00784 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, min, max, step) \ 00785 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, min, max, step, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00786 #define EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, accept, deny) \ 00787 EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, accept, deny, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00788 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, false_str, true_str) \ 00789 EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, false_str, true_str, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00790 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL(name, def, choices) \ 00791 EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL_FLAGS(name, def, choices, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00792 #define EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL(name, def_get, query) \ 00793 EDJE_EXTERNAL_PARAM_INFO_CHOICE_DYNAMIC_FULL_FLAGS(name, def_get, query, EDJE_EXTERNAL_PARAM_FLAGS_REGULAR) 00794 00795 #define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, def) \ 00796 EDJE_EXTERNAL_PARAM_INFO_INT_FULL(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET) 00797 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, def) \ 00798 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET) 00799 #define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, def) \ 00800 EDJE_EXTERNAL_PARAM_INFO_STRING_FULL(name, def, NULL, NULL) 00801 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, def) \ 00802 EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL(name, def, "false", "true") 00803 00804 #define EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, def, flags) \ 00805 EDJE_EXTERNAL_PARAM_INFO_INT_FULL_FLAGS(name, def, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, EDJE_EXTERNAL_INT_UNSET, flags) 00806 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, def, flags) \ 00807 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FULL_FLAGS(name, def, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, EDJE_EXTERNAL_DOUBLE_UNSET, flags) 00808 #define EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, def, flags) \ 00809 EDJE_EXTERNAL_PARAM_INFO_STRING_FULL_FLAGS(name, def, NULL, NULL, flags) 00810 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, def, flags) \ 00811 EDJE_EXTERNAL_PARAM_INFO_BOOL_FULL_FLAGS(name, def, "false", "true", flags) 00812 00813 #define EDJE_EXTERNAL_PARAM_INFO_INT(name) \ 00814 EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT(name, 0) 00815 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE(name) \ 00816 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT(name, 0.0) 00817 #define EDJE_EXTERNAL_PARAM_INFO_STRING(name) \ 00818 EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT(name, NULL) 00819 #define EDJE_EXTERNAL_PARAM_INFO_BOOL(name) \ 00820 EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT(name, 0) 00821 00822 #define EDJE_EXTERNAL_PARAM_INFO_INT_FLAGS(name, flags) \ 00823 EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT_FLAGS(name, 0, flags) 00824 #define EDJE_EXTERNAL_PARAM_INFO_DOUBLE_FLAGS(name, flags) \ 00825 EDJE_EXTERNAL_PARAM_INFO_DOUBLE_DEFAULT_FLAGS(name, 0.0, flags) 00826 #define EDJE_EXTERNAL_PARAM_INFO_STRING_FLAGS(name, flags) \ 00827 EDJE_EXTERNAL_PARAM_INFO_STRING_DEFAULT_FLAGS(name, NULL, flags) 00828 #define EDJE_EXTERNAL_PARAM_INFO_BOOL_FLAGS(name, flags) \ 00829 EDJE_EXTERNAL_PARAM_INFO_BOOL_DEFAULT_FLAGS(name, 0, flags) 00830 00831 #define EDJE_EXTERNAL_PARAM_INFO_SENTINEL {NULL, 0, 0, {.s = {NULL, NULL, NULL}}} 00832 00851 struct _Edje_External_Type 00852 { 00853 #define EDJE_EXTERNAL_TYPE_ABI_VERSION (3) 00854 unsigned int abi_version; 00858 const char *module; 00861 const char *module_name; 00863 Evas_Object *(*add) (void *data, Evas *evas, Evas_Object *parent, const Eina_List *params, const char *part_name); 00865 void (*state_set) (void *data, Evas_Object *obj, const void *from_params, const void *to_params, float pos); 00866 void (*signal_emit) (void *data, Evas_Object *obj, const char *emission, const char *source); 00867 Eina_Bool (*param_set) (void *data, Evas_Object *obj, const Edje_External_Param *param); 00868 Eina_Bool (*param_get) (void *data, const Evas_Object *obj, Edje_External_Param *param); 00869 Evas_Object *(*content_get) (void *data, const Evas_Object *obj, const char *content); 00870 void *(*params_parse) (void *data, Evas_Object *obj, const Eina_List *params); 00871 void (*params_free) (void *params); 00873 /* The following callbacks aren't used by Edje itself, but by UI design 00874 tools instead */ 00875 const char *(*label_get) (void *data); 00876 const char *(*description_get) (void *data); 00877 Evas_Object *(*icon_add) (void *data, Evas *e); 00878 Evas_Object *(*preview_add) (void *data, Evas *e); 00879 const char *(*translate) (void *data, const char *orig); 00881 Edje_External_Param_Info *parameters_info; 00882 void *data; 00883 }; 00884 typedef struct _Edje_External_Type Edje_External_Type; 00885 00891 struct _Edje_External_Type_Info 00892 { 00893 const char *name; 00894 const Edje_External_Type *info; 00895 }; 00896 typedef struct _Edje_External_Type_Info Edje_External_Type_Info; 00897 00898 typedef void (*Edje_Signal_Cb) (void *data, Evas_Object *obj, const char *emission, const char *source); 00899 typedef void (*Edje_Text_Change_Cb) (void *data, Evas_Object *obj, const char *part); 00900 typedef void (*Edje_Message_Handler_Cb) (void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg); 00901 typedef void (*Edje_Text_Filter_Cb) (void *data, Evas_Object *obj, const char *part, Edje_Text_Filter_Type type, char **text); 00902 typedef void (*Edje_Markup_Filter_Cb) (void *data, Evas_Object *obj, const char *part, char **text); 00903 typedef Evas_Object *(*Edje_Item_Provider_Cb) (void *data, Evas_Object *obj, const char *part, const char *item); 00904 00924 EAPI int edje_init (void); 00925 00945 EAPI int edje_shutdown (void); 00946 00960 EAPI void edje_frametime_set (double t); 00961 00973 EAPI double edje_frametime_get (void); 00974 00985 EAPI void edje_freeze (void); 00986 00997 EAPI void edje_thaw (void); 00998 01007 EAPI void edje_fontset_append_set (const char *fonts); 01008 01020 EAPI const char *edje_fontset_append_get (void); 01021 01045 EAPI void edje_scale_set (double scale); 01046 01057 EAPI double edje_scale_get (void); 01058 01071 EAPI void edje_password_show_last_set(Eina_Bool password_show_last); 01072 01086 EAPI void edje_password_show_last_timeout_set(double password_show_last_timeout); 01087 01109 EAPI Eina_Bool edje_object_scale_set (Evas_Object *obj, double scale); 01110 01122 EAPI double edje_object_scale_get (const Evas_Object *obj); 01123 01131 EAPI void edje_object_mirrored_set (Evas_Object *obj, Eina_Bool rtl); 01132 01142 EAPI Eina_Bool edje_object_mirrored_get (const Evas_Object *obj); 01143 01153 EAPI Eina_List *edje_file_collection_list (const char *file); 01154 01161 EAPI void edje_file_collection_list_free (Eina_List *lst); 01162 01170 EAPI Eina_Bool edje_file_group_exists (const char *file, const char *glob); 01171 01189 EAPI char *edje_file_data_get (const char *file, const char *key); 01190 01204 EAPI void edje_file_cache_set (int count); 01205 01218 EAPI int edje_file_cache_get (void); 01219 01230 EAPI void edje_file_cache_flush (void); 01231 01246 EAPI void edje_collection_cache_set (int count); 01247 01260 EAPI int edje_collection_cache_get (void); 01261 01272 EAPI void edje_collection_cache_flush (void); 01273 01310 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); 01311 01346 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); 01347 01361 EAPI void edje_color_class_del (const char *color_class); 01362 01373 EAPI Eina_List *edje_color_class_list (void); 01374 01395 EAPI Eina_Bool edje_text_class_set (const char *text_class, const char *font, Evas_Font_Size size); 01396 01406 EAPI void edje_text_class_del (const char *text_class); 01407 01418 EAPI Eina_List *edje_text_class_list (void); 01419 01429 EAPI void edje_extern_object_min_size_set (Evas_Object *obj, Evas_Coord minw, Evas_Coord minh); 01430 01440 EAPI void edje_extern_object_max_size_set (Evas_Object *obj, Evas_Coord maxw, Evas_Coord maxh); 01441 01455 EAPI void edje_extern_object_aspect_set (Evas_Object *obj, Edje_Aspect_Control aspect, Evas_Coord aw, Evas_Coord ah); 01456 01479 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); 01480 01532 EAPI Evas_Object *edje_object_add (Evas *evas); 01533 01570 EAPI const char *edje_object_data_get (const Evas_Object *obj, const char *key); 01571 01602 EAPI Eina_Bool edje_object_file_set (Evas_Object *obj, const char *file, const char *group); 01603 01624 EAPI void edje_object_file_get (const Evas_Object *obj, const char **file, const char **group); 01625 01650 EAPI Edje_Load_Error edje_object_load_error_get (const Evas_Object *obj); 01651 01666 EAPI const char *edje_load_error_str (Edje_Load_Error error); 01667 01685 EAPI Eina_Bool edje_object_preload (Evas_Object *obj, Eina_Bool cancel); 01686 01747 EAPI void edje_object_signal_callback_add (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data); 01748 01768 EAPI void *edje_object_signal_callback_del (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func); 01769 01793 EAPI void *edje_object_signal_callback_del_full(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data); 01794 01823 EAPI void edje_object_signal_emit (Evas_Object *obj, const char *emission, const char *source); 01824 01836 EAPI void * edje_object_signal_callback_extra_data_get(void); 01837 01852 EAPI void edje_object_play_set (Evas_Object *obj, Eina_Bool play); 01853 01868 EAPI Eina_Bool edje_object_play_get (const Evas_Object *obj); 01869 01884 EAPI void edje_object_animation_set (Evas_Object *obj, Eina_Bool on); 01885 01899 EAPI Eina_Bool edje_object_animation_get (const Evas_Object *obj); 01900 01912 EAPI int edje_object_freeze (Evas_Object *obj); 01913 01927 EAPI int edje_object_thaw (Evas_Object *obj); 01928 01962 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); 01963 01996 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); 01997 02013 EAPI void edje_object_color_class_del (Evas_Object *obj, const char *color_class); 02014 02028 EAPI Eina_Bool edje_object_text_class_set (Evas_Object *obj, const char *text_class, const char *font, Evas_Font_Size size); 02029 02065 EAPI void edje_object_size_min_get (const Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh); 02066 02078 EAPI void edje_object_update_hints_set(Evas_Object *obj, Eina_Bool update); 02079 02086 EAPI Eina_Bool edje_object_update_hints_get(Evas_Object *obj); 02087 02124 EAPI void edje_object_size_max_get (const Evas_Object *obj, Evas_Coord *maxw, Evas_Coord *maxh); 02125 02134 EAPI void edje_object_calc_force (Evas_Object *obj); 02135 02149 EAPI void edje_object_size_min_calc (Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh); 02150 02178 EAPI Eina_Bool edje_object_parts_extends_calc (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); 02179 02207 EAPI void edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Coord *minh, Evas_Coord restrictedw, Evas_Coord restrictedh); 02208 02225 EAPI Eina_Bool edje_object_part_exists (const Evas_Object *obj, const char *part); 02226 02246 EAPI const Evas_Object *edje_object_part_object_get (const Evas_Object *obj, const char *part); 02247 02271 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); 02272 02273 02284 EAPI void edje_object_item_provider_set (Evas_Object *obj, Edje_Item_Provider_Cb func, void *data); 02285 02286 02296 EAPI void edje_object_text_change_cb_set (Evas_Object *obj, Edje_Text_Change_Cb func, void *data); 02297 02307 EAPI Eina_Bool edje_object_part_text_set (Evas_Object *obj, const char *part, const char *text); 02308 02324 EAPI Eina_Bool edje_object_part_text_escaped_set (Evas_Object *obj, const char *part, const char *text); 02325 02338 EAPI const char *edje_object_part_text_get (const Evas_Object *obj, const char *part); 02339 02351 EAPI void edje_object_part_text_style_user_push(Evas_Object *obj, const char *part, const char *style); 02352 02365 EAPI const char *edje_object_part_text_style_user_peek(const Evas_Object *obj, const char *part); 02366 02375 EAPI void edje_object_part_text_style_user_pop(Evas_Object *obj, const char *part); 02376 02389 EAPI Eina_Bool edje_object_part_text_unescaped_set (Evas_Object *obj, const char *part, const char *text_to_escape); 02390 02406 EAPI char *edje_object_part_text_unescaped_get (const Evas_Object *obj, const char *part); 02407 02420 EAPI const char *edje_object_part_text_selection_get (const Evas_Object *obj, const char *part); 02421 02430 EAPI void edje_object_part_text_select_none (const Evas_Object *obj, const char *part); 02431 02440 EAPI void edje_object_part_text_select_all (const Evas_Object *obj, const char *part); 02441 02453 EAPI void edje_object_part_text_insert (Evas_Object *obj, const char *part, const char *text); 02454 02467 EAPI void edje_object_part_text_append(Evas_Object *obj, const char *part, const char *text); 02468 02480 EAPI const Eina_List *edje_object_part_text_anchor_list_get (const Evas_Object *obj, const char *part); 02481 02496 EAPI const Eina_List *edje_object_part_text_anchor_geometry_get (const Evas_Object *obj, const char *part, const char *anchor); 02497 02509 EAPI const Eina_List *edje_object_part_text_item_list_get (const Evas_Object *obj, const char *part); 02510 02528 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); 02529 02542 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); 02543 02552 EAPI void edje_object_part_text_user_insert (const Evas_Object *obj, const char *part, const char *text); 02553 02566 EAPI void edje_object_part_text_select_allow_set (const Evas_Object *obj, const char *part, Eina_Bool allow); 02567 02574 EAPI void edje_object_part_text_select_abort (const Evas_Object *obj, const char *part); 02575 02582 EAPI void edje_object_part_text_select_begin (const Evas_Object *obj, const char *part); 02583 02590 EAPI void edje_object_part_text_select_extend (const Evas_Object *obj, const char *part); 02591 02592 02601 EAPI Eina_Bool edje_object_part_text_cursor_next (Evas_Object *obj, const char *part, Edje_Cursor cur); 02602 02611 EAPI Eina_Bool edje_object_part_text_cursor_prev (Evas_Object *obj, const char *part, Edje_Cursor cur); 02612 02620 EAPI Eina_Bool edje_object_part_text_cursor_up (Evas_Object *obj, const char *part, Edje_Cursor cur); 02621 02629 EAPI Eina_Bool edje_object_part_text_cursor_down (Evas_Object *obj, const char *part, Edje_Cursor cur); 02630 02639 EAPI void edje_object_part_text_cursor_begin_set (Evas_Object *obj, const char *part, Edje_Cursor cur); 02640 02649 EAPI void edje_object_part_text_cursor_end_set (Evas_Object *obj, const char *part, Edje_Cursor cur); 02650 02659 EAPI void edje_object_part_text_cursor_copy (Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst); 02660 02669 EAPI void edje_object_part_text_cursor_line_begin_set (Evas_Object *obj, const char *part, Edje_Cursor cur); 02670 02679 EAPI void edje_object_part_text_cursor_line_end_set (Evas_Object *obj, const char *part, Edje_Cursor cur); 02680 02693 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); 02694 02704 EAPI Eina_Bool edje_object_part_text_cursor_is_format_get (const Evas_Object *obj, const char *part, Edje_Cursor cur); 02705 02715 EAPI Eina_Bool edje_object_part_text_cursor_is_visible_format_get(const Evas_Object *obj, const char *part, Edje_Cursor cur); 02716 02728 EAPI char *edje_object_part_text_cursor_content_get (const Evas_Object *obj, const char *part, Edje_Cursor cur); 02729 02739 EAPI void edje_object_part_text_cursor_pos_set (Evas_Object *obj, const char *part, Edje_Cursor cur, int pos); 02740 02750 EAPI int edje_object_part_text_cursor_pos_get (const Evas_Object *obj, const char *part, Edje_Cursor cur); 02751 02761 EAPI void edje_object_part_text_imf_context_reset (const Evas_Object *obj, const char *part); 02762 02775 EAPI void *edje_object_part_text_imf_context_get (const Evas_Object *obj, const char *part); 02776 02790 EAPI void edje_object_part_text_input_panel_layout_set (Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout); 02791 02803 EAPI Edje_Input_Panel_Layout edje_object_part_text_input_panel_layout_get (const Evas_Object *obj, const char *part); 02804 02813 EAPI void edje_object_part_text_autocapital_type_set (Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type); 02814 02823 EAPI Edje_Text_Autocapital_Type edje_object_part_text_autocapital_type_get (const Evas_Object *obj, const char *part); 02824 02833 EAPI void edje_object_part_text_prediction_allow_set (Evas_Object *obj, const char *part, Eina_Bool prediction); 02834 02843 EAPI Eina_Bool edje_object_part_text_prediction_allow_get (const Evas_Object *obj, const char *part); 02844 02853 EAPI void edje_object_part_text_input_panel_enabled_set (Evas_Object *obj, const char *part, Eina_Bool enabled); 02854 02864 EAPI Eina_Bool edje_object_part_text_input_panel_enabled_get (const Evas_Object *obj, const char *part); 02865 02876 EAPI void edje_object_part_text_input_panel_show(const Evas_Object *obj, const char *part); 02877 02889 EAPI void edje_object_part_text_input_panel_hide(const Evas_Object *obj, const char *part); 02890 02901 EAPI void edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Lang lang); 02902 02913 EAPI Edje_Input_Panel_Lang edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const char *part); 02914 02928 EAPI void edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char *part, const void *data, int len); 02929 02939 EAPI void edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const char *part, void *data, int *len); 02940 02951 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); 02952 02963 EAPI Edje_Input_Panel_Return_Key_Type edje_object_part_text_input_panel_return_key_type_get(const Evas_Object *obj, const char *part); 02964 02973 EAPI void edje_object_part_text_input_panel_return_key_disabled_set(Evas_Object *obj, const char *part, Eina_Bool disabled); 02974 02983 EAPI Eina_Bool edje_object_part_text_input_panel_return_key_disabled_get(const Evas_Object *obj, const char *part); 02984 03021 EAPI void edje_object_text_insert_filter_callback_add (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data); 03022 03038 EAPI void *edje_object_text_insert_filter_callback_del (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func); 03039 03057 EAPI void *edje_object_text_insert_filter_callback_del_full (Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data); 03058 03090 EAPI void edje_object_text_markup_filter_callback_add(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data); 03091 03108 EAPI void *edje_object_text_markup_filter_callback_del(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func); 03109 03128 EAPI void *edje_object_text_markup_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data); 03129 03166 EAPI Eina_Bool edje_object_part_swallow (Evas_Object *obj, const char *part, Evas_Object *obj_swallow); 03167 03180 EAPI void edje_object_part_unswallow (Evas_Object *obj, Evas_Object *obj_swallow); 03181 03189 EAPI Evas_Object *edje_object_part_swallow_get (const Evas_Object *obj, const char *part); 03190 03202 EAPI const char *edje_object_part_state_get (const Evas_Object *obj, const char *part, double *val_ret); 03203 03219 EAPI Edje_Drag_Dir edje_object_part_drag_dir_get (const Evas_Object *obj, const char *part); 03220 03243 EAPI Eina_Bool edje_object_part_drag_value_set (Evas_Object *obj, const char *part, double dx, double dy); 03244 03260 EAPI Eina_Bool edje_object_part_drag_value_get (const Evas_Object *obj, const char *part, double *dx, double *dy); 03261 03277 EAPI Eina_Bool edje_object_part_drag_size_set (Evas_Object *obj, const char *part, double dw, double dh); 03278 03291 EAPI Eina_Bool edje_object_part_drag_size_get (const Evas_Object *obj, const char *part, double *dw, double *dh); 03292 03309 EAPI Eina_Bool edje_object_part_drag_step_set (Evas_Object *obj, const char *part, double dx, double dy); 03310 03324 EAPI Eina_Bool edje_object_part_drag_step_get (const Evas_Object *obj, const char *part, double *dx, double *dy); 03325 03342 EAPI Eina_Bool edje_object_part_drag_page_set (Evas_Object *obj, const char *part, double dx, double dy); 03343 03356 EAPI Eina_Bool edje_object_part_drag_page_get (const Evas_Object *obj, const char *part, double *dx, double *dy); 03357 03373 EAPI Eina_Bool edje_object_part_drag_step (Evas_Object *obj, const char *part, double dx, double dy); 03374 03392 EAPI Eina_Bool edje_object_part_drag_page (Evas_Object *obj, const char *part, double dx, double dy); 03393 03394 03414 EAPI Evas_Object *edje_object_part_external_object_get (const Evas_Object *obj, const char *part); 03415 03446 EAPI Eina_Bool edje_object_part_external_param_set (Evas_Object *obj, const char *part, const Edje_External_Param *param); 03447 03476 EAPI Eina_Bool edje_object_part_external_param_get (const Evas_Object *obj, const char *part, Edje_External_Param *param); 03477 03488 EAPI Evas_Object *edje_object_part_external_content_get (const Evas_Object *obj, const char *part, const char *content); 03489 03500 EAPI Edje_External_Param_Type edje_object_part_external_param_type_get (const Evas_Object *obj, const char *part, const char *param); 03501 03502 03519 EAPI Eina_Bool edje_object_part_box_append (Evas_Object *obj, const char *part, Evas_Object *child); 03520 03537 EAPI Eina_Bool edje_object_part_box_prepend (Evas_Object *obj, const char *part, Evas_Object *child); 03538 03557 EAPI Eina_Bool edje_object_part_box_insert_before (Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference); 03558 03577 EAPI Eina_Bool edje_object_part_box_insert_at (Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos); 03578 03593 EAPI Evas_Object *edje_object_part_box_remove (Evas_Object *obj, const char *part, Evas_Object *child); 03594 03610 EAPI Evas_Object *edje_object_part_box_remove_at (Evas_Object *obj, const char *part, unsigned int pos); 03611 03628 EAPI Eina_Bool edje_object_part_box_remove_all (Evas_Object *obj, const char *part, Eina_Bool clear); 03629 03637 EAPI Eina_List * edje_object_access_part_list_get (const Evas_Object *obj); 03638 03648 EAPI Evas_Object *edje_object_part_table_child_get (const Evas_Object *obj, const char *part, unsigned int col, unsigned int row); 03649 03665 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); 03666 03678 EAPI Eina_Bool edje_object_part_table_unpack (Evas_Object *obj, const char *part, Evas_Object *child_obj); 03679 03692 EAPI Eina_Bool edje_object_part_table_col_row_size_get (const Evas_Object *obj, const char *part, int *cols, int *rows); 03693 03706 EAPI Eina_Bool edje_object_part_table_clear (Evas_Object *obj, const char *part, Eina_Bool clear); 03707 03730 EAPI void edje_object_message_send (Evas_Object *obj, Edje_Message_Type type, int id, void *msg); 03731 03756 EAPI void edje_object_message_handler_set (Evas_Object *obj, Edje_Message_Handler_Cb func, void *data); 03757 03768 EAPI void edje_object_message_signal_process (Evas_Object *obj); 03769 03770 03778 EAPI void edje_message_signal_process (void); 03779 03797 EAPI Eina_Bool edje_external_type_register (const char *type_name, const Edje_External_Type *type_info); 03798 03810 EAPI Eina_Bool edje_external_type_unregister (const char *type_name); 03811 03835 EAPI void edje_external_type_array_register (const Edje_External_Type_Info *array); 03836 03845 EAPI void edje_external_type_array_unregister (const Edje_External_Type_Info *array); 03846 03866 EAPI unsigned int edje_external_type_abi_version_get (void) EINA_CONST; 03867 03910 EAPI Eina_Iterator *edje_external_iterator_get (void); 03911 03920 EAPI Edje_External_Param *edje_external_param_find (const Eina_List *params, const char *key); 03937 EAPI Eina_Bool edje_external_param_int_get (const Eina_List *params, const char *key, int *ret); 03954 EAPI Eina_Bool edje_external_param_double_get (const Eina_List *params, const char *key, double *ret); 03973 EAPI Eina_Bool edje_external_param_string_get (const Eina_List *params, const char *key, const char **ret); 03990 EAPI Eina_Bool edje_external_param_bool_get (const Eina_List *params, const char *key, Eina_Bool *ret); 04009 EAPI Eina_Bool edje_external_param_choice_get (const Eina_List *params, const char *key, const char **ret); 04010 04023 EAPI const Edje_External_Param_Info *edje_external_param_info_get (const char *type_name); 04024 04029 EAPI const Edje_External_Type *edje_external_type_get (const char *type_name); 04030 04031 EAPI Eina_Bool edje_module_load (const char *module); 04032 EAPI const Eina_List *edje_available_modules_get (void); 04033 04034 /* perspective info for maps inside edje objects */ 04035 typedef struct _Edje_Perspective Edje_Perspective; 04036 04049 EAPI Edje_Perspective *edje_perspective_new (Evas *e); 04061 EAPI void edje_perspective_free (Edje_Perspective *ps); 04084 EAPI void edje_perspective_set (Edje_Perspective *ps, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc); 04108 EAPI void edje_perspective_global_set (Edje_Perspective *ps, Eina_Bool global); 04118 EAPI Eina_Bool edje_perspective_global_get (const Edje_Perspective *ps); 04132 EAPI const Edje_Perspective *edje_evas_global_perspective_get(const Evas *e); 04153 EAPI void edje_object_perspective_set (Evas_Object *obj, Edje_Perspective *ps); 04163 EAPI const Edje_Perspective *edje_object_perspective_get (const Evas_Object *obj); 04164 04165 #ifdef __cplusplus 04166 } 04167 #endif 04168 04169 #endif