summaryrefslogtreecommitdiff
path: root/src/lib/edje/edje_embryo.c
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2013-05-31 16:53:04 +0900
committerChunEon Park <hermet@hermet.pe.kr>2013-05-31 16:53:04 +0900
commitf87c0503423f0ca35031b7a703ac914ae00f38b1 (patch)
treeb71a41abaa371b3d1e39328bdc07f7786e8eb70b /src/lib/edje/edje_embryo.c
parent87ce63941d9073103e780b202655163db1689208 (diff)
edje - indent fix.
Diffstat (limited to 'src/lib/edje/edje_embryo.c')
-rw-r--r--src/lib/edje/edje_embryo.c2195
1 files changed, 1097 insertions, 1098 deletions
diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c
index 7259adf979..120d4d45d6 100644
--- a/src/lib/edje/edje_embryo.c
+++ b/src/lib/edje/edje_embryo.c
@@ -282,23 +282,23 @@ _edje_embryo_fn_get_str(Embryo_Program *ep, Embryo_Cell *params)
282 s = (char *)_edje_var_str_get(ed, (int)params[1]); 282 s = (char *)_edje_var_str_get(ed, (int)params[1]);
283 if (s) 283 if (s)
284 { 284 {
285 if ((int) strlen(s) < params[3]) 285 if ((int) strlen(s) < params[3])
286 { 286 {
287 SETSTR(s, params[2]); 287 SETSTR(s, params[2]);
288 } 288 }
289 else 289 else
290 { 290 {
291 char *ss; 291 char *ss;
292 292
293 ss = alloca(strlen(s) + 1); 293 ss = alloca(strlen(s) + 1);
294 strcpy(ss, s); 294 strcpy(ss, s);
295 ss[params[3] - 1] = 0; 295 ss[params[3] - 1] = 0;
296 SETSTR(ss, params[2]); 296 SETSTR(ss, params[2]);
297 } 297 }
298 } 298 }
299 else 299 else
300 { 300 {
301 SETSTR("", params[2]); 301 SETSTR("", params[2]);
302 } 302 }
303 return 0; 303 return 0;
304} 304}
@@ -315,7 +315,7 @@ _edje_embryo_fn_get_strlen(Embryo_Program *ep, Embryo_Cell *params)
315 s = (char *)_edje_var_str_get(ed, (int)params[1]); 315 s = (char *)_edje_var_str_get(ed, (int)params[1]);
316 if (s) 316 if (s)
317 { 317 {
318 return strlen(s); 318 return strlen(s);
319 } 319 }
320 return 0; 320 return 0;
321} 321}
@@ -332,7 +332,7 @@ _edje_embryo_fn_set_str(Embryo_Program *ep, Embryo_Cell *params)
332 GETSTR(s, params[2]); 332 GETSTR(s, params[2]);
333 if (s) 333 if (s)
334 { 334 {
335 _edje_var_str_set(ed, (int)params[1], s); 335 _edje_var_str_set(ed, (int)params[1], s);
336 } 336 }
337 return 0; 337 return 0;
338} 338}
@@ -486,7 +486,7 @@ _edje_embryo_fn_replace_str(Embryo_Program *ep, Embryo_Cell *params)
486 486
487 GETSTR(s, params[3]); 487 GETSTR(s, params[3]);
488 if (s) 488 if (s)
489 _edje_var_list_nth_str_set(ed, (int) params[1], (int) params[2], s); 489 _edje_var_list_nth_str_set(ed, (int) params[1], (int) params[2], s);
490 490
491 return 0; 491 return 0;
492} 492}
@@ -505,23 +505,23 @@ _edje_embryo_fn_fetch_str(Embryo_Program *ep, Embryo_Cell *params)
505 (int) params[2]); 505 (int) params[2]);
506 if (s) 506 if (s)
507 { 507 {
508 if ((int) strlen(s) < params[4]) 508 if ((int) strlen(s) < params[4])
509 { 509 {
510 SETSTR(s, params[3]); 510 SETSTR(s, params[3]);
511 } 511 }
512 else 512 else
513 { 513 {
514 char *ss; 514 char *ss;
515 515
516 ss = alloca(strlen(s) + 1); 516 ss = alloca(strlen(s) + 1);
517 strcpy(ss, s); 517 strcpy(ss, s);
518 ss[params[4] - 1] = 0; 518 ss[params[4] - 1] = 0;
519 SETSTR(ss, params[3]); 519 SETSTR(ss, params[3]);
520 } 520 }
521 } 521 }
522 else 522 else
523 { 523 {
524 SETSTR("", params[3]); 524 SETSTR("", params[3]);
525 } 525 }
526 526
527 return 0; 527 return 0;
@@ -581,7 +581,7 @@ _edje_embryo_fn_replace_float(Embryo_Program *ep, Embryo_Cell *params)
581 CHKPARAM(3); 581 CHKPARAM(3);
582 582
583 _edje_var_list_nth_float_set(ed, (int) params[1], (int) params[2], 583 _edje_var_list_nth_float_set(ed, (int) params[1], (int) params[2],
584 EMBRYO_CELL_TO_FLOAT(params[3])); 584 EMBRYO_CELL_TO_FLOAT(params[3]));
585 585
586 return 0; 586 return 0;
587} 587}
@@ -768,8 +768,8 @@ _edje_embryo_fn_stop_programs_on(Embryo_Program *ep, Embryo_Cell *params)
768 rp = ed->table_parts[part_id % ed->table_parts_size]; 768 rp = ed->table_parts[part_id % ed->table_parts_size];
769 if (rp) 769 if (rp)
770 { 770 {
771 /* there is only ever 1 program acting on a part at any time */ 771 /* there is only ever 1 program acting on a part at any time */
772 if (rp->program) _edje_program_end(ed, rp->program); 772 if (rp->program) _edje_program_end(ed, rp->program);
773 } 773 }
774 return 0; 774 return 0;
775} 775}
@@ -945,18 +945,18 @@ _edje_embryo_fn_set_state(Embryo_Program *ep, Embryo_Cell *params)
945 if (part_id < 0) return 0; 945 if (part_id < 0) return 0;
946 if (HASNPARAMS(3)) 946 if (HASNPARAMS(3))
947 { 947 {
948 f = EMBRYO_CELL_TO_FLOAT(params[3]); 948 f = EMBRYO_CELL_TO_FLOAT(params[3]);
949 value = (double)f; 949 value = (double)f;
950 } 950 }
951 else 951 else
952 value = 0.0; 952 value = 0.0;
953 rp = ed->table_parts[part_id % ed->table_parts_size]; 953 rp = ed->table_parts[part_id % ed->table_parts_size];
954 if (rp) 954 if (rp)
955 { 955 {
956 if (rp->program) _edje_program_end(ed, rp->program); 956 if (rp->program) _edje_program_end(ed, rp->program);
957 _edje_part_description_apply(ed, rp, state, value, NULL, 0.0); 957 _edje_part_description_apply(ed, rp, state, value, NULL, 0.0);
958 _edje_part_pos_set(ed, rp, EDJE_TWEEN_MODE_LINEAR, ZERO, ZERO, ZERO); 958 _edje_part_pos_set(ed, rp, EDJE_TWEEN_MODE_LINEAR, ZERO, ZERO, ZERO);
959 _edje_recalc(ed); 959 _edje_recalc(ed);
960 } 960 }
961 return 0; 961 return 0;
962} 962}
@@ -977,33 +977,33 @@ _edje_embryo_fn_get_state(Embryo_Program *ep, Embryo_Cell *params)
977 rp = ed->table_parts[part_id % ed->table_parts_size]; 977 rp = ed->table_parts[part_id % ed->table_parts_size];
978 if (rp->chosen_description) 978 if (rp->chosen_description)
979 { 979 {
980 SETFLOAT(rp->chosen_description->state.value, params[4]); 980 SETFLOAT(rp->chosen_description->state.value, params[4]);
981 s = rp->chosen_description->state.name; 981 s = rp->chosen_description->state.name;
982 if (s) 982 if (s)
983 { 983 {
984 if ((int) strlen(s) < params[3]) 984 if ((int) strlen(s) < params[3])
985 { 985 {
986 SETSTR(s, params[2]); 986 SETSTR(s, params[2]);
987 } 987 }
988 else 988 else
989 { 989 {
990 char *ss; 990 char *ss;
991 991
992 ss = alloca(strlen(s) + 1); 992 ss = alloca(strlen(s) + 1);
993 strcpy(ss, s); 993 strcpy(ss, s);
994 ss[params[3] - 1] = 0; 994 ss[params[3] - 1] = 0;
995 SETSTR(ss, params[2]); 995 SETSTR(ss, params[2]);
996 } 996 }
997 } 997 }
998 else 998 else
999 { 999 {
1000 SETSTR("", params[2]); 1000 SETSTR("", params[2]);
1001 } 1001 }
1002 } 1002 }
1003 else 1003 else
1004 { 1004 {
1005 SETFLOAT(0.0, params[4]); 1005 SETFLOAT(0.0, params[4]);
1006 SETSTR("", params[2]); 1006 SETSTR("", params[2]);
1007 } 1007 }
1008 return 0; 1008 return 0;
1009} 1009}
@@ -1035,10 +1035,10 @@ _edje_embryo_fn_set_tween_state(Embryo_Program *ep, Embryo_Cell *params)
1035 rp = ed->table_parts[part_id % ed->table_parts_size]; 1035 rp = ed->table_parts[part_id % ed->table_parts_size];
1036 if (rp) 1036 if (rp)
1037 { 1037 {
1038 if (rp->program) _edje_program_end(ed, rp->program); 1038 if (rp->program) _edje_program_end(ed, rp->program);
1039 _edje_part_description_apply(ed, rp, state1, value1, state2, value2); 1039 _edje_part_description_apply(ed, rp, state1, value1, state2, value2);
1040 _edje_part_pos_set(ed, rp, EDJE_TWEEN_MODE_LINEAR, FROM_DOUBLE(tween), ZERO, ZERO); 1040 _edje_part_pos_set(ed, rp, EDJE_TWEEN_MODE_LINEAR, FROM_DOUBLE(tween), ZERO, ZERO);
1041 _edje_recalc(ed); 1041 _edje_recalc(ed);
1042 } 1042 }
1043 return 0; 1043 return 0;
1044} 1044}
@@ -1058,7 +1058,7 @@ _edje_embryo_fn_run_program(Embryo_Program *ep, Embryo_Cell *params)
1058 pr = ed->collection->patterns.table_programs[program_id % ed->collection->patterns.table_programs_size]; 1058 pr = ed->collection->patterns.table_programs[program_id % ed->collection->patterns.table_programs_size];
1059 if (pr) 1059 if (pr)
1060 { 1060 {
1061 _edje_program_run(ed, pr, 0, "", ""); 1061 _edje_program_run(ed, pr, 0, "", "");
1062 } 1062 }
1063 return 0; 1063 return 0;
1064} 1064}
@@ -1114,8 +1114,8 @@ _edje_embryo_fn_set_drag(Embryo_Program *ep, Embryo_Cell *params)
1114 if (part_id < 0) return 0; 1114 if (part_id < 0) return 0;
1115 rp = ed->table_parts[part_id % ed->table_parts_size]; 1115 rp = ed->table_parts[part_id % ed->table_parts_size];
1116 edje_object_part_drag_value_set(ed->obj, rp->part->name, 1116 edje_object_part_drag_value_set(ed->obj, rp->part->name,
1117 (double)EMBRYO_CELL_TO_FLOAT(params[2]), 1117 (double)EMBRYO_CELL_TO_FLOAT(params[2]),
1118 (double)EMBRYO_CELL_TO_FLOAT(params[3])); 1118 (double)EMBRYO_CELL_TO_FLOAT(params[3]));
1119 return(0); 1119 return(0);
1120} 1120}
1121 1121
@@ -1154,8 +1154,8 @@ _edje_embryo_fn_set_drag_size(Embryo_Program *ep, Embryo_Cell *params)
1154 if (part_id < 0) return 0; 1154 if (part_id < 0) return 0;
1155 rp = ed->table_parts[part_id % ed->table_parts_size]; 1155 rp = ed->table_parts[part_id % ed->table_parts_size];
1156 edje_object_part_drag_size_set(ed->obj, rp->part->name, 1156 edje_object_part_drag_size_set(ed->obj, rp->part->name,
1157 (double)EMBRYO_CELL_TO_FLOAT(params[2]), 1157 (double)EMBRYO_CELL_TO_FLOAT(params[2]),
1158 (double)EMBRYO_CELL_TO_FLOAT(params[3])); 1158 (double)EMBRYO_CELL_TO_FLOAT(params[3]));
1159 return(0); 1159 return(0);
1160} 1160}
1161 1161
@@ -1197,23 +1197,23 @@ _edje_embryo_fn_get_text(Embryo_Program *ep, Embryo_Cell *params)
1197 s = (char *)edje_object_part_text_get(ed->obj, rp->part->name); 1197 s = (char *)edje_object_part_text_get(ed->obj, rp->part->name);
1198 if (s) 1198 if (s)
1199 { 1199 {
1200 if ((int) strlen(s) < params[3]) 1200 if ((int) strlen(s) < params[3])
1201 { 1201 {
1202 SETSTR(s, params[2]); 1202 SETSTR(s, params[2]);
1203 } 1203 }
1204 else 1204 else
1205 { 1205 {
1206 char *ss; 1206 char *ss;
1207 1207
1208 ss = alloca(strlen(s) + 1); 1208 ss = alloca(strlen(s) + 1);
1209 strcpy(ss, s); 1209 strcpy(ss, s);
1210 ss[params[3] - 1] = 0; 1210 ss[params[3] - 1] = 0;
1211 SETSTR(ss, params[2]); 1211 SETSTR(ss, params[2]);
1212 } 1212 }
1213 } 1213 }
1214 else 1214 else
1215 { 1215 {
1216 SETSTR("", params[2]); 1216 SETSTR("", params[2]);
1217 } 1217 }
1218 return 0; 1218 return 0;
1219} 1219}
@@ -1281,9 +1281,10 @@ _edje_embryo_fn_set_color_class(Embryo_Program *ep, Embryo_Cell *params)
1281 ed = embryo_program_data_get(ep); 1281 ed = embryo_program_data_get(ep);
1282 GETSTR(class, params[1]); 1282 GETSTR(class, params[1]);
1283 if (!class) return 0; 1283 if (!class) return 0;
1284 edje_object_color_class_set(ed->obj, class, params[2], params[3], params[4], params[5], 1284 edje_object_color_class_set(ed->obj, class, params[2], params[3], params[4],
1285 params[2], params[3], params[4], params[5], 1285 params[5], params[2], params[3], params[4],
1286 params[2], params[3], params[4], params[5]); 1286 params[5], params[2], params[3], params[4],
1287 params[5]);
1287 return 0; 1288 return 0;
1288} 1289}
1289 1290
@@ -1359,8 +1360,8 @@ _edje_embryo_fn_set_drag_step(Embryo_Program *ep, Embryo_Cell *params)
1359 if (part_id < 0) return 0; 1360 if (part_id < 0) return 0;
1360 rp = ed->table_parts[part_id % ed->table_parts_size]; 1361 rp = ed->table_parts[part_id % ed->table_parts_size];
1361 edje_object_part_drag_step_set(ed->obj, rp->part->name, 1362 edje_object_part_drag_step_set(ed->obj, rp->part->name,
1362 (double)EMBRYO_CELL_TO_FLOAT(params[2]), 1363 (double)EMBRYO_CELL_TO_FLOAT(params[2]),
1363 (double)EMBRYO_CELL_TO_FLOAT(params[3])); 1364 (double)EMBRYO_CELL_TO_FLOAT(params[3]));
1364 return(0); 1365 return(0);
1365} 1366}
1366 1367
@@ -1422,8 +1423,8 @@ _edje_embryo_fn_set_drag_page(Embryo_Program *ep, Embryo_Cell *params)
1422 if (part_id < 0) return 0; 1423 if (part_id < 0) return 0;
1423 rp = ed->table_parts[part_id % ed->table_parts_size]; 1424 rp = ed->table_parts[part_id % ed->table_parts_size];
1424 edje_object_part_drag_page_set(ed->obj, rp->part->name, 1425 edje_object_part_drag_page_set(ed->obj, rp->part->name,
1425 (double)EMBRYO_CELL_TO_FLOAT(params[2]), 1426 (double)EMBRYO_CELL_TO_FLOAT(params[2]),
1426 (double)EMBRYO_CELL_TO_FLOAT(params[3])); 1427 (double)EMBRYO_CELL_TO_FLOAT(params[3]));
1427 return(0); 1428 return(0);
1428} 1429}
1429 1430
@@ -1443,246 +1444,246 @@ _edje_embryo_fn_send_message(Embryo_Program *ep, Embryo_Cell *params)
1443 switch (type) 1444 switch (type)
1444 { 1445 {
1445 case EDJE_MESSAGE_NONE: 1446 case EDJE_MESSAGE_NONE:
1446 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, NULL); 1447 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, NULL);
1447 break; 1448 break;
1448 case EDJE_MESSAGE_SIGNAL: 1449 case EDJE_MESSAGE_SIGNAL:
1449 break; 1450 break;
1450 case EDJE_MESSAGE_STRING: 1451 case EDJE_MESSAGE_STRING:
1451 { 1452 {
1452 Embryo_Cell *cptr; 1453 Embryo_Cell *cptr;
1453 1454
1454 cptr = embryo_data_address_get(ep, params[3]); 1455 cptr = embryo_data_address_get(ep, params[3]);
1455 if (cptr) 1456 if (cptr)
1456 { 1457 {
1457 Edje_Message_String *emsg; 1458 Edje_Message_String *emsg;
1458 int l; 1459 int l;
1459 char *s; 1460 char *s;
1460 1461
1461 l = embryo_data_string_length_get(ep, cptr); 1462 l = embryo_data_string_length_get(ep, cptr);
1462 s = alloca(l + 1); 1463 s = alloca(l + 1);
1463 s[0] = 0; 1464 s[0] = 0;
1464 embryo_data_string_get(ep, cptr, s); 1465 embryo_data_string_get(ep, cptr, s);
1465 emsg = alloca(sizeof(Edje_Message_String)); 1466 emsg = alloca(sizeof(Edje_Message_String));
1466 emsg->str = s; 1467 emsg->str = s;
1467 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg); 1468 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
1468 } 1469 }
1469 } 1470 }
1470 break; 1471 break;
1471 case EDJE_MESSAGE_INT: 1472 case EDJE_MESSAGE_INT:
1472 { 1473 {
1473 Edje_Message_Int *emsg; 1474 Edje_Message_Int *emsg;
1474 1475
1475 emsg = alloca(sizeof(Edje_Message_Int)); 1476 emsg = alloca(sizeof(Edje_Message_Int));
1476 ptr = embryo_data_address_get(ep, params[3]); 1477 ptr = embryo_data_address_get(ep, params[3]);
1477 if (ptr) emsg->val = (int)*ptr; 1478 if (ptr) emsg->val = (int)*ptr;
1478 else emsg->val = 0; 1479 else emsg->val = 0;
1479 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg); 1480 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
1480 } 1481 }
1481 break; 1482 break;
1482 case EDJE_MESSAGE_FLOAT: 1483 case EDJE_MESSAGE_FLOAT:
1483 { 1484 {
1484 Edje_Message_Float *emsg; 1485 Edje_Message_Float *emsg;
1485 float f; 1486 float f;
1486 1487
1487 emsg = alloca(sizeof(Edje_Message_Float)); 1488 emsg = alloca(sizeof(Edje_Message_Float));
1488 ptr = embryo_data_address_get(ep, params[3]); 1489 ptr = embryo_data_address_get(ep, params[3]);
1489 if (ptr) 1490 if (ptr)
1490 { 1491 {
1491 f = EMBRYO_CELL_TO_FLOAT(*ptr); 1492 f = EMBRYO_CELL_TO_FLOAT(*ptr);
1492 emsg->val = (double)f; 1493 emsg->val = (double)f;
1493 } 1494 }
1494 else 1495 else
1495 emsg->val = 0.0; 1496 emsg->val = 0.0;
1496 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg); 1497 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
1497 } 1498 }
1498 break; 1499 break;
1499 case EDJE_MESSAGE_STRING_SET: 1500 case EDJE_MESSAGE_STRING_SET:
1500 { 1501 {
1501 Edje_Message_String_Set *emsg; 1502 Edje_Message_String_Set *emsg;
1502 1503
1503 n = (params[0] / sizeof(Embryo_Cell)) + 1; 1504 n = (params[0] / sizeof(Embryo_Cell)) + 1;
1504 emsg = alloca(sizeof(Edje_Message_String_Set) + ((n - 3 - 1) * sizeof(char *))); 1505 emsg = alloca(sizeof(Edje_Message_String_Set) + ((n - 3 - 1) * sizeof(char *)));
1505 emsg->count = n - 3; 1506 emsg->count = n - 3;
1506 for (i = 3; i < n; i++) 1507 for (i = 3; i < n; i++)
1507 { 1508 {
1508 Embryo_Cell *cptr; 1509 Embryo_Cell *cptr;
1509 1510
1510 cptr = embryo_data_address_get(ep, params[i]); 1511 cptr = embryo_data_address_get(ep, params[i]);
1511 if (cptr) 1512 if (cptr)
1512 { 1513 {
1513 int l; 1514 int l;
1514 char *s; 1515 char *s;
1515 1516
1516 l = embryo_data_string_length_get(ep, cptr); 1517 l = embryo_data_string_length_get(ep, cptr);
1517 s = alloca(l + 1); 1518 s = alloca(l + 1);
1518 s[0] = 0; 1519 s[0] = 0;
1519 embryo_data_string_get(ep, cptr, s); 1520 embryo_data_string_get(ep, cptr, s);
1520 emsg->str[i - 3] = s; 1521 emsg->str[i - 3] = s;
1521 } 1522 }
1522 } 1523 }
1523 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg); 1524 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
1524 } 1525 }
1525 break; 1526 break;
1526 case EDJE_MESSAGE_INT_SET: 1527 case EDJE_MESSAGE_INT_SET:
1527 { 1528 {
1528 Edje_Message_Int_Set *emsg; 1529 Edje_Message_Int_Set *emsg;
1529 1530
1530 n = (params[0] / sizeof(Embryo_Cell)) + 1; 1531 n = (params[0] / sizeof(Embryo_Cell)) + 1;
1531 emsg = alloca(sizeof(Edje_Message_Int_Set) + ((n - 3 - 1) * sizeof(int))); 1532 emsg = alloca(sizeof(Edje_Message_Int_Set) + ((n - 3 - 1) * sizeof(int)));
1532 emsg->count = n - 3; 1533 emsg->count = n - 3;
1533 for (i = 3; i < n; i++) 1534 for (i = 3; i < n; i++)
1534 { 1535 {
1535 ptr = embryo_data_address_get(ep, params[i]); 1536 ptr = embryo_data_address_get(ep, params[i]);
1536 if (ptr) emsg->val[i - 3] = (int)*ptr; 1537 if (ptr) emsg->val[i - 3] = (int)*ptr;
1537 else emsg->val[i - 3] = 0; 1538 else emsg->val[i - 3] = 0;
1538 } 1539 }
1539 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg); 1540 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
1540 } 1541 }
1541 break; 1542 break;
1542 case EDJE_MESSAGE_FLOAT_SET: 1543 case EDJE_MESSAGE_FLOAT_SET:
1543 { 1544 {
1544 Edje_Message_Float_Set *emsg; 1545 Edje_Message_Float_Set *emsg;
1545 1546
1546 n = (params[0] / sizeof(Embryo_Cell)) + 1; 1547 n = (params[0] / sizeof(Embryo_Cell)) + 1;
1547 emsg = alloca(sizeof(Edje_Message_Float_Set) + ((n - 3 - 1) * sizeof(double))); 1548 emsg = alloca(sizeof(Edje_Message_Float_Set) + ((n - 3 - 1) * sizeof(double)));
1548 emsg->count = n - 3; 1549 emsg->count = n - 3;
1549 for (i = 3; i < n; i++) 1550 for (i = 3; i < n; i++)
1550 { 1551 {
1551 float f; 1552 float f;
1552 1553
1553 ptr = embryo_data_address_get(ep, params[i]); 1554 ptr = embryo_data_address_get(ep, params[i]);
1554 if (ptr) 1555 if (ptr)
1555 { 1556 {
1556 f = EMBRYO_CELL_TO_FLOAT(*ptr); 1557 f = EMBRYO_CELL_TO_FLOAT(*ptr);
1557 emsg->val[i - 3] = (double)f; 1558 emsg->val[i - 3] = (double)f;
1558 } 1559 }
1559 else 1560 else
1560 emsg->val[i - 3] = 0.0; 1561 emsg->val[i - 3] = 0.0;
1561 } 1562 }
1562 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg); 1563 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
1563 } 1564 }
1564 break; 1565 break;
1565 case EDJE_MESSAGE_STRING_INT: 1566 case EDJE_MESSAGE_STRING_INT:
1566 { 1567 {
1567 Edje_Message_String_Int *emsg; 1568 Edje_Message_String_Int *emsg;
1568 Embryo_Cell *cptr; 1569 Embryo_Cell *cptr;
1569 1570
1570 cptr = embryo_data_address_get(ep, params[3]); 1571 cptr = embryo_data_address_get(ep, params[3]);
1571 if (cptr) 1572 if (cptr)
1572 { 1573 {
1573 int l; 1574 int l;
1574 char *s; 1575 char *s;
1575 1576
1576 l = embryo_data_string_length_get(ep, cptr); 1577 l = embryo_data_string_length_get(ep, cptr);
1577 s = alloca(l + 1); 1578 s = alloca(l + 1);
1578 s[0] = 0; 1579 s[0] = 0;
1579 embryo_data_string_get(ep, cptr, s); 1580 embryo_data_string_get(ep, cptr, s);
1580 emsg = alloca(sizeof(Edje_Message_String_Int)); 1581 emsg = alloca(sizeof(Edje_Message_String_Int));
1581 emsg->str = s; 1582 emsg->str = s;
1582 ptr = embryo_data_address_get(ep, params[4]); 1583 ptr = embryo_data_address_get(ep, params[4]);
1583 if (ptr) emsg->val = (int)*ptr; 1584 if (ptr) emsg->val = (int)*ptr;
1584 else emsg->val = 0; 1585 else emsg->val = 0;
1585 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg); 1586 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
1586 } 1587 }
1587 } 1588 }
1588 break; 1589 break;
1589 case EDJE_MESSAGE_STRING_FLOAT: 1590 case EDJE_MESSAGE_STRING_FLOAT:
1590 { 1591 {
1591 Edje_Message_String_Float *emsg; 1592 Edje_Message_String_Float *emsg;
1592 Embryo_Cell *cptr; 1593 Embryo_Cell *cptr;
1593 1594
1594 cptr = embryo_data_address_get(ep, params[3]); 1595 cptr = embryo_data_address_get(ep, params[3]);
1595 if (cptr) 1596 if (cptr)
1596 { 1597 {
1597 int l; 1598 int l;
1598 char *s; 1599 char *s;
1599 float f; 1600 float f;
1600 1601
1601 l = embryo_data_string_length_get(ep, cptr); 1602 l = embryo_data_string_length_get(ep, cptr);
1602 s = alloca(l + 1); 1603 s = alloca(l + 1);
1603 s[0] = 0; 1604 s[0] = 0;
1604 embryo_data_string_get(ep, cptr, s); 1605 embryo_data_string_get(ep, cptr, s);
1605 emsg = alloca(sizeof(Edje_Message_String_Float)); 1606 emsg = alloca(sizeof(Edje_Message_String_Float));
1606 emsg->str = s; 1607 emsg->str = s;
1607 ptr = embryo_data_address_get(ep, params[4]); 1608 ptr = embryo_data_address_get(ep, params[4]);
1608 if (ptr) 1609 if (ptr)
1609 { 1610 {
1610 f = EMBRYO_CELL_TO_FLOAT(*ptr); 1611 f = EMBRYO_CELL_TO_FLOAT(*ptr);
1611 emsg->val = (double)f; 1612 emsg->val = (double)f;
1612 } 1613 }
1613 else 1614 else
1614 emsg->val = 0.0; 1615 emsg->val = 0.0;
1615 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg); 1616 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
1616 } 1617 }
1617 } 1618 }
1618 break; 1619 break;
1619 case EDJE_MESSAGE_STRING_INT_SET: 1620 case EDJE_MESSAGE_STRING_INT_SET:
1620 { 1621 {
1621 Edje_Message_String_Int_Set *emsg; 1622 Edje_Message_String_Int_Set *emsg;
1622 Embryo_Cell *cptr; 1623 Embryo_Cell *cptr;
1623 1624
1624 cptr = embryo_data_address_get(ep, params[3]); 1625 cptr = embryo_data_address_get(ep, params[3]);
1625 if (cptr) 1626 if (cptr)
1626 { 1627 {
1627 int l; 1628 int l;
1628 char *s; 1629 char *s;
1629 1630
1630 l = embryo_data_string_length_get(ep, cptr); 1631 l = embryo_data_string_length_get(ep, cptr);
1631 s = alloca(l + 1); 1632 s = alloca(l + 1);
1632 s[0] = 0; 1633 s[0] = 0;
1633 embryo_data_string_get(ep, cptr, s); 1634 embryo_data_string_get(ep, cptr, s);
1634 n = (params[0] / sizeof(Embryo_Cell)) + 1; 1635 n = (params[0] / sizeof(Embryo_Cell)) + 1;
1635 emsg = alloca(sizeof(Edje_Message_String_Int_Set) + ((n - 4 - 1) * sizeof(int))); 1636 emsg = alloca(sizeof(Edje_Message_String_Int_Set) + ((n - 4 - 1) * sizeof(int)));
1636 emsg->str = s; 1637 emsg->str = s;
1637 emsg->count = n - 4; 1638 emsg->count = n - 4;
1638 for (i = 4; i < n; i++) 1639 for (i = 4; i < n; i++)
1639 { 1640 {
1640 ptr = embryo_data_address_get(ep, params[i]); 1641 ptr = embryo_data_address_get(ep, params[i]);
1641 if (ptr) emsg->val[i - 4] = (int)*ptr; 1642 if (ptr) emsg->val[i - 4] = (int)*ptr;
1642 else emsg->val[i - 4] = 0; 1643 else emsg->val[i - 4] = 0;
1643 } 1644 }
1644 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg); 1645 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
1645 } 1646 }
1646 } 1647 }
1647 break; 1648 break;
1648 case EDJE_MESSAGE_STRING_FLOAT_SET: 1649 case EDJE_MESSAGE_STRING_FLOAT_SET:
1649 { 1650 {
1650 Edje_Message_String_Float_Set *emsg; 1651 Edje_Message_String_Float_Set *emsg;
1651 Embryo_Cell *cptr; 1652 Embryo_Cell *cptr;
1652 1653
1653 cptr = embryo_data_address_get(ep, params[3]); 1654 cptr = embryo_data_address_get(ep, params[3]);
1654 if (cptr) 1655 if (cptr)
1655 { 1656 {
1656 int l; 1657 int l;
1657 char *s; 1658 char *s;
1658 1659
1659 l = embryo_data_string_length_get(ep, cptr); 1660 l = embryo_data_string_length_get(ep, cptr);
1660 s = alloca(l + 1); 1661 s = alloca(l + 1);
1661 s[0] = 0; 1662 s[0] = 0;
1662 embryo_data_string_get(ep, cptr, s); 1663 embryo_data_string_get(ep, cptr, s);
1663 n = (params[0] / sizeof(Embryo_Cell)) + 1; 1664 n = (params[0] / sizeof(Embryo_Cell)) + 1;
1664 emsg = alloca(sizeof(Edje_Message_String_Float_Set) + ((n - 4 - 1) * sizeof(double))); 1665 emsg = alloca(sizeof(Edje_Message_String_Float_Set) + ((n - 4 - 1) * sizeof(double)));
1665 emsg->str = s; 1666 emsg->str = s;
1666 emsg->count = n - 4; 1667 emsg->count = n - 4;
1667 for (i = 4; i < n; i++) 1668 for (i = 4; i < n; i++)
1668 { 1669 {
1669 float f; 1670 float f;
1670 1671
1671 ptr = embryo_data_address_get(ep, params[i]); 1672 ptr = embryo_data_address_get(ep, params[i]);
1672 if (ptr) 1673 if (ptr)
1673 { 1674 {
1674 f = EMBRYO_CELL_TO_FLOAT(*ptr); 1675 f = EMBRYO_CELL_TO_FLOAT(*ptr);
1675 emsg->val[i - 4] = (double)f; 1676 emsg->val[i - 4] = (double)f;
1676 } 1677 }
1677 else 1678 else
1678 emsg->val[i - 4] = 0.0; 1679 emsg->val[i - 4] = 0.0;
1679 } 1680 }
1680 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg); 1681 _edje_message_send(ed, EDJE_QUEUE_APP, type, id, emsg);
1681 } 1682 }
1682 } 1683 }
1683 break; 1684 break;
1684 default: 1685 default:
1685 break; 1686 break;
1686 } 1687 }
1687 return(0); 1688 return(0);
1688} 1689}
@@ -1721,35 +1722,33 @@ _edje_embryo_fn_custom_state(Embryo_Program *ep, Embryo_Cell *params)
1721 /* now create the custom state */ 1722 /* now create the custom state */
1722 switch (rp->part->type) 1723 switch (rp->part->type)
1723 { 1724 {
1724#define ALLOC_DESC(Short, Type, To) \ 1725#define ALLOC_DESC(Short, Type, To) \
1725 case EDJE_PART_TYPE_##Short: To = calloc(1, sizeof (Edje_Part_Description_##Type)); break; 1726 case EDJE_PART_TYPE_##Short: To = calloc(1, sizeof (Edje_Part_Description_##Type)); break;
1726 1727
1727#define ALLOC_COPY_DESC(Short, Type, To, Spec) \ 1728#define ALLOC_COPY_DESC(Short, Type, To, Spec) \
1728 case EDJE_PART_TYPE_##Short: \ 1729 case EDJE_PART_TYPE_##Short: \
1729 { \ 1730 { \
1730 Edje_Part_Description_##Type *tmp; \ 1731 Edje_Part_Description_##Type *tmp; \
1731 Edje_Part_Description_##Type *new; \ 1732 Edje_Part_Description_##Type *new; \
1732 \ 1733 tmp = (Edje_Part_Description_##Type *) parent; \
1733 tmp = (Edje_Part_Description_##Type *) parent; \ 1734 new = calloc(1, sizeof (Edje_Part_Description_##Type)); \
1734 \ 1735 new->Spec = tmp->Spec; \
1735 new = calloc(1, sizeof (Edje_Part_Description_##Type)); \ 1736 d = &new->common; \
1736 new->Spec = tmp->Spec; \ 1737 break; \
1737 d = &new->common; \ 1738 }
1738 break; \ 1739
1739 } 1740 ALLOC_DESC(RECTANGLE, Common, d);
1740 1741 ALLOC_DESC(SPACER, Common, d);
1741 ALLOC_DESC(RECTANGLE, Common, d); 1742 ALLOC_DESC(SWALLOW, Common, d);
1742 ALLOC_DESC(SPACER, Common, d); 1743 ALLOC_DESC(GROUP, Common, d);
1743 ALLOC_DESC(SWALLOW, Common, d); 1744
1744 ALLOC_DESC(GROUP, Common, d); 1745 ALLOC_COPY_DESC(IMAGE, Image, d, image);
1745 1746 ALLOC_COPY_DESC(PROXY, Proxy, d, proxy);
1746 ALLOC_COPY_DESC(IMAGE, Image, d, image); 1747 ALLOC_COPY_DESC(TEXT, Text, d, text);
1747 ALLOC_COPY_DESC(PROXY, Proxy, d, proxy); 1748 ALLOC_COPY_DESC(TEXTBLOCK, Text, d, text);
1748 ALLOC_COPY_DESC(TEXT, Text, d, text); 1749 ALLOC_COPY_DESC(BOX, Box, d, box);
1749 ALLOC_COPY_DESC(TEXTBLOCK, Text, d, text); 1750 ALLOC_COPY_DESC(TABLE, Table, d, table);
1750 ALLOC_COPY_DESC(BOX, Box, d, box); 1751 ALLOC_COPY_DESC(EXTERNAL, External, d, external_params);
1751 ALLOC_COPY_DESC(TABLE, Table, d, table);
1752 ALLOC_COPY_DESC(EXTERNAL, External, d, external_params);
1753 } 1752 }
1754 1753
1755 if (!d) return 0; 1754 if (!d) return 0;
@@ -1757,8 +1756,8 @@ _edje_embryo_fn_custom_state(Embryo_Program *ep, Embryo_Cell *params)
1757 rp->custom = eina_mempool_malloc(_edje_real_part_state_mp, sizeof (Edje_Real_Part_State)); 1756 rp->custom = eina_mempool_malloc(_edje_real_part_state_mp, sizeof (Edje_Real_Part_State));
1758 if (!rp->custom) 1757 if (!rp->custom)
1759 { 1758 {
1760 free(d); 1759 free(d);
1761 return 0; 1760 return 0;
1762 } 1761 }
1763 1762
1764 memset(rp->custom, 0, sizeof (Edje_Real_Part_State)); 1763 memset(rp->custom, 0, sizeof (Edje_Real_Part_State));
@@ -1778,31 +1777,31 @@ _edje_embryo_fn_custom_state(Embryo_Program *ep, Embryo_Cell *params)
1778 */ 1777 */
1779 if (rp->part->type == EDJE_PART_TYPE_IMAGE) 1778 if (rp->part->type == EDJE_PART_TYPE_IMAGE)
1780 { 1779 {
1781 Edje_Part_Description_Image *img_desc; 1780 Edje_Part_Description_Image *img_desc;
1782 Edje_Part_Description_Image *parent_img_desc; 1781 Edje_Part_Description_Image *parent_img_desc;
1783 1782
1784 img_desc = (Edje_Part_Description_Image*) d; 1783 img_desc = (Edje_Part_Description_Image*) d;
1785 parent_img_desc = (Edje_Part_Description_Image*) parent; 1784 parent_img_desc = (Edje_Part_Description_Image*) parent;
1786 1785
1787 img_desc->image.tweens_count = parent_img_desc->image.tweens_count; 1786 img_desc->image.tweens_count = parent_img_desc->image.tweens_count;
1788 img_desc->image.tweens = calloc(img_desc->image.tweens_count, 1787 img_desc->image.tweens = calloc(img_desc->image.tweens_count,
1789 sizeof(Edje_Part_Image_Id*)); 1788 sizeof(Edje_Part_Image_Id*));
1790 if (img_desc->image.tweens) 1789 if (img_desc->image.tweens)
1791 { 1790 {
1792 unsigned int i; 1791 unsigned int i;
1793 1792
1794 for (i = 0; i < parent_img_desc->image.tweens_count; ++i) 1793 for (i = 0; i < parent_img_desc->image.tweens_count; ++i)
1795 { 1794 {
1796 Edje_Part_Image_Id *iid_new; 1795 Edje_Part_Image_Id *iid_new;
1797 1796
1798 iid_new = calloc(1, sizeof(Edje_Part_Image_Id)); 1797 iid_new = calloc(1, sizeof(Edje_Part_Image_Id));
1799 if (!iid_new) continue; 1798 if (!iid_new) continue;
1800 1799
1801 *iid_new = *parent_img_desc->image.tweens[i]; 1800 *iid_new = *parent_img_desc->image.tweens[i];
1802 1801
1803 img_desc->image.tweens[i] = iid_new; 1802 img_desc->image.tweens[i] = iid_new;
1804 } 1803 }
1805 } 1804 }
1806 } 1805 }
1807 1806
1808#define DUP(x) x ? (char *)eina_stringshare_add(x) : NULL 1807#define DUP(x) x ? (char *)eina_stringshare_add(x) : NULL
@@ -1811,17 +1810,17 @@ _edje_embryo_fn_custom_state(Embryo_Program *ep, Embryo_Cell *params)
1811 if (rp->part->type == EDJE_PART_TYPE_TEXT 1810 if (rp->part->type == EDJE_PART_TYPE_TEXT
1812 || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK) 1811 || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
1813 { 1812 {
1814 Edje_Part_Description_Text *text_desc; 1813 Edje_Part_Description_Text *text_desc;
1815 1814
1816 text_desc = (Edje_Part_Description_Text*) d; 1815 text_desc = (Edje_Part_Description_Text*) d;
1817 1816
1818 text_desc->text.text_class = DUP(text_desc->text.text_class); 1817 text_desc->text.text_class = DUP(text_desc->text.text_class);
1819 text_desc->text.text.str = DUP(edje_string_get(&text_desc->text.text)); 1818 text_desc->text.text.str = DUP(edje_string_get(&text_desc->text.text));
1820 text_desc->text.text.id = 0; 1819 text_desc->text.text.id = 0;
1821 text_desc->text.font.str = DUP(edje_string_get(&text_desc->text.font)); 1820 text_desc->text.font.str = DUP(edje_string_get(&text_desc->text.font));
1822 text_desc->text.font.id = 0; 1821 text_desc->text.font.id = 0;
1823 text_desc->text.style.str = DUP(edje_string_get(&text_desc->text.style)); 1822 text_desc->text.style.str = DUP(edje_string_get(&text_desc->text.style));
1824 text_desc->text.style.id = 0; 1823 text_desc->text.style.id = 0;
1825 } 1824 }
1826#undef DUP 1825#undef DUP
1827 1826
@@ -1855,533 +1854,533 @@ _edje_embryo_fn_set_state_val(Embryo_Program *ep, Embryo_Cell *params)
1855 switch (params[2]) 1854 switch (params[2])
1856 { 1855 {
1857 case EDJE_STATE_PARAM_ALIGNMENT: 1856 case EDJE_STATE_PARAM_ALIGNMENT:
1858 CHKPARAM(4); 1857 CHKPARAM(4);
1859 1858
1860 GETFLOAT_T(rp->custom->description->align.x, params[3]); 1859 GETFLOAT_T(rp->custom->description->align.x, params[3]);
1861 GETFLOAT_T(rp->custom->description->align.y, params[4]); 1860 GETFLOAT_T(rp->custom->description->align.y, params[4]);
1862 1861
1863 break; 1862 break;
1864 case EDJE_STATE_PARAM_MIN: 1863 case EDJE_STATE_PARAM_MIN:
1865 CHKPARAM(4); 1864 CHKPARAM(4);
1866 1865
1867 GETINT(rp->custom->description->min.w, params[3]); 1866 GETINT(rp->custom->description->min.w, params[3]);
1868 GETINT(rp->custom->description->min.h, params[4]); 1867 GETINT(rp->custom->description->min.h, params[4]);
1869 1868
1870 break; 1869 break;
1871 case EDJE_STATE_PARAM_MAX: 1870 case EDJE_STATE_PARAM_MAX:
1872 CHKPARAM(4); 1871 CHKPARAM(4);
1873 1872
1874 GETINT(rp->custom->description->max.w, params[3]); 1873 GETINT(rp->custom->description->max.w, params[3]);
1875 GETINT(rp->custom->description->max.h, params[4]); 1874 GETINT(rp->custom->description->max.h, params[4]);
1876 1875
1877 break; 1876 break;
1878 case EDJE_STATE_PARAM_STEP: 1877 case EDJE_STATE_PARAM_STEP:
1879 CHKPARAM(4); 1878 CHKPARAM(4);
1880 1879
1881 GETINT(rp->custom->description->step.x, params[3]); 1880 GETINT(rp->custom->description->step.x, params[3]);
1882 GETINT(rp->custom->description->step.y, params[4]); 1881 GETINT(rp->custom->description->step.y, params[4]);
1883 1882
1884 break; 1883 break;
1885 case EDJE_STATE_PARAM_ASPECT: 1884 case EDJE_STATE_PARAM_ASPECT:
1886 CHKPARAM(4); 1885 CHKPARAM(4);
1887 1886
1888 GETFLOAT_T(rp->custom->description->aspect.min, params[3]); 1887 GETFLOAT_T(rp->custom->description->aspect.min, params[3]);
1889 GETFLOAT_T(rp->custom->description->aspect.max, params[4]); 1888 GETFLOAT_T(rp->custom->description->aspect.max, params[4]);
1890 1889
1891 break; 1890 break;
1892 case EDJE_STATE_PARAM_ASPECT_PREF: 1891 case EDJE_STATE_PARAM_ASPECT_PREF:
1893 CHKPARAM(3); 1892 CHKPARAM(3);
1894 1893
1895 GETINT(rp->custom->description->aspect.prefer, params[3]); 1894 GETINT(rp->custom->description->aspect.prefer, params[3]);
1896 1895
1897 break; 1896 break;
1898 case EDJE_STATE_PARAM_COLOR: 1897 case EDJE_STATE_PARAM_COLOR:
1899 CHKPARAM(6); 1898 CHKPARAM(6);
1900 1899
1901 GETINT(rp->custom->description->color.r, params[3]); 1900 GETINT(rp->custom->description->color.r, params[3]);
1902 GETINT(rp->custom->description->color.g, params[4]); 1901 GETINT(rp->custom->description->color.g, params[4]);
1903 GETINT(rp->custom->description->color.b, params[5]); 1902 GETINT(rp->custom->description->color.b, params[5]);
1904 GETINT(rp->custom->description->color.a, params[6]); 1903 GETINT(rp->custom->description->color.a, params[6]);
1905 1904
1906 break; 1905 break;
1907 case EDJE_STATE_PARAM_COLOR2: 1906 case EDJE_STATE_PARAM_COLOR2:
1908 CHKPARAM(6); 1907 CHKPARAM(6);
1909 1908
1910 GETINT(rp->custom->description->color2.r, params[3]); 1909 GETINT(rp->custom->description->color2.r, params[3]);
1911 GETINT(rp->custom->description->color2.g, params[4]); 1910 GETINT(rp->custom->description->color2.g, params[4]);
1912 GETINT(rp->custom->description->color2.b, params[5]); 1911 GETINT(rp->custom->description->color2.b, params[5]);
1913 GETINT(rp->custom->description->color2.a, params[6]); 1912 GETINT(rp->custom->description->color2.a, params[6]);
1914 1913
1915 break; 1914 break;
1916 case EDJE_STATE_PARAM_COLOR3: 1915 case EDJE_STATE_PARAM_COLOR3:
1917 { 1916 {
1918 Edje_Part_Description_Text *text; 1917 Edje_Part_Description_Text *text;
1919 1918
1920 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) && 1919 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
1921 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) 1920 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
1922 return 0; 1921 return 0;
1923 1922
1924 CHKPARAM(6); 1923 CHKPARAM(6);
1925 1924
1926 text = (Edje_Part_Description_Text*) rp->custom->description; 1925 text = (Edje_Part_Description_Text*) rp->custom->description;
1927 1926
1928 GETINT(text->text.color3.r, params[3]); 1927 GETINT(text->text.color3.r, params[3]);
1929 GETINT(text->text.color3.g, params[4]); 1928 GETINT(text->text.color3.g, params[4]);
1930 GETINT(text->text.color3.b, params[5]); 1929 GETINT(text->text.color3.b, params[5]);
1931 GETINT(text->text.color3.a, params[6]); 1930 GETINT(text->text.color3.a, params[6]);
1932 break; 1931 break;
1933 } 1932 }
1934 case EDJE_STATE_PARAM_COLOR_CLASS: 1933 case EDJE_STATE_PARAM_COLOR_CLASS:
1935 CHKPARAM(3); 1934 CHKPARAM(3);
1936 1935
1937 GETSTR(s, params[3]); 1936 GETSTR(s, params[3]);
1938 GETSTREVAS(s, rp->custom->description->color_class); 1937 GETSTREVAS(s, rp->custom->description->color_class);
1939 1938
1940 break; 1939 break;
1941 case EDJE_STATE_PARAM_REL1: 1940 case EDJE_STATE_PARAM_REL1:
1942 CHKPARAM(4); 1941 CHKPARAM(4);
1943 1942
1944 GETFLOAT_T(rp->custom->description->rel1.relative_x, params[3]); 1943 GETFLOAT_T(rp->custom->description->rel1.relative_x, params[3]);
1945 GETFLOAT_T(rp->custom->description->rel1.relative_y, params[4]); 1944 GETFLOAT_T(rp->custom->description->rel1.relative_y, params[4]);
1946 1945
1947 break; 1946 break;
1948 case EDJE_STATE_PARAM_REL1_TO: 1947 case EDJE_STATE_PARAM_REL1_TO:
1949 CHKPARAM(4); 1948 CHKPARAM(4);
1950 1949
1951 GETINT(rp->custom->description->rel1.id_x, params[3]); 1950 GETINT(rp->custom->description->rel1.id_x, params[3]);
1952 GETINT(rp->custom->description->rel1.id_y, params[4]); 1951 GETINT(rp->custom->description->rel1.id_y, params[4]);
1953 1952
1954 break; 1953 break;
1955 case EDJE_STATE_PARAM_REL1_OFFSET: 1954 case EDJE_STATE_PARAM_REL1_OFFSET:
1956 CHKPARAM(4); 1955 CHKPARAM(4);
1957 1956
1958 GETINT(rp->custom->description->rel1.offset_x, params[3]); 1957 GETINT(rp->custom->description->rel1.offset_x, params[3]);
1959 GETINT(rp->custom->description->rel1.offset_y, params[4]); 1958 GETINT(rp->custom->description->rel1.offset_y, params[4]);
1960 1959
1961 break; 1960 break;
1962 case EDJE_STATE_PARAM_REL2: 1961 case EDJE_STATE_PARAM_REL2:
1963 CHKPARAM(4); 1962 CHKPARAM(4);
1964 1963
1965 GETFLOAT_T(rp->custom->description->rel2.relative_x, params[3]); 1964 GETFLOAT_T(rp->custom->description->rel2.relative_x, params[3]);
1966 GETFLOAT_T(rp->custom->description->rel2.relative_y, params[4]); 1965 GETFLOAT_T(rp->custom->description->rel2.relative_y, params[4]);
1967 1966
1968 break; 1967 break;
1969 case EDJE_STATE_PARAM_REL2_TO: 1968 case EDJE_STATE_PARAM_REL2_TO:
1970 CHKPARAM(4); 1969 CHKPARAM(4);
1971 1970
1972 GETINT(rp->custom->description->rel2.id_x, params[3]); 1971 GETINT(rp->custom->description->rel2.id_x, params[3]);
1973 GETINT(rp->custom->description->rel2.id_y, params[4]); 1972 GETINT(rp->custom->description->rel2.id_y, params[4]);
1974 1973
1975 break; 1974 break;
1976 case EDJE_STATE_PARAM_REL2_OFFSET: 1975 case EDJE_STATE_PARAM_REL2_OFFSET:
1977 CHKPARAM(4); 1976 CHKPARAM(4);
1978 1977
1979 GETINT(rp->custom->description->rel2.offset_x, params[3]); 1978 GETINT(rp->custom->description->rel2.offset_x, params[3]);
1980 GETINT(rp->custom->description->rel2.offset_y, params[4]); 1979 GETINT(rp->custom->description->rel2.offset_y, params[4]);
1981 1980
1982 break; 1981 break;
1983 case EDJE_STATE_PARAM_IMAGE: 1982 case EDJE_STATE_PARAM_IMAGE:
1984 { 1983 {
1985 Edje_Part_Description_Image *img; 1984 Edje_Part_Description_Image *img;
1986 1985
1987 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0; 1986 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
1988 CHKPARAM(3); 1987 CHKPARAM(3);
1989 1988
1990 img = (Edje_Part_Description_Image*) rp->custom->description; 1989 img = (Edje_Part_Description_Image*) rp->custom->description;
1991 GETINT(img->image.id, params[3]); 1990 GETINT(img->image.id, params[3]);
1992 1991
1993 break; 1992 break;
1994 } 1993 }
1995 case EDJE_STATE_PARAM_BORDER: 1994 case EDJE_STATE_PARAM_BORDER:
1996 { 1995 {
1997 Edje_Part_Description_Image *img; 1996 Edje_Part_Description_Image *img;
1998 1997
1999 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0; 1998 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
2000 CHKPARAM(6); 1999 CHKPARAM(6);
2001 2000
2002 img = (Edje_Part_Description_Image*) rp->custom->description; 2001 img = (Edje_Part_Description_Image*) rp->custom->description;
2003 2002
2004 GETINT(img->image.border.l, params[3]); 2003 GETINT(img->image.border.l, params[3]);
2005 GETINT(img->image.border.r, params[4]); 2004 GETINT(img->image.border.r, params[4]);
2006 GETINT(img->image.border.t, params[5]); 2005 GETINT(img->image.border.t, params[5]);
2007 GETINT(img->image.border.b, params[6]); 2006 GETINT(img->image.border.b, params[6]);
2008 2007
2009 break; 2008 break;
2010 } 2009 }
2011 case EDJE_STATE_PARAM_FILL_SMOOTH: 2010 case EDJE_STATE_PARAM_FILL_SMOOTH:
2012 { 2011 {
2013 Edje_Part_Description_Image *img; 2012 Edje_Part_Description_Image *img;
2014 Edje_Part_Description_Proxy *proxy; 2013 Edje_Part_Description_Proxy *proxy;
2015 2014
2016 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0; 2015 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0;
2017 CHKPARAM(3); 2016 CHKPARAM(3);
2018 2017
2019 if (rp->part->type == EDJE_PART_TYPE_IMAGE) 2018 if (rp->part->type == EDJE_PART_TYPE_IMAGE)
2020 { 2019 {
2021 img = (Edje_Part_Description_Image*) rp->custom->description; 2020 img = (Edje_Part_Description_Image*) rp->custom->description;
2022 GETINT(img->image.fill.smooth, params[3]); 2021 GETINT(img->image.fill.smooth, params[3]);
2023 } 2022 }
2024 else 2023 else
2025 { 2024 {
2026 proxy = (Edje_Part_Description_Proxy*) rp->custom->description; 2025 proxy = (Edje_Part_Description_Proxy*) rp->custom->description;
2027 GETINT(proxy->proxy.fill.smooth, params[3]); 2026 GETINT(proxy->proxy.fill.smooth, params[3]);
2028 } 2027 }
2029 2028
2030 break; 2029 break;
2031 } 2030 }
2032 case EDJE_STATE_PARAM_FILL_POS: 2031 case EDJE_STATE_PARAM_FILL_POS:
2033 { 2032 {
2034 Edje_Part_Description_Image *img; 2033 Edje_Part_Description_Image *img;
2035 Edje_Part_Description_Proxy *proxy; 2034 Edje_Part_Description_Proxy *proxy;
2036 2035
2037 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0; 2036 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0;
2038 CHKPARAM(6); 2037 CHKPARAM(6);
2039 2038
2040 if (rp->part->type == EDJE_PART_TYPE_IMAGE) 2039 if (rp->part->type == EDJE_PART_TYPE_IMAGE)
2041 { 2040 {
2042 img = (Edje_Part_Description_Image*) rp->custom->description; 2041 img = (Edje_Part_Description_Image*) rp->custom->description;
2043 2042
2044 GETFLOAT_T(img->image.fill.pos_rel_x, params[3]); 2043 GETFLOAT_T(img->image.fill.pos_rel_x, params[3]);
2045 GETFLOAT_T(img->image.fill.pos_rel_y, params[4]); 2044 GETFLOAT_T(img->image.fill.pos_rel_y, params[4]);
2046 GETINT(img->image.fill.pos_abs_x, params[5]); 2045 GETINT(img->image.fill.pos_abs_x, params[5]);
2047 GETINT(img->image.fill.pos_abs_y, params[6]); 2046 GETINT(img->image.fill.pos_abs_y, params[6]);
2048 } 2047 }
2049 else 2048 else
2050 { 2049 {
2051 proxy = (Edje_Part_Description_Proxy*) rp->custom->description; 2050 proxy = (Edje_Part_Description_Proxy*) rp->custom->description;
2052 2051
2053 GETFLOAT_T(proxy->proxy.fill.pos_rel_x, params[3]); 2052 GETFLOAT_T(proxy->proxy.fill.pos_rel_x, params[3]);
2054 GETFLOAT_T(proxy->proxy.fill.pos_rel_y, params[4]); 2053 GETFLOAT_T(proxy->proxy.fill.pos_rel_y, params[4]);
2055 GETINT(proxy->proxy.fill.pos_abs_x, params[5]); 2054 GETINT(proxy->proxy.fill.pos_abs_x, params[5]);
2056 GETINT(proxy->proxy.fill.pos_abs_y, params[6]); 2055 GETINT(proxy->proxy.fill.pos_abs_y, params[6]);
2057 } 2056 }
2058 2057
2059 break; 2058 break;
2060 } 2059 }
2061 case EDJE_STATE_PARAM_FILL_SIZE: 2060 case EDJE_STATE_PARAM_FILL_SIZE:
2062 { 2061 {
2063 Edje_Part_Description_Image *img; 2062 Edje_Part_Description_Image *img;
2064 Edje_Part_Description_Proxy *proxy; 2063 Edje_Part_Description_Proxy *proxy;
2065 2064
2066 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0; 2065 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0;
2067 CHKPARAM(6); 2066 CHKPARAM(6);
2068 2067
2069 if (rp->part->type == EDJE_PART_TYPE_IMAGE) 2068 if (rp->part->type == EDJE_PART_TYPE_IMAGE)
2070 { 2069 {
2071 img = (Edje_Part_Description_Image*) rp->custom->description; 2070 img = (Edje_Part_Description_Image*) rp->custom->description;
2072 2071
2073 GETFLOAT_T(img->image.fill.rel_x, params[3]); 2072 GETFLOAT_T(img->image.fill.rel_x, params[3]);
2074 GETFLOAT_T(img->image.fill.rel_y, params[4]); 2073 GETFLOAT_T(img->image.fill.rel_y, params[4]);
2075 GETINT(img->image.fill.abs_x, params[5]); 2074 GETINT(img->image.fill.abs_x, params[5]);
2076 GETINT(img->image.fill.abs_y, params[6]); 2075 GETINT(img->image.fill.abs_y, params[6]);
2077 } 2076 }
2078 else 2077 else
2079 { 2078 {
2080 proxy = (Edje_Part_Description_Proxy*) rp->custom->description; 2079 proxy = (Edje_Part_Description_Proxy*) rp->custom->description;
2081 2080
2082 GETFLOAT_T(proxy->proxy.fill.rel_x, params[3]); 2081 GETFLOAT_T(proxy->proxy.fill.rel_x, params[3]);
2083 GETFLOAT_T(proxy->proxy.fill.rel_y, params[4]); 2082 GETFLOAT_T(proxy->proxy.fill.rel_y, params[4]);
2084 GETINT(proxy->proxy.fill.abs_x, params[5]); 2083 GETINT(proxy->proxy.fill.abs_x, params[5]);
2085 GETINT(proxy->proxy.fill.abs_y, params[6]); 2084 GETINT(proxy->proxy.fill.abs_y, params[6]);
2086 } 2085 }
2087 2086
2088 break; 2087 break;
2089 } 2088 }
2090 case EDJE_STATE_PARAM_TEXT: 2089 case EDJE_STATE_PARAM_TEXT:
2091 { 2090 {
2092 Edje_Part_Description_Text *text; 2091 Edje_Part_Description_Text *text;
2093 2092
2094 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) && 2093 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
2095 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) 2094 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
2096 return 0; 2095 return 0;
2097 CHKPARAM(3); 2096 CHKPARAM(3);
2098 2097
2099 GETSTR(s, params[3]); 2098 GETSTR(s, params[3]);
2100 2099
2101 text = (Edje_Part_Description_Text*) rp->custom->description; 2100 text = (Edje_Part_Description_Text*) rp->custom->description;
2102 GETSTREVAS(s, text->text.text.str); 2101 GETSTREVAS(s, text->text.text.str);
2103 2102
2104 break; 2103 break;
2105 } 2104 }
2106 case EDJE_STATE_PARAM_TEXT_CLASS: 2105 case EDJE_STATE_PARAM_TEXT_CLASS:
2107 { 2106 {
2108 Edje_Part_Description_Text *text; 2107 Edje_Part_Description_Text *text;
2109 2108
2110 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) && 2109 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
2111 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) 2110 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
2112 return 0; 2111 return 0;
2113 CHKPARAM(3); 2112 CHKPARAM(3);
2114 2113
2115 GETSTR(s, params[3]); 2114 GETSTR(s, params[3]);
2116 2115
2117 text = (Edje_Part_Description_Text*) rp->custom->description; 2116 text = (Edje_Part_Description_Text*) rp->custom->description;
2118 GETSTREVAS(s, text->text.text_class); 2117 GETSTREVAS(s, text->text.text_class);
2119 2118
2120 break; 2119 break;
2121 } 2120 }
2122 case EDJE_STATE_PARAM_TEXT_FONT: 2121 case EDJE_STATE_PARAM_TEXT_FONT:
2123 { 2122 {
2124 Edje_Part_Description_Text *text; 2123 Edje_Part_Description_Text *text;
2125 2124
2126 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0; 2125 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
2127 CHKPARAM(3); 2126 CHKPARAM(3);
2128 2127
2129 GETSTR(s, params[3]); 2128 GETSTR(s, params[3]);
2130 2129
2131 text = (Edje_Part_Description_Text*) rp->custom->description; 2130 text = (Edje_Part_Description_Text*) rp->custom->description;
2132 GETSTREVAS(s, text->text.font.str); 2131 GETSTREVAS(s, text->text.font.str);
2133 2132
2134 break; 2133 break;
2135 } 2134 }
2136 case EDJE_STATE_PARAM_TEXT_STYLE: 2135 case EDJE_STATE_PARAM_TEXT_STYLE:
2137 { 2136 {
2138 Edje_Part_Description_Text *text; 2137 Edje_Part_Description_Text *text;
2139 2138
2140 if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return 0; 2139 if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return 0;
2141 CHKPARAM(3); 2140 CHKPARAM(3);
2142 2141
2143 GETSTR(s, params[3]); 2142 GETSTR(s, params[3]);
2144 2143
2145 text = (Edje_Part_Description_Text*) rp->custom->description; 2144 text = (Edje_Part_Description_Text*) rp->custom->description;
2146 GETSTREVAS(s, text->text.style.str); 2145 GETSTREVAS(s, text->text.style.str);
2147 2146
2148 break; 2147 break;
2149 } 2148 }
2150 case EDJE_STATE_PARAM_TEXT_SIZE: 2149 case EDJE_STATE_PARAM_TEXT_SIZE:
2151 { 2150 {
2152 Edje_Part_Description_Text *text; 2151 Edje_Part_Description_Text *text;
2153 2152
2154 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0; 2153 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
2155 CHKPARAM(3); 2154 CHKPARAM(3);
2156 2155
2157 text = (Edje_Part_Description_Text*) rp->custom->description; 2156 text = (Edje_Part_Description_Text*) rp->custom->description;
2158 GETINT(text->text.size, params[3]); 2157 GETINT(text->text.size, params[3]);
2159 2158
2160 break; 2159 break;
2161 } 2160 }
2162 case EDJE_STATE_PARAM_TEXT_FIT: 2161 case EDJE_STATE_PARAM_TEXT_FIT:
2163 { 2162 {
2164 Edje_Part_Description_Text *text; 2163 Edje_Part_Description_Text *text;
2165 2164
2166 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0; 2165 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
2167 CHKPARAM(4); 2166 CHKPARAM(4);
2168 2167
2169 text = (Edje_Part_Description_Text*) rp->custom->description; 2168 text = (Edje_Part_Description_Text*) rp->custom->description;
2170 2169
2171 GETINT(text->text.fit_x, params[3]); 2170 GETINT(text->text.fit_x, params[3]);
2172 GETINT(text->text.fit_y, params[4]); 2171 GETINT(text->text.fit_y, params[4]);
2173 2172
2174 break; 2173 break;
2175 } 2174 }
2176 case EDJE_STATE_PARAM_TEXT_MIN: 2175 case EDJE_STATE_PARAM_TEXT_MIN:
2177 { 2176 {
2178 Edje_Part_Description_Text *text; 2177 Edje_Part_Description_Text *text;
2179 2178
2180 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) && 2179 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
2181 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) 2180 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
2182 return 0; 2181 return 0;
2183 CHKPARAM(4); 2182 CHKPARAM(4);
2184 2183
2185 text = (Edje_Part_Description_Text*) rp->custom->description; 2184 text = (Edje_Part_Description_Text*) rp->custom->description;
2186 2185
2187 GETINT(text->text.min_x, params[3]); 2186 GETINT(text->text.min_x, params[3]);
2188 GETINT(text->text.min_y, params[4]); 2187 GETINT(text->text.min_y, params[4]);
2189 2188
2190 break; 2189 break;
2191 } 2190 }
2192 case EDJE_STATE_PARAM_TEXT_MAX: 2191 case EDJE_STATE_PARAM_TEXT_MAX:
2193 { 2192 {
2194 Edje_Part_Description_Text *text; 2193 Edje_Part_Description_Text *text;
2195 2194
2196 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) && 2195 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
2197 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) 2196 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
2198 return 0; 2197 return 0;
2199 CHKPARAM(4); 2198 CHKPARAM(4);
2200 2199
2201 text = (Edje_Part_Description_Text*) rp->custom->description; 2200 text = (Edje_Part_Description_Text*) rp->custom->description;
2202 2201
2203 GETINT(text->text.max_x, params[3]); 2202 GETINT(text->text.max_x, params[3]);
2204 GETINT(text->text.max_y, params[4]); 2203 GETINT(text->text.max_y, params[4]);
2205 2204
2206 break; 2205 break;
2207 } 2206 }
2208 case EDJE_STATE_PARAM_TEXT_ALIGN: 2207 case EDJE_STATE_PARAM_TEXT_ALIGN:
2209 { 2208 {
2210 Edje_Part_Description_Text *text; 2209 Edje_Part_Description_Text *text;
2211 2210
2212 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0; 2211 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
2213 CHKPARAM(4); 2212 CHKPARAM(4);
2214 2213
2215 text = (Edje_Part_Description_Text*) rp->custom->description; 2214 text = (Edje_Part_Description_Text*) rp->custom->description;
2216 2215
2217 GETFLOAT_T(text->text.align.x, params[3]); 2216 GETFLOAT_T(text->text.align.x, params[3]);
2218 GETFLOAT_T(text->text.align.y, params[4]); 2217 GETFLOAT_T(text->text.align.y, params[4]);
2219 2218
2220 break; 2219 break;
2221 } 2220 }
2222 case EDJE_STATE_PARAM_VISIBLE: 2221 case EDJE_STATE_PARAM_VISIBLE:
2223 CHKPARAM(3); 2222 CHKPARAM(3);
2224 2223
2225 GETINT(rp->custom->description->visible, params[3]); 2224 GETINT(rp->custom->description->visible, params[3]);
2226 2225
2227 break; 2226 break;
2228 case EDJE_STATE_PARAM_MAP_ON: 2227 case EDJE_STATE_PARAM_MAP_ON:
2229 CHKPARAM(3); 2228 CHKPARAM(3);
2230 2229
2231 GETINT(rp->custom->description->map.on, params[3]); 2230 GETINT(rp->custom->description->map.on, params[3]);
2232 2231
2233 break; 2232 break;
2234 case EDJE_STATE_PARAM_MAP_PERSP: 2233 case EDJE_STATE_PARAM_MAP_PERSP:
2235 CHKPARAM(3); 2234 CHKPARAM(3);
2236 2235
2237 GETINT(rp->custom->description->map.id_persp, params[3]); 2236 GETINT(rp->custom->description->map.id_persp, params[3]);
2238 2237
2239 break; 2238 break;
2240 case EDJE_STATE_PARAM_MAP_LIGHT: 2239 case EDJE_STATE_PARAM_MAP_LIGHT:
2241 CHKPARAM(3); 2240 CHKPARAM(3);
2242 2241
2243 GETINT(rp->custom->description->map.id_light, params[3]); 2242 GETINT(rp->custom->description->map.id_light, params[3]);
2244 2243
2245 break; 2244 break;
2246 case EDJE_STATE_PARAM_MAP_ROT_CENTER: 2245 case EDJE_STATE_PARAM_MAP_ROT_CENTER:
2247 CHKPARAM(3); 2246 CHKPARAM(3);
2248 2247
2249 GETINT(rp->custom->description->map.rot.id_center, params[3]); 2248 GETINT(rp->custom->description->map.rot.id_center, params[3]);
2250 2249
2251 break; 2250 break;
2252 case EDJE_STATE_PARAM_MAP_ROT_X: 2251 case EDJE_STATE_PARAM_MAP_ROT_X:
2253 CHKPARAM(3); 2252 CHKPARAM(3);
2254 2253
2255 GETFLOAT_T(rp->custom->description->map.rot.x, params[3]); 2254 GETFLOAT_T(rp->custom->description->map.rot.x, params[3]);
2256 2255
2257 break; 2256 break;
2258 case EDJE_STATE_PARAM_MAP_ROT_Y: 2257 case EDJE_STATE_PARAM_MAP_ROT_Y:
2259 CHKPARAM(3); 2258 CHKPARAM(3);
2260 2259
2261 GETFLOAT_T(rp->custom->description->map.rot.y, params[3]); 2260 GETFLOAT_T(rp->custom->description->map.rot.y, params[3]);
2262 2261
2263 break; 2262 break;
2264 case EDJE_STATE_PARAM_MAP_ROT_Z: 2263 case EDJE_STATE_PARAM_MAP_ROT_Z:
2265 CHKPARAM(3); 2264 CHKPARAM(3);
2266
2267 GETFLOAT_T(rp->custom->description->map.rot.z, params[3]);
2268 2265
2269 break; 2266 GETFLOAT_T(rp->custom->description->map.rot.z, params[3]);
2267
2268 break;
2270 case EDJE_STATE_PARAM_MAP_BACK_CULL: 2269 case EDJE_STATE_PARAM_MAP_BACK_CULL:
2271 CHKPARAM(3); 2270 CHKPARAM(3);
2272 2271
2273 GETINT(rp->custom->description->map.backcull, params[3]); 2272 GETINT(rp->custom->description->map.backcull, params[3]);
2274 2273
2275 break; 2274 break;
2276 case EDJE_STATE_PARAM_MAP_PERSP_ON: 2275 case EDJE_STATE_PARAM_MAP_PERSP_ON:
2277 CHKPARAM(3); 2276 CHKPARAM(3);
2278 2277
2279 GETINT(rp->custom->description->map.persp_on, params[3]); 2278 GETINT(rp->custom->description->map.persp_on, params[3]);
2280 2279
2281 break; 2280 break;
2282 case EDJE_STATE_PARAM_PERSP_ZPLANE: 2281 case EDJE_STATE_PARAM_PERSP_ZPLANE:
2283 CHKPARAM(3); 2282 CHKPARAM(3);
2284 2283
2285 GETINT(rp->custom->description->persp.zplane, params[3]); 2284 GETINT(rp->custom->description->persp.zplane, params[3]);
2286 2285
2287 break; 2286 break;
2288 case EDJE_STATE_PARAM_PERSP_FOCAL: 2287 case EDJE_STATE_PARAM_PERSP_FOCAL:
2289 CHKPARAM(3); 2288 CHKPARAM(3);
2290 2289
2291 GETINT(rp->custom->description->persp.focal, params[3]); 2290 GETINT(rp->custom->description->persp.focal, params[3]);
2292 2291
2293 break; 2292 break;
2294#ifdef HAVE_EPHYSICS 2293#ifdef HAVE_EPHYSICS
2295 case EDJE_STATE_PARAM_PHYSICS_MASS: 2294 case EDJE_STATE_PARAM_PHYSICS_MASS:
2296 CHKPARAM(3); 2295 CHKPARAM(3);
2297 2296
2298 GETFLOAT_T(rp->custom->description->physics.mass, params[3]); 2297 GETFLOAT_T(rp->custom->description->physics.mass, params[3]);
2299 2298
2300 break; 2299 break;
2301 case EDJE_STATE_PARAM_PHYSICS_RESTITUTION: 2300 case EDJE_STATE_PARAM_PHYSICS_RESTITUTION:
2302 CHKPARAM(3); 2301 CHKPARAM(3);
2303 2302
2304 GETFLOAT_T(rp->custom->description->physics.restitution, params[3]); 2303 GETFLOAT_T(rp->custom->description->physics.restitution, params[3]);
2305 2304
2306 break; 2305 break;
2307 case EDJE_STATE_PARAM_PHYSICS_FRICTION: 2306 case EDJE_STATE_PARAM_PHYSICS_FRICTION:
2308 CHKPARAM(3); 2307 CHKPARAM(3);
2309 2308
2310 GETFLOAT_T(rp->custom->description->physics.friction, params[3]); 2309 GETFLOAT_T(rp->custom->description->physics.friction, params[3]);
2311 2310
2312 break; 2311 break;
2313 case EDJE_STATE_PARAM_PHYSICS_DAMPING: 2312 case EDJE_STATE_PARAM_PHYSICS_DAMPING:
2314 CHKPARAM(4); 2313 CHKPARAM(4);
2315 2314
2316 GETFLOAT_T(rp->custom->description->physics.damping.linear, params[3]); 2315 GETFLOAT_T(rp->custom->description->physics.damping.linear, params[3]);
2317 GETFLOAT_T(rp->custom->description->physics.damping.angular, 2316 GETFLOAT_T(rp->custom->description->physics.damping.angular,
2318 params[4]); 2317 params[4]);
2319 2318
2320 break; 2319 break;
2321 case EDJE_STATE_PARAM_PHYSICS_SLEEP: 2320 case EDJE_STATE_PARAM_PHYSICS_SLEEP:
2322 CHKPARAM(4); 2321 CHKPARAM(4);
2323 2322
2324 GETFLOAT_T(rp->custom->description->physics.sleep.linear, params[3]); 2323 GETFLOAT_T(rp->custom->description->physics.sleep.linear, params[3]);
2325 GETFLOAT_T(rp->custom->description->physics.sleep.angular, params[4]); 2324 GETFLOAT_T(rp->custom->description->physics.sleep.angular, params[4]);
2326 2325
2327 break; 2326 break;
2328 case EDJE_STATE_PARAM_PHYSICS_MATERIAL: 2327 case EDJE_STATE_PARAM_PHYSICS_MATERIAL:
2329 CHKPARAM(3); 2328 CHKPARAM(3);
2330 2329
2331 GETINT(rp->custom->description->physics.material, params[3]); 2330 GETINT(rp->custom->description->physics.material, params[3]);
2332 break; 2331 break;
2333 case EDJE_STATE_PARAM_PHYSICS_DENSITY: 2332 case EDJE_STATE_PARAM_PHYSICS_DENSITY:
2334 CHKPARAM(3); 2333 CHKPARAM(3);
2335 2334
2336 GETFLOAT_T(rp->custom->description->physics.density, params[3]); 2335 GETFLOAT_T(rp->custom->description->physics.density, params[3]);
2337 break; 2336 break;
2338 case EDJE_STATE_PARAM_PHYSICS_HARDNESS: 2337 case EDJE_STATE_PARAM_PHYSICS_HARDNESS:
2339 CHKPARAM(3); 2338 CHKPARAM(3);
2340 2339
2341 GETFLOAT_T(rp->custom->description->physics.hardness, params[3]); 2340 GETFLOAT_T(rp->custom->description->physics.hardness, params[3]);
2342 break; 2341 break;
2343 case EDJE_STATE_PARAM_PHYSICS_IGNORE_PART_POS: 2342 case EDJE_STATE_PARAM_PHYSICS_IGNORE_PART_POS:
2344 CHKPARAM(3); 2343 CHKPARAM(3);
2345 2344
2346 GETINT(rp->custom->description->physics.ignore_part_pos, params[3]); 2345 GETINT(rp->custom->description->physics.ignore_part_pos, params[3]);
2347 break; 2346 break;
2348 case EDJE_STATE_PARAM_PHYSICS_LIGHT_ON: 2347 case EDJE_STATE_PARAM_PHYSICS_LIGHT_ON:
2349 CHKPARAM(3); 2348 CHKPARAM(3);
2350 2349
2351 GETINT(rp->custom->description->physics.light_on, params[3]); 2350 GETINT(rp->custom->description->physics.light_on, params[3]);
2352 break; 2351 break;
2353 case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_LIN: 2352 case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_LIN:
2354 CHKPARAM(5); 2353 CHKPARAM(5);
2355 2354
2356 GETINT(rp->custom->description->physics.mov_freedom.lin.x, params[3]); 2355 GETINT(rp->custom->description->physics.mov_freedom.lin.x, params[3]);
2357 GETINT(rp->custom->description->physics.mov_freedom.lin.y, params[4]); 2356 GETINT(rp->custom->description->physics.mov_freedom.lin.y, params[4]);
2358 GETINT(rp->custom->description->physics.mov_freedom.lin.z, params[5]); 2357 GETINT(rp->custom->description->physics.mov_freedom.lin.z, params[5]);
2359 break; 2358 break;
2360 case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_ANG: 2359 case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_ANG:
2361 CHKPARAM(5); 2360 CHKPARAM(5);
2362 2361
2363 GETINT(rp->custom->description->physics.mov_freedom.ang.x, params[3]); 2362 GETINT(rp->custom->description->physics.mov_freedom.ang.x, params[3]);
2364 GETINT(rp->custom->description->physics.mov_freedom.ang.y, params[4]); 2363 GETINT(rp->custom->description->physics.mov_freedom.ang.y, params[4]);
2365 GETINT(rp->custom->description->physics.mov_freedom.ang.z, params[5]); 2364 GETINT(rp->custom->description->physics.mov_freedom.ang.z, params[5]);
2366 break; 2365 break;
2367 case EDJE_STATE_PARAM_PHYSICS_BACK_CULL: 2366 case EDJE_STATE_PARAM_PHYSICS_BACK_CULL:
2368 CHKPARAM(3); 2367 CHKPARAM(3);
2369 2368
2370 GETINT(rp->custom->description->physics.backcull, params[3]); 2369 GETINT(rp->custom->description->physics.backcull, params[3]);
2371 break; 2370 break;
2372 case EDJE_STATE_PARAM_PHYSICS_Z: 2371 case EDJE_STATE_PARAM_PHYSICS_Z:
2373 CHKPARAM(3); 2372 CHKPARAM(3);
2374 2373
2375 GETINT(rp->custom->description->physics.z, params[3]); 2374 GETINT(rp->custom->description->physics.z, params[3]);
2376 break; 2375 break;
2377 case EDJE_STATE_PARAM_PHYSICS_DEPTH: 2376 case EDJE_STATE_PARAM_PHYSICS_DEPTH:
2378 CHKPARAM(3); 2377 CHKPARAM(3);
2379 2378
2380 GETINT(rp->custom->description->physics.depth, params[3]); 2379 GETINT(rp->custom->description->physics.depth, params[3]);
2381 break; 2380 break;
2382#endif 2381#endif
2383 default: 2382 default:
2384 break; 2383 break;
2385 } 2384 }
2386 2385
2387#ifdef EDJE_CALC_CACHE 2386#ifdef EDJE_CALC_CACHE
@@ -2416,546 +2415,546 @@ _edje_embryo_fn_get_state_val(Embryo_Program *ep, Embryo_Cell *params)
2416 switch (params[2]) 2415 switch (params[2])
2417 { 2416 {
2418 case EDJE_STATE_PARAM_ALIGNMENT: 2417 case EDJE_STATE_PARAM_ALIGNMENT:
2419 CHKPARAM(4); 2418 CHKPARAM(4);
2420 2419
2421 SETFLOAT_T(rp->custom->description->align.x, params[3]); 2420 SETFLOAT_T(rp->custom->description->align.x, params[3]);
2422 SETFLOAT_T(rp->custom->description->align.y, params[4]); 2421 SETFLOAT_T(rp->custom->description->align.y, params[4]);
2423 2422
2424 break; 2423 break;
2425 case EDJE_STATE_PARAM_MIN: 2424 case EDJE_STATE_PARAM_MIN:
2426 CHKPARAM(4); 2425 CHKPARAM(4);
2427 2426
2428 SETINT(rp->custom->description->min.w, params[3]); 2427 SETINT(rp->custom->description->min.w, params[3]);
2429 SETINT(rp->custom->description->min.h, params[4]); 2428 SETINT(rp->custom->description->min.h, params[4]);
2430 2429
2431 break; 2430 break;
2432 case EDJE_STATE_PARAM_MAX: 2431 case EDJE_STATE_PARAM_MAX:
2433 CHKPARAM(4); 2432 CHKPARAM(4);
2434 2433
2435 SETINT(rp->custom->description->max.w, params[3]); 2434 SETINT(rp->custom->description->max.w, params[3]);
2436 SETINT(rp->custom->description->max.h, params[4]); 2435 SETINT(rp->custom->description->max.h, params[4]);
2437 2436
2438 break; 2437 break;
2439 case EDJE_STATE_PARAM_STEP: 2438 case EDJE_STATE_PARAM_STEP:
2440 CHKPARAM(4); 2439 CHKPARAM(4);
2441 2440
2442 SETINT(rp->custom->description->step.x, params[3]); 2441 SETINT(rp->custom->description->step.x, params[3]);
2443 SETINT(rp->custom->description->step.y, params[4]); 2442 SETINT(rp->custom->description->step.y, params[4]);
2444 2443
2445 break; 2444 break;
2446 case EDJE_STATE_PARAM_ASPECT: 2445 case EDJE_STATE_PARAM_ASPECT:
2447 CHKPARAM(4); 2446 CHKPARAM(4);
2448 2447
2449 SETFLOAT_T(rp->custom->description->aspect.min, params[3]); 2448 SETFLOAT_T(rp->custom->description->aspect.min, params[3]);
2450 SETFLOAT_T(rp->custom->description->aspect.max, params[4]); 2449 SETFLOAT_T(rp->custom->description->aspect.max, params[4]);
2451 2450
2452 break; 2451 break;
2453 case EDJE_STATE_PARAM_ASPECT_PREF: 2452 case EDJE_STATE_PARAM_ASPECT_PREF:
2454 CHKPARAM(3); 2453 CHKPARAM(3);
2455 2454
2456 SETINT(rp->custom->description->aspect.prefer, params[3]); 2455 SETINT(rp->custom->description->aspect.prefer, params[3]);
2457 2456
2458 break; 2457 break;
2459 case EDJE_STATE_PARAM_COLOR: 2458 case EDJE_STATE_PARAM_COLOR:
2460 CHKPARAM(6); 2459 CHKPARAM(6);
2461 2460
2462 SETINT(rp->custom->description->color.r, params[3]); 2461 SETINT(rp->custom->description->color.r, params[3]);
2463 SETINT(rp->custom->description->color.g, params[4]); 2462 SETINT(rp->custom->description->color.g, params[4]);
2464 SETINT(rp->custom->description->color.b, params[5]); 2463 SETINT(rp->custom->description->color.b, params[5]);
2465 SETINT(rp->custom->description->color.a, params[6]); 2464 SETINT(rp->custom->description->color.a, params[6]);
2466 2465
2467 break; 2466 break;
2468 case EDJE_STATE_PARAM_COLOR2: 2467 case EDJE_STATE_PARAM_COLOR2:
2469 CHKPARAM(6); 2468 CHKPARAM(6);
2470 2469
2471 SETINT(rp->custom->description->color2.r, params[3]); 2470 SETINT(rp->custom->description->color2.r, params[3]);
2472 SETINT(rp->custom->description->color2.g, params[4]); 2471 SETINT(rp->custom->description->color2.g, params[4]);
2473 SETINT(rp->custom->description->color2.b, params[5]); 2472 SETINT(rp->custom->description->color2.b, params[5]);
2474 SETINT(rp->custom->description->color2.a, params[6]); 2473 SETINT(rp->custom->description->color2.a, params[6]);
2475 2474
2476 break; 2475 break;
2477 case EDJE_STATE_PARAM_COLOR3: 2476 case EDJE_STATE_PARAM_COLOR3:
2478 { 2477 {
2479 Edje_Part_Description_Text *text; 2478 Edje_Part_Description_Text *text;
2480 2479
2481 if (rp->part->type == EDJE_PART_TYPE_TEXT 2480 if (rp->part->type == EDJE_PART_TYPE_TEXT
2482 || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK) 2481 || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
2483 return 0; 2482 return 0;
2484 2483
2485 CHKPARAM(6); 2484 CHKPARAM(6);
2486 2485
2487 text = (Edje_Part_Description_Text*) rp->custom->description; 2486 text = (Edje_Part_Description_Text*) rp->custom->description;
2488 2487
2489 SETINT(text->text.color3.r, params[3]); 2488 SETINT(text->text.color3.r, params[3]);
2490 SETINT(text->text.color3.g, params[4]); 2489 SETINT(text->text.color3.g, params[4]);
2491 SETINT(text->text.color3.b, params[5]); 2490 SETINT(text->text.color3.b, params[5]);
2492 SETINT(text->text.color3.a, params[6]); 2491 SETINT(text->text.color3.a, params[6]);
2493 2492
2494 break; 2493 break;
2495 } 2494 }
2496 case EDJE_STATE_PARAM_COLOR_CLASS: 2495 case EDJE_STATE_PARAM_COLOR_CLASS:
2497 CHKPARAM(4); 2496 CHKPARAM(4);
2498 2497
2499 s = rp->custom->description->color_class; 2498 s = rp->custom->description->color_class;
2500 SETSTRALLOCATE(s); 2499 SETSTRALLOCATE(s);
2501 2500
2502 break; 2501 break;
2503 case EDJE_STATE_PARAM_REL1: 2502 case EDJE_STATE_PARAM_REL1:
2504 CHKPARAM(4); 2503 CHKPARAM(4);
2505 2504
2506 SETFLOAT_T(rp->custom->description->rel1.relative_x, params[3]); 2505 SETFLOAT_T(rp->custom->description->rel1.relative_x, params[3]);
2507 SETFLOAT_T(rp->custom->description->rel1.relative_y, params[4]); 2506 SETFLOAT_T(rp->custom->description->rel1.relative_y, params[4]);
2508 2507
2509 break; 2508 break;
2510 case EDJE_STATE_PARAM_REL1_TO: 2509 case EDJE_STATE_PARAM_REL1_TO:
2511 CHKPARAM(4); 2510 CHKPARAM(4);
2512 2511
2513 SETINT(rp->custom->description->rel1.id_x, params[3]); 2512 SETINT(rp->custom->description->rel1.id_x, params[3]);
2514 SETINT(rp->custom->description->rel1.id_y, params[4]); 2513 SETINT(rp->custom->description->rel1.id_y, params[4]);
2515 2514
2516 break; 2515 break;
2517 case EDJE_STATE_PARAM_REL1_OFFSET: 2516 case EDJE_STATE_PARAM_REL1_OFFSET:
2518 CHKPARAM(4); 2517 CHKPARAM(4);
2519 2518
2520 SETINT(rp->custom->description->rel1.offset_x, params[3]); 2519 SETINT(rp->custom->description->rel1.offset_x, params[3]);
2521 SETINT(rp->custom->description->rel1.offset_y, params[4]); 2520 SETINT(rp->custom->description->rel1.offset_y, params[4]);
2522 2521
2523 break; 2522 break;
2524 case EDJE_STATE_PARAM_REL2: 2523 case EDJE_STATE_PARAM_REL2:
2525 CHKPARAM(4); 2524 CHKPARAM(4);
2526 2525
2527 SETFLOAT_T(rp->custom->description->rel2.relative_x, params[3]); 2526 SETFLOAT_T(rp->custom->description->rel2.relative_x, params[3]);
2528 SETFLOAT_T(rp->custom->description->rel2.relative_y, params[4]); 2527 SETFLOAT_T(rp->custom->description->rel2.relative_y, params[4]);
2529 2528
2530 break; 2529 break;
2531 case EDJE_STATE_PARAM_REL2_TO: 2530 case EDJE_STATE_PARAM_REL2_TO:
2532 CHKPARAM(4); 2531 CHKPARAM(4);
2533 2532
2534 SETINT(rp->custom->description->rel2.id_x, params[3]); 2533 SETINT(rp->custom->description->rel2.id_x, params[3]);
2535 SETINT(rp->custom->description->rel2.id_y, params[4]); 2534 SETINT(rp->custom->description->rel2.id_y, params[4]);
2536 2535
2537 break; 2536 break;
2538 case EDJE_STATE_PARAM_REL2_OFFSET: 2537 case EDJE_STATE_PARAM_REL2_OFFSET:
2539 CHKPARAM(4); 2538 CHKPARAM(4);
2540 2539
2541 SETINT(rp->custom->description->rel2.offset_x, params[3]); 2540 SETINT(rp->custom->description->rel2.offset_x, params[3]);
2542 SETINT(rp->custom->description->rel2.offset_y, params[4]); 2541 SETINT(rp->custom->description->rel2.offset_y, params[4]);
2543 2542
2544 break; 2543 break;
2545 case EDJE_STATE_PARAM_IMAGE: 2544 case EDJE_STATE_PARAM_IMAGE:
2546 { 2545 {
2547 Edje_Part_Description_Image *img; 2546 Edje_Part_Description_Image *img;
2548 2547
2549 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0; 2548 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
2550 CHKPARAM(3); 2549 CHKPARAM(3);
2551 2550
2552 img = (Edje_Part_Description_Image*) rp->custom->description; 2551 img = (Edje_Part_Description_Image*) rp->custom->description;
2553 2552
2554 SETINT(img->image.id, params[3]); 2553 SETINT(img->image.id, params[3]);
2555 2554
2556 break; 2555 break;
2557 } 2556 }
2558 case EDJE_STATE_PARAM_BORDER: 2557 case EDJE_STATE_PARAM_BORDER:
2559 { 2558 {
2560 Edje_Part_Description_Image *img; 2559 Edje_Part_Description_Image *img;
2561 2560
2562 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0; 2561 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) ) return 0;
2563 CHKPARAM(6); 2562 CHKPARAM(6);
2564 2563
2565 img = (Edje_Part_Description_Image*) rp->custom->description; 2564 img = (Edje_Part_Description_Image*) rp->custom->description;
2566 2565
2567 SETINT(img->image.border.l, params[3]); 2566 SETINT(img->image.border.l, params[3]);
2568 SETINT(img->image.border.r, params[4]); 2567 SETINT(img->image.border.r, params[4]);
2569 SETINT(img->image.border.t, params[5]); 2568 SETINT(img->image.border.t, params[5]);
2570 SETINT(img->image.border.b, params[6]); 2569 SETINT(img->image.border.b, params[6]);
2571 2570
2572 break; 2571 break;
2573 } 2572 }
2574 case EDJE_STATE_PARAM_FILL_SMOOTH: 2573 case EDJE_STATE_PARAM_FILL_SMOOTH:
2575 { 2574 {
2576 Edje_Part_Description_Image *img; 2575 Edje_Part_Description_Image *img;
2577 Edje_Part_Description_Proxy *proxy; 2576 Edje_Part_Description_Proxy *proxy;
2578 2577
2579 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0; 2578 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0;
2580 CHKPARAM(3); 2579 CHKPARAM(3);
2581 2580
2582 if (rp->part->type == EDJE_PART_TYPE_IMAGE) 2581 if (rp->part->type == EDJE_PART_TYPE_IMAGE)
2583 { 2582 {
2584 img = (Edje_Part_Description_Image*) rp->custom->description; 2583 img = (Edje_Part_Description_Image*) rp->custom->description;
2585 2584
2586 SETINT(img->image.fill.smooth, params[3]); 2585 SETINT(img->image.fill.smooth, params[3]);
2587 } 2586 }
2588 else 2587 else
2589 { 2588 {
2590 proxy = (Edje_Part_Description_Proxy*) rp->custom->description; 2589 proxy = (Edje_Part_Description_Proxy*) rp->custom->description;
2591 2590
2592 SETINT(proxy->proxy.fill.smooth, params[3]); 2591 SETINT(proxy->proxy.fill.smooth, params[3]);
2593 } 2592 }
2594 2593
2595 break; 2594 break;
2596 } 2595 }
2597 case EDJE_STATE_PARAM_FILL_POS: 2596 case EDJE_STATE_PARAM_FILL_POS:
2598 { 2597 {
2599 Edje_Part_Description_Image *img; 2598 Edje_Part_Description_Image *img;
2600 Edje_Part_Description_Proxy *proxy; 2599 Edje_Part_Description_Proxy *proxy;
2601 2600
2602 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0; 2601 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0;
2603 CHKPARAM(6); 2602 CHKPARAM(6);
2604 2603
2605 if (rp->part->type == EDJE_PART_TYPE_IMAGE) 2604 if (rp->part->type == EDJE_PART_TYPE_IMAGE)
2606 { 2605 {
2607 img = (Edje_Part_Description_Image*) rp->custom->description; 2606 img = (Edje_Part_Description_Image*) rp->custom->description;
2608 2607
2609 SETFLOAT_T(img->image.fill.pos_rel_x, params[3]); 2608 SETFLOAT_T(img->image.fill.pos_rel_x, params[3]);
2610 SETFLOAT_T(img->image.fill.pos_rel_y, params[4]); 2609 SETFLOAT_T(img->image.fill.pos_rel_y, params[4]);
2611 SETINT(img->image.fill.pos_abs_x, params[5]); 2610 SETINT(img->image.fill.pos_abs_x, params[5]);
2612 SETINT(img->image.fill.pos_abs_y, params[6]); 2611 SETINT(img->image.fill.pos_abs_y, params[6]);
2613 } 2612 }
2614 else 2613 else
2615 { 2614 {
2616 proxy = (Edje_Part_Description_Proxy*) rp->custom->description; 2615 proxy = (Edje_Part_Description_Proxy*) rp->custom->description;
2617 2616
2618 SETFLOAT_T(proxy->proxy.fill.pos_rel_x, params[3]); 2617 SETFLOAT_T(proxy->proxy.fill.pos_rel_x, params[3]);
2619 SETFLOAT_T(proxy->proxy.fill.pos_rel_y, params[4]); 2618 SETFLOAT_T(proxy->proxy.fill.pos_rel_y, params[4]);
2620 SETINT(proxy->proxy.fill.pos_abs_x, params[5]); 2619 SETINT(proxy->proxy.fill.pos_abs_x, params[5]);
2621 SETINT(proxy->proxy.fill.pos_abs_y, params[6]); 2620 SETINT(proxy->proxy.fill.pos_abs_y, params[6]);
2622 } 2621 }
2623 2622
2624 break; 2623 break;
2625 } 2624 }
2626 case EDJE_STATE_PARAM_FILL_SIZE: 2625 case EDJE_STATE_PARAM_FILL_SIZE:
2627 { 2626 {
2628 Edje_Part_Description_Image *img; 2627 Edje_Part_Description_Image *img;
2629 Edje_Part_Description_Proxy *proxy; 2628 Edje_Part_Description_Proxy *proxy;
2630 2629
2631 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0; 2630 if ( (rp->part->type != EDJE_PART_TYPE_IMAGE) && (rp->part->type != EDJE_PART_TYPE_PROXY) ) return 0;
2632 CHKPARAM(6); 2631 CHKPARAM(6);
2633 2632
2634 if (rp->part->type == EDJE_PART_TYPE_IMAGE) 2633 if (rp->part->type == EDJE_PART_TYPE_IMAGE)
2635 { 2634 {
2636 img = (Edje_Part_Description_Image*) rp->custom->description; 2635 img = (Edje_Part_Description_Image*) rp->custom->description;
2637 2636
2638 SETFLOAT_T(img->image.fill.rel_x, params[3]); 2637 SETFLOAT_T(img->image.fill.rel_x, params[3]);
2639 SETFLOAT_T(img->image.fill.rel_y, params[4]); 2638 SETFLOAT_T(img->image.fill.rel_y, params[4]);
2640 SETINT(img->image.fill.abs_x, params[5]); 2639 SETINT(img->image.fill.abs_x, params[5]);
2641 SETINT(img->image.fill.abs_y, params[6]); 2640 SETINT(img->image.fill.abs_y, params[6]);
2642 } 2641 }
2643 else 2642 else
2644 { 2643 {
2645 proxy = (Edje_Part_Description_Proxy*) rp->custom->description; 2644 proxy = (Edje_Part_Description_Proxy*) rp->custom->description;
2646 2645
2647 SETFLOAT_T(proxy->proxy.fill.rel_x, params[3]); 2646 SETFLOAT_T(proxy->proxy.fill.rel_x, params[3]);
2648 SETFLOAT_T(proxy->proxy.fill.rel_y, params[4]); 2647 SETFLOAT_T(proxy->proxy.fill.rel_y, params[4]);
2649 SETINT(proxy->proxy.fill.abs_x, params[5]); 2648 SETINT(proxy->proxy.fill.abs_x, params[5]);
2650 SETINT(proxy->proxy.fill.abs_y, params[6]); 2649 SETINT(proxy->proxy.fill.abs_y, params[6]);
2651 } 2650 }
2652 2651
2653 break; 2652 break;
2654 } 2653 }
2655 case EDJE_STATE_PARAM_TEXT: 2654 case EDJE_STATE_PARAM_TEXT:
2656 { 2655 {
2657 Edje_Part_Description_Text *text; 2656 Edje_Part_Description_Text *text;
2658 2657
2659 if (rp->part->type == EDJE_PART_TYPE_TEXT 2658 if (rp->part->type == EDJE_PART_TYPE_TEXT
2660 || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK) 2659 || rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
2661 return 0; 2660 return 0;
2662 2661
2663 CHKPARAM(4); 2662 CHKPARAM(4);
2664 2663
2665 text = (Edje_Part_Description_Text*) rp->custom->description; 2664 text = (Edje_Part_Description_Text*) rp->custom->description;
2666 2665
2667 s = (char *)text->text.text.str; 2666 s = (char *)text->text.text.str;
2668 SETSTRALLOCATE(s); 2667 SETSTRALLOCATE(s);
2669 2668
2670 break; 2669 break;
2671 } 2670 }
2672 case EDJE_STATE_PARAM_TEXT_CLASS: 2671 case EDJE_STATE_PARAM_TEXT_CLASS:
2673 { 2672 {
2674 Edje_Part_Description_Text *text; 2673 Edje_Part_Description_Text *text;
2675 2674
2676 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) && 2675 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
2677 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) 2676 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
2678 return 0; 2677 return 0;
2679 2678
2680 CHKPARAM(4); 2679 CHKPARAM(4);
2681 2680
2682 text = (Edje_Part_Description_Text*) rp->custom->description; 2681 text = (Edje_Part_Description_Text*) rp->custom->description;
2683 2682
2684 s = text->text.text_class; 2683 s = text->text.text_class;
2685 SETSTRALLOCATE(s); 2684 SETSTRALLOCATE(s);
2686 2685
2687 break; 2686 break;
2688 } 2687 }
2689 case EDJE_STATE_PARAM_TEXT_FONT: 2688 case EDJE_STATE_PARAM_TEXT_FONT:
2690 { 2689 {
2691 Edje_Part_Description_Text *text; 2690 Edje_Part_Description_Text *text;
2692 2691
2693 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0; 2692 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
2694 2693
2695 CHKPARAM(4); 2694 CHKPARAM(4);
2696 2695
2697 text = (Edje_Part_Description_Text*) rp->custom->description; 2696 text = (Edje_Part_Description_Text*) rp->custom->description;
2698 2697
2699 s = (char *)text->text.font.str; 2698 s = (char *)text->text.font.str;
2700 SETSTRALLOCATE(s); 2699 SETSTRALLOCATE(s);
2701 2700
2702 break; 2701 break;
2703 } 2702 }
2704 case EDJE_STATE_PARAM_TEXT_STYLE: 2703 case EDJE_STATE_PARAM_TEXT_STYLE:
2705 { 2704 {
2706 Edje_Part_Description_Text *text; 2705 Edje_Part_Description_Text *text;
2707 2706
2708 if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return 0; 2707 if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return 0;
2709 2708
2710 CHKPARAM(4); 2709 CHKPARAM(4);
2711 2710
2712 text = (Edje_Part_Description_Text*) rp->custom->description; 2711 text = (Edje_Part_Description_Text*) rp->custom->description;
2713 2712
2714 s = (char *)text->text.style.str; 2713 s = (char *)text->text.style.str;
2715 SETSTRALLOCATE(s); 2714 SETSTRALLOCATE(s);
2716 2715
2717 break; 2716 break;
2718 } 2717 }
2719 case EDJE_STATE_PARAM_TEXT_SIZE: 2718 case EDJE_STATE_PARAM_TEXT_SIZE:
2720 { 2719 {
2721 Edje_Part_Description_Text *text; 2720 Edje_Part_Description_Text *text;
2722 2721
2723 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0; 2722 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
2724 2723
2725 CHKPARAM(3); 2724 CHKPARAM(3);
2726 2725
2727 text = (Edje_Part_Description_Text*) rp->custom->description; 2726 text = (Edje_Part_Description_Text*) rp->custom->description;
2728 2727
2729 SETINT(text->text.size, params[3]); 2728 SETINT(text->text.size, params[3]);
2730 2729
2731 break; 2730 break;
2732 } 2731 }
2733 case EDJE_STATE_PARAM_TEXT_FIT: 2732 case EDJE_STATE_PARAM_TEXT_FIT:
2734 { 2733 {
2735 Edje_Part_Description_Text *text; 2734 Edje_Part_Description_Text *text;
2736 2735
2737 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0; 2736 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
2738 CHKPARAM(4); 2737 CHKPARAM(4);
2739 2738
2740 text = (Edje_Part_Description_Text*) rp->custom->description; 2739 text = (Edje_Part_Description_Text*) rp->custom->description;
2741 2740
2742 SETINT(text->text.fit_x, params[3]); 2741 SETINT(text->text.fit_x, params[3]);
2743 SETINT(text->text.fit_y, params[4]); 2742 SETINT(text->text.fit_y, params[4]);
2744 2743
2745 break; 2744 break;
2746 } 2745 }
2747 case EDJE_STATE_PARAM_TEXT_MIN: 2746 case EDJE_STATE_PARAM_TEXT_MIN:
2748 { 2747 {
2749 Edje_Part_Description_Text *text; 2748 Edje_Part_Description_Text *text;
2750 2749
2751 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) && 2750 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
2752 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) 2751 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
2753 return 0; 2752 return 0;
2754 2753
2755 CHKPARAM(4); 2754 CHKPARAM(4);
2756 2755
2757 text = (Edje_Part_Description_Text*) rp->custom->description; 2756 text = (Edje_Part_Description_Text*) rp->custom->description;
2758 2757
2759 SETINT(text->text.min_x, params[3]); 2758 SETINT(text->text.min_x, params[3]);
2760 SETINT(text->text.min_y, params[4]); 2759 SETINT(text->text.min_y, params[4]);
2761 2760
2762 break; 2761 break;
2763 } 2762 }
2764 case EDJE_STATE_PARAM_TEXT_MAX: 2763 case EDJE_STATE_PARAM_TEXT_MAX:
2765 { 2764 {
2766 Edje_Part_Description_Text *text; 2765 Edje_Part_Description_Text *text;
2767 2766
2768 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) && 2767 if ( (rp->part->type != EDJE_PART_TYPE_TEXT) &&
2769 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) 2768 (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
2770 return 0; 2769 return 0;
2771 2770
2772 CHKPARAM(4); 2771 CHKPARAM(4);
2773 2772
2774 text = (Edje_Part_Description_Text*) rp->custom->description; 2773 text = (Edje_Part_Description_Text*) rp->custom->description;
2775 2774
2776 SETINT(text->text.max_x, params[3]); 2775 SETINT(text->text.max_x, params[3]);
2777 SETINT(text->text.max_y, params[4]); 2776 SETINT(text->text.max_y, params[4]);
2778 2777
2779 break; 2778 break;
2780 } 2779 }
2781 case EDJE_STATE_PARAM_TEXT_ALIGN: 2780 case EDJE_STATE_PARAM_TEXT_ALIGN:
2782 { 2781 {
2783 Edje_Part_Description_Text *text; 2782 Edje_Part_Description_Text *text;
2784 2783
2785 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0; 2784 if ((rp->part->type != EDJE_PART_TYPE_TEXT)) return 0;
2786 2785
2787 CHKPARAM(4); 2786 CHKPARAM(4);
2788 2787
2789 text = (Edje_Part_Description_Text*) rp->custom->description; 2788 text = (Edje_Part_Description_Text*) rp->custom->description;
2790 2789
2791 SETFLOAT_T(text->text.align.x, params[3]); 2790 SETFLOAT_T(text->text.align.x, params[3]);
2792 SETFLOAT_T(text->text.align.y, params[4]); 2791 SETFLOAT_T(text->text.align.y, params[4]);
2793 2792
2794 break; 2793 break;
2795 } 2794 }
2796 case EDJE_STATE_PARAM_VISIBLE: 2795 case EDJE_STATE_PARAM_VISIBLE:
2797 CHKPARAM(3); 2796 CHKPARAM(3);
2798 2797
2799 SETINT(rp->custom->description->visible, params[3]); 2798 SETINT(rp->custom->description->visible, params[3]);
2800 2799
2801 break; 2800 break;
2802 case EDJE_STATE_PARAM_MAP_ON: 2801 case EDJE_STATE_PARAM_MAP_ON:
2803 CHKPARAM(3); 2802 CHKPARAM(3);
2804 2803
2805 SETINT(rp->custom->description->map.on, params[3]); 2804 SETINT(rp->custom->description->map.on, params[3]);
2806 2805
2807 break; 2806 break;
2808 case EDJE_STATE_PARAM_MAP_PERSP: 2807 case EDJE_STATE_PARAM_MAP_PERSP:
2809 CHKPARAM(3); 2808 CHKPARAM(3);
2810 2809
2811 SETINT(rp->custom->description->map.id_persp, params[3]); 2810 SETINT(rp->custom->description->map.id_persp, params[3]);
2812 2811
2813 break; 2812 break;
2814 case EDJE_STATE_PARAM_MAP_LIGHT: 2813 case EDJE_STATE_PARAM_MAP_LIGHT:
2815 CHKPARAM(3); 2814 CHKPARAM(3);
2816 2815
2817 SETINT(rp->custom->description->map.id_light, params[3]); 2816 SETINT(rp->custom->description->map.id_light, params[3]);
2818 2817
2819 break; 2818 break;
2820 case EDJE_STATE_PARAM_MAP_ROT_CENTER: 2819 case EDJE_STATE_PARAM_MAP_ROT_CENTER:
2821 CHKPARAM(3); 2820 CHKPARAM(3);
2822 2821
2823 SETINT(rp->custom->description->map.rot.id_center, params[3]); 2822 SETINT(rp->custom->description->map.rot.id_center, params[3]);
2824 2823
2825 break; 2824 break;
2826 case EDJE_STATE_PARAM_MAP_ROT_X: 2825 case EDJE_STATE_PARAM_MAP_ROT_X:
2827 CHKPARAM(3); 2826 CHKPARAM(3);
2828 2827
2829 SETFLOAT_T(rp->custom->description->map.rot.x, params[3]); 2828 SETFLOAT_T(rp->custom->description->map.rot.x, params[3]);
2830 2829
2831 break; 2830 break;
2832 case EDJE_STATE_PARAM_MAP_ROT_Y: 2831 case EDJE_STATE_PARAM_MAP_ROT_Y:
2833 CHKPARAM(3); 2832 CHKPARAM(3);
2834 2833
2835 SETFLOAT_T(rp->custom->description->map.rot.y, params[3]); 2834 SETFLOAT_T(rp->custom->description->map.rot.y, params[3]);
2836 2835
2837 break; 2836 break;
2838 case EDJE_STATE_PARAM_MAP_ROT_Z: 2837 case EDJE_STATE_PARAM_MAP_ROT_Z:
2839 CHKPARAM(3); 2838 CHKPARAM(3);
2840 2839
2841 SETFLOAT_T(rp->custom->description->map.rot.z, params[3]); 2840 SETFLOAT_T(rp->custom->description->map.rot.z, params[3]);
2842 2841
2843 break; 2842 break;
2844 case EDJE_STATE_PARAM_MAP_BACK_CULL: 2843 case EDJE_STATE_PARAM_MAP_BACK_CULL:
2845 CHKPARAM(3); 2844 CHKPARAM(3);
2846 2845
2847 SETINT(rp->custom->description->map.backcull, params[3]); 2846 SETINT(rp->custom->description->map.backcull, params[3]);
2848 2847
2849 break; 2848 break;
2850 case EDJE_STATE_PARAM_MAP_PERSP_ON: 2849 case EDJE_STATE_PARAM_MAP_PERSP_ON:
2851 CHKPARAM(3); 2850 CHKPARAM(3);
2852 2851
2853 SETINT(rp->custom->description->map.persp_on, params[3]); 2852 SETINT(rp->custom->description->map.persp_on, params[3]);
2854 2853
2855 break; 2854 break;
2856 case EDJE_STATE_PARAM_PERSP_ZPLANE: 2855 case EDJE_STATE_PARAM_PERSP_ZPLANE:
2857 CHKPARAM(3); 2856 CHKPARAM(3);
2858 2857
2859 SETINT(rp->custom->description->persp.zplane, params[3]); 2858 SETINT(rp->custom->description->persp.zplane, params[3]);
2860 2859
2861 break; 2860 break;
2862 case EDJE_STATE_PARAM_PERSP_FOCAL: 2861 case EDJE_STATE_PARAM_PERSP_FOCAL:
2863 CHKPARAM(3); 2862 CHKPARAM(3);
2864 2863
2865 SETINT(rp->custom->description->persp.focal, params[3]); 2864 SETINT(rp->custom->description->persp.focal, params[3]);
2866 2865
2867 break; 2866 break;
2868#ifdef HAVE_EPHYSICS 2867#ifdef HAVE_EPHYSICS
2869 case EDJE_STATE_PARAM_PHYSICS_MASS: 2868 case EDJE_STATE_PARAM_PHYSICS_MASS:
2870 CHKPARAM(3); 2869 CHKPARAM(3);
2871 2870
2872 SETFLOAT_T(rp->custom->description->physics.mass, params[3]); 2871 SETFLOAT_T(rp->custom->description->physics.mass, params[3]);
2873 2872
2874 break; 2873 break;
2875 case EDJE_STATE_PARAM_PHYSICS_RESTITUTION: 2874 case EDJE_STATE_PARAM_PHYSICS_RESTITUTION:
2876 CHKPARAM(3); 2875 CHKPARAM(3);
2877 2876
2878 SETFLOAT_T(rp->custom->description->physics.restitution, params[3]); 2877 SETFLOAT_T(rp->custom->description->physics.restitution, params[3]);
2879 2878
2880 break; 2879 break;
2881 case EDJE_STATE_PARAM_PHYSICS_FRICTION: 2880 case EDJE_STATE_PARAM_PHYSICS_FRICTION:
2882 CHKPARAM(3); 2881 CHKPARAM(3);
2883 2882
2884 SETFLOAT_T(rp->custom->description->physics.friction, params[3]); 2883 SETFLOAT_T(rp->custom->description->physics.friction, params[3]);
2885 2884
2886 break; 2885 break;
2887 case EDJE_STATE_PARAM_PHYSICS_DAMPING: 2886 case EDJE_STATE_PARAM_PHYSICS_DAMPING:
2888 CHKPARAM(4); 2887 CHKPARAM(4);
2889 2888
2890 SETFLOAT_T(rp->custom->description->physics.damping.linear, params[3]); 2889 SETFLOAT_T(rp->custom->description->physics.damping.linear, params[3]);
2891 SETFLOAT_T(rp->custom->description->physics.damping.angular, 2890 SETFLOAT_T(rp->custom->description->physics.damping.angular,
2892 params[4]); 2891 params[4]);
2893 2892
2894 break; 2893 break;
2895 case EDJE_STATE_PARAM_PHYSICS_SLEEP: 2894 case EDJE_STATE_PARAM_PHYSICS_SLEEP:
2896 CHKPARAM(4); 2895 CHKPARAM(4);
2897 2896
2898 SETFLOAT_T(rp->custom->description->physics.sleep.linear, params[3]); 2897 SETFLOAT_T(rp->custom->description->physics.sleep.linear, params[3]);
2899 SETFLOAT_T(rp->custom->description->physics.sleep.angular, params[4]); 2898 SETFLOAT_T(rp->custom->description->physics.sleep.angular, params[4]);
2900 2899
2901 break; 2900 break;
2902 case EDJE_STATE_PARAM_PHYSICS_MATERIAL: 2901 case EDJE_STATE_PARAM_PHYSICS_MATERIAL:
2903 CHKPARAM(3); 2902 CHKPARAM(3);
2904 2903
2905 SETINT(rp->custom->description->physics.material, params[3]); 2904 SETINT(rp->custom->description->physics.material, params[3]);
2906 break; 2905 break;
2907 case EDJE_STATE_PARAM_PHYSICS_DENSITY: 2906 case EDJE_STATE_PARAM_PHYSICS_DENSITY:
2908 CHKPARAM(3); 2907 CHKPARAM(3);
2909 2908
2910 SETFLOAT_T(rp->custom->description->physics.density, params[3]); 2909 SETFLOAT_T(rp->custom->description->physics.density, params[3]);
2911 break; 2910 break;
2912 case EDJE_STATE_PARAM_PHYSICS_HARDNESS: 2911 case EDJE_STATE_PARAM_PHYSICS_HARDNESS:
2913 CHKPARAM(3); 2912 CHKPARAM(3);
2914 2913
2915 SETFLOAT_T(rp->custom->description->physics.hardness, params[3]); 2914 SETFLOAT_T(rp->custom->description->physics.hardness, params[3]);
2916 break; 2915 break;
2917 case EDJE_STATE_PARAM_PHYSICS_IGNORE_PART_POS: 2916 case EDJE_STATE_PARAM_PHYSICS_IGNORE_PART_POS:
2918 CHKPARAM(3); 2917 CHKPARAM(3);
2919 2918
2920 SETINT(rp->custom->description->physics.ignore_part_pos, params[3]); 2919 SETINT(rp->custom->description->physics.ignore_part_pos, params[3]);
2921 break; 2920 break;
2922 case EDJE_STATE_PARAM_PHYSICS_LIGHT_ON: 2921 case EDJE_STATE_PARAM_PHYSICS_LIGHT_ON:
2923 CHKPARAM(3); 2922 CHKPARAM(3);
2924 2923
2925 SETINT(rp->custom->description->physics.light_on, params[3]); 2924 SETINT(rp->custom->description->physics.light_on, params[3]);
2926 break; 2925 break;
2927 case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_LIN: 2926 case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_LIN:
2928 CHKPARAM(5); 2927 CHKPARAM(5);
2929 2928
2930 SETINT(rp->custom->description->physics.mov_freedom.lin.x, params[3]); 2929 SETINT(rp->custom->description->physics.mov_freedom.lin.x, params[3]);
2931 SETINT(rp->custom->description->physics.mov_freedom.lin.y, params[4]); 2930 SETINT(rp->custom->description->physics.mov_freedom.lin.y, params[4]);
2932 SETINT(rp->custom->description->physics.mov_freedom.lin.z, params[5]); 2931 SETINT(rp->custom->description->physics.mov_freedom.lin.z, params[5]);
2933 break; 2932 break;
2934 case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_ANG: 2933 case EDJE_STATE_PARAM_PHYSICS_MOV_FREEDOM_ANG:
2935 CHKPARAM(5); 2934 CHKPARAM(5);
2936 2935
2937 SETINT(rp->custom->description->physics.mov_freedom.ang.x, params[3]); 2936 SETINT(rp->custom->description->physics.mov_freedom.ang.x, params[3]);
2938 SETINT(rp->custom->description->physics.mov_freedom.ang.y, params[4]); 2937 SETINT(rp->custom->description->physics.mov_freedom.ang.y, params[4]);
2939 SETINT(rp->custom->description->physics.mov_freedom.ang.z, params[5]); 2938 SETINT(rp->custom->description->physics.mov_freedom.ang.z, params[5]);
2940 break; 2939 break;
2941 case EDJE_STATE_PARAM_PHYSICS_BACK_CULL: 2940 case EDJE_STATE_PARAM_PHYSICS_BACK_CULL:
2942 CHKPARAM(3); 2941 CHKPARAM(3);
2943 2942
2944 SETINT(rp->custom->description->physics.backcull, params[3]); 2943 SETINT(rp->custom->description->physics.backcull, params[3]);
2945 break; 2944 break;
2946 case EDJE_STATE_PARAM_PHYSICS_Z: 2945 case EDJE_STATE_PARAM_PHYSICS_Z:
2947 CHKPARAM(3); 2946 CHKPARAM(3);
2948 2947
2949 SETINT(rp->custom->description->physics.z, params[3]); 2948 SETINT(rp->custom->description->physics.z, params[3]);
2950 break; 2949 break;
2951 case EDJE_STATE_PARAM_PHYSICS_DEPTH: 2950 case EDJE_STATE_PARAM_PHYSICS_DEPTH:
2952 CHKPARAM(3); 2951 CHKPARAM(3);
2953 2952
2954 SETINT(rp->custom->description->physics.depth, params[3]); 2953 SETINT(rp->custom->description->physics.depth, params[3]);
2955 break; 2954 break;
2956#endif 2955#endif
2957 default: 2956 default:
2958 break; 2957 break;
2959 } 2958 }
2960 2959
2961 return 0; 2960 return 0;
@@ -2970,7 +2969,7 @@ _edje_embryo_fn_part_swallow(Embryo_Program *ep, Embryo_Cell *params)
2970 Edje *ed; 2969 Edje *ed;
2971 Edje_Real_Part *rp; 2970 Edje_Real_Part *rp;
2972 Evas_Object *new_obj; 2971 Evas_Object *new_obj;
2973 2972
2974 CHKPARAM(2); 2973 CHKPARAM(2);
2975 2974
2976 part_id = params[1]; 2975 part_id = params[1];
@@ -3160,14 +3159,14 @@ _edje_embryo_fn_external_param_get_str(Embryo_Program *ep, Embryo_Cell *params)
3160 src_len = strlen(eep.s); 3159 src_len = strlen(eep.s);
3161 if (src_len < dst_len) 3160 if (src_len < dst_len)
3162 { 3161 {
3163 SETSTR(eep.s, params[3]); 3162 SETSTR(eep.s, params[3]);
3164 } 3163 }
3165 else 3164 else
3166 { 3165 {
3167 char *tmp = alloca(dst_len); 3166 char *tmp = alloca(dst_len);
3168 memcpy(tmp, eep.s, dst_len - 1); 3167 memcpy(tmp, eep.s, dst_len - 1);
3169 tmp[dst_len-1] = '\0'; 3168 tmp[dst_len-1] = '\0';
3170 SETSTR(tmp, params[3]); 3169 SETSTR(tmp, params[3]);
3171 } 3170 }
3172 return 1; 3171 return 1;
3173 3172
@@ -3261,14 +3260,14 @@ _edje_embryo_fn_external_param_get_choice(Embryo_Program *ep, Embryo_Cell *param
3261 src_len = strlen(eep.s); 3260 src_len = strlen(eep.s);
3262 if (src_len < dst_len) 3261 if (src_len < dst_len)
3263 { 3262 {
3264 SETSTR(eep.s, params[3]); 3263 SETSTR(eep.s, params[3]);
3265 } 3264 }
3266 else 3265 else
3267 { 3266 {
3268 char *tmp = alloca(dst_len); 3267 char *tmp = alloca(dst_len);
3269 memcpy(tmp, eep.s, dst_len - 1); 3268 memcpy(tmp, eep.s, dst_len - 1);
3270 tmp[dst_len-1] = '\0'; 3269 tmp[dst_len-1] = '\0';
3271 SETSTR(tmp, params[3]); 3270 SETSTR(tmp, params[3]);
3272 } 3271 }
3273 return 1; 3272 return 1;
3274 3273
@@ -3611,7 +3610,7 @@ _edje_embryo_script_init(Edje_Part_Collection *edc)
3611 3610
3612 if (!edc) return; 3611 if (!edc) return;
3613 if (!edc->script) return; 3612 if (!edc->script) return;
3614 3613
3615 ep = edc->script; 3614 ep = edc->script;
3616 /* first advertise all the edje "script" calls */ 3615 /* first advertise all the edje "script" calls */
3617 embryo_program_native_call_add(ep, "get_int", _edje_embryo_fn_get_int); 3616 embryo_program_native_call_add(ep, "get_int", _edje_embryo_fn_get_int);
@@ -3754,57 +3753,57 @@ _edje_embryo_test_run(Edje *ed, const char *fname, const char *sig, const char *
3754 fn = embryo_program_function_find(ed->collection->script, (char *)fname); 3753 fn = embryo_program_function_find(ed->collection->script, (char *)fname);
3755 if (fn != EMBRYO_FUNCTION_NONE) 3754 if (fn != EMBRYO_FUNCTION_NONE)
3756 { 3755 {
3757 void *pdata; 3756 void *pdata;
3758 int ret; 3757 int ret;
3759 3758
3760 embryo_parameter_string_push(ed->collection->script, (char *)sig); 3759 embryo_parameter_string_push(ed->collection->script, (char *)sig);
3761 embryo_parameter_string_push(ed->collection->script, (char *)src); 3760 embryo_parameter_string_push(ed->collection->script, (char *)src);
3762 pdata = embryo_program_data_get(ed->collection->script); 3761 pdata = embryo_program_data_get(ed->collection->script);
3763 embryo_program_data_set(ed->collection->script, ed); 3762 embryo_program_data_set(ed->collection->script, ed);
3764 /* 5 million instructions is an arbitrary number. on my p4-2.6 here */ 3763 /* 5 million instructions is an arbitrary number. on my p4-2.6 here */
3765 /* IF embryo is ONLY running embryo stuff and NO native calls thats */ 3764 /* IF embryo is ONLY running embryo stuff and NO native calls thats */
3766 /* about 0.016 seconds, and longer on slower cpu's. if a simple */ 3765 /* about 0.016 seconds, and longer on slower cpu's. if a simple */
3767 /* embryo script snippet hasn't managed to do its work in 5 MILLION */ 3766 /* embryo script snippet hasn't managed to do its work in 5 MILLION */
3768 /* embryo virtual machine instructions - something is wrong, or */ 3767 /* embryo virtual machine instructions - something is wrong, or */
3769 /* embryo is simply being mis-used. Embryo is meant to be minimal */ 3768 /* embryo is simply being mis-used. Embryo is meant to be minimal */
3770 /* logic enhancment - not entire applications. this cycle count */ 3769 /* logic enhancment - not entire applications. this cycle count */
3771 /* does NOT include time spent in native function calls, that the */ 3770 /* does NOT include time spent in native function calls, that the */
3772 /* script may call to do the REAL work, so in terms of time this */ 3771 /* script may call to do the REAL work, so in terms of time this */
3773 /* will likely end up being much longer than 0.016 seconds - more */ 3772 /* will likely end up being much longer than 0.016 seconds - more */
3774 /* like 0.03 - 0.05 seconds or even more */ 3773 /* like 0.03 - 0.05 seconds or even more */
3775 embryo_program_max_cycle_run_set(ed->collection->script, 5000000); 3774 embryo_program_max_cycle_run_set(ed->collection->script, 5000000);
3776 ret = embryo_program_run(ed->collection->script, fn); 3775 ret = embryo_program_run(ed->collection->script, fn);
3777 if (ret == EMBRYO_PROGRAM_FAIL) 3776 if (ret == EMBRYO_PROGRAM_FAIL)
3778 { 3777 {
3779 ERR("ERROR with embryo script. " 3778 ERR("ERROR with embryo script. "
3780 "OBJECT NAME: '%s', " 3779 "OBJECT NAME: '%s', "
3781 "OBJECT FILE: '%s', " 3780 "OBJECT FILE: '%s', "
3782 "ENTRY POINT: '%s', " 3781 "ENTRY POINT: '%s', "
3783 "SIGNAL: '%s', " 3782 "SIGNAL: '%s', "
3784 "SOURCE: '%s', " 3783 "SOURCE: '%s', "
3785 "ERROR: '%s'", 3784 "ERROR: '%s'",
3786 ed->collection->part, 3785 ed->collection->part,
3787 ed->file->path, 3786 ed->file->path,
3788 fname, 3787 fname,
3789 sig, src, 3788 sig, src,
3790 embryo_error_string_get(embryo_program_error_get(ed->collection->script))); 3789 embryo_error_string_get(embryo_program_error_get(ed->collection->script)));
3791 } 3790 }
3792 else if (ret == EMBRYO_PROGRAM_TOOLONG) 3791 else if (ret == EMBRYO_PROGRAM_TOOLONG)
3793 { 3792 {
3794 ERR("ERROR with embryo script. " 3793 ERR("ERROR with embryo script. "
3795 "OBJECT NAME: '%s', " 3794 "OBJECT NAME: '%s', "
3796 "OBJECT FILE: '%s', " 3795 "OBJECT FILE: '%s', "
3797 "ENTRY POINT: '%s', " 3796 "ENTRY POINT: '%s', "
3798 "SIGNAL: '%s', " 3797 "SIGNAL: '%s', "
3799 "SOURCE: '%s', " 3798 "SOURCE: '%s', "
3800 "ERROR: 'Script exceeded maximum allowed cycle count of %i'", 3799 "ERROR: 'Script exceeded maximum allowed cycle count of %i'",
3801 ed->collection->part, 3800 ed->collection->part,
3802 ed->file->path, 3801 ed->file->path,
3803 fname, 3802 fname,
3804 sig, src, 3803 sig, src,
3805 embryo_program_max_cycle_run_get(ed->collection->script)); 3804 embryo_program_max_cycle_run_get(ed->collection->script));
3806 } 3805 }
3807 embryo_program_data_set(ed->collection->script, pdata); 3806 embryo_program_data_set(ed->collection->script, pdata);
3808 } 3807 }
3809 embryo_program_vm_pop(ed->collection->script); 3808 embryo_program_vm_pop(ed->collection->script);
3810} 3809}
@@ -3819,13 +3818,13 @@ _edje_embryo_globals_init(Edje *ed)
3819 n = embryo_program_variable_count_get(ep); 3818 n = embryo_program_variable_count_get(ep);
3820 for (i = 0; i < n; i++) 3819 for (i = 0; i < n; i++)
3821 { 3820 {
3822 Embryo_Cell cell, *cptr; 3821 Embryo_Cell cell, *cptr;
3823 3822
3824 cell = embryo_program_variable_get(ep, i); 3823 cell = embryo_program_variable_get(ep, i);
3825 if (cell != EMBRYO_CELL_NONE) 3824 if (cell != EMBRYO_CELL_NONE)
3826 { 3825 {
3827 cptr = embryo_data_address_get(ep, cell); 3826 cptr = embryo_data_address_get(ep, cell);
3828 if (cptr) *cptr = EDJE_VAR_MAGIC_BASE + i; 3827 if (cptr) *cptr = EDJE_VAR_MAGIC_BASE + i;
3829 } 3828 }
3830 } 3829 }
3831} 3830}