group { name: "script"; script_only: 1; script { public global1; // no choice - MUST have public obj_init() { // necessary if you want to create anything to start set_int(global1, 1); } public obj_shutdown() { // voluntary cleanup - not needed for anything created } public obj_resize(w, h) { // handle object resize - do whatever is needed var g = get_int(global1); } public obj_signal(sig[], src[]) { // called when a signal is emitted via edje_object_signal_emit() } public obj_key_down(key[], string[], compose[], flags) { // called on a key press event if object focused } public obj_key_up(key[], string[], compose[], flags) { // called on a key release event if object focused } // now how many of these do we really need? public obj_text_class_set(class[]) { } public obj_color_class_set(class[]) { } public part_exists(part[]) { } public part_object_get(part[]) { } public part_text_set(part[], text[]) { } public part_swallow(part[], swallow[], obj) { } public part_unswallow(part[], obj) { } public part_swallow_get(part[]) { } public part_state_get(part[], state[]) { } public part_drag_dir_get(part[], &x, &y) { } public part_drag_value_set(part[], Float:dx, Float:dy) { } public part_drag_value_get(part[], &Float:dx, &Float:dy) { } public part_drag_size_set(part[], Float:dw, Float:dh) { } public part_drag_size_get(part[], &Float:dw, &Float:dh) { } public part_drag_step_set(part[], Float:dw, Float:dh) { } public part_drag_step_get(part[], &Float:dw, &Float:dh) { } public part_drag_page_set(part[], Float:dw, Float:dh) { } public part_drag_page_get(part[], &Float:dw, &Float:dh) { } public part_drag_page(part[], Float:dw, Float:dh) { } public part_drag_step(part[], Float:dw, Float:dh) { } // already done - but rename obj_message? public obj_message(Msg_Type:type, id, ...) { } } } #if 0 //helper funcs native obj_del(obj); native obj_move(obj, x, y); native obj_resize(obj, w, h); native obj_move_resize(obj, x, y, w, h); native obj_pos_get(obj, &x, &y); native obj_size_get(obj, &w, &h); native obj_geometry_get(obj, &x, &y); native obj_color_set(obj, r, g, b, a); native obj_color_get(obj, &r, &g, &b, &a); native obj_show(obj); native obj_hide(obj); native obj_visible_get(obj); native obj_raise(obj); native obj_lower(obj); native obj_raise_above(obj, obj2); native obj_lower_below(obj, obj2); native obj_raise_above(obj, obj2); native obj_above_get(obj); native obj_below_get(obj); native obj_top_get(); native obj_bottom_get(); native obj_clip_set(obj, obj2); native obj_clip_unset(obj); native obj_clip_get(obj); native obj_events_pass_set(obj, on); native obj_events_repeat_set(obj, on); native obj_events_pass_get(obj); native obj_events_repeat_get(obj); native event_freeze(); native event_thaw(); native obj_rect_add(); native obj_image_add() native obj_image_image_set(obj, image[]); native obj_image_image_get(obj, image[]); native obj_edje_add(): native obj_edje_group_set(obj, group[]); // more... add more edje controls (text_set, swallow, blah blah) //// these later... // more... ? native obj_text_add(); native obj_text_font_set(obj, font[], size); native obj_text_text_set(obj, text[]); // more... native obj_textblock_add(); // more... native obj_part_swallow_add(); // more... native obj_part_text_add(); // more... native obj_part_textblock_add(); // more... // and polygon, line, gradient... // and later - box, table, ... #endif