static MiniBrowser *browserCreate(const char *url) { MiniBrowser *app = malloc(sizeof(MiniBrowser)); app->ee = ecore_evas_new(0, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, 0); ecore_evas_title_set(app->ee, "EFL MiniBrowser"); ecore_evas_callback_resize_set(app->ee, on_ecore_evas_resize); ecore_evas_borderless_set(app->ee, 0); ecore_evas_show(app->ee); app->evas = ecore_evas_get(app->ee); app->bg = evas_object_rectangle_add(app->evas); evas_object_name_set(app->bg, "bg"); evas_object_size_hint_weight_set(app->bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_move(app->bg, 0, 0); evas_object_resize(app->bg, DEFAULT_WIDTH, DEFAULT_HEIGHT); evas_object_color_set(app->bg, 255, 150, 150, 255); evas_object_show(app->bg); /* Create webview */ app->browser = ewk_view_add(app->evas); evas_object_name_set(app->browser, "browser"); evas_object_size_hint_weight_set(app->browser, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_resize(app->browser, DEFAULT_WIDTH, DEFAULT_HEIGHT); evas_object_show(app->browser); evas_object_focus_set(app->browser, EINA_TRUE); ewk_view_uri_set(app->browser, url); return app; }
static MiniBrowser *browserCreate(const char *url, const char *engine) { MiniBrowser *app = malloc(sizeof(MiniBrowser)); app->ee = ecore_evas_new(engine, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, 0); if (!app->ee) return 0; ecore_evas_title_set(app->ee, APP_NAME); ecore_evas_callback_resize_set(app->ee, on_ecore_evas_resize); ecore_evas_borderless_set(app->ee, 0); ecore_evas_show(app->ee); ecore_evas_callback_delete_request_set(app->ee, closeWindow); app->evas = ecore_evas_get(app->ee); app->bg = evas_object_rectangle_add(app->evas); evas_object_name_set(app->bg, "bg"); evas_object_size_hint_weight_set(app->bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_move(app->bg, 0, 0); evas_object_resize(app->bg, DEFAULT_WIDTH, DEFAULT_HEIGHT); evas_object_color_set(app->bg, 255, 150, 150, 255); evas_object_show(app->bg); /* Create webview */ app->browser = ewk_view_add(app->evas); ewk_view_theme_set(app->browser, THEME_DIR"/default.edj"); evas_object_name_set(app->browser, "browser"); evas_object_smart_callback_add(app->browser, "load,error", on_error, app); evas_object_smart_callback_add(app->browser, "load,progress", on_progress, app); evas_object_smart_callback_add(app->browser, "title,changed", on_title_changed, app); evas_object_smart_callback_add(app->browser, "uri,changed", on_url_changed, app); evas_object_event_callback_add(app->browser, EVAS_CALLBACK_KEY_DOWN, on_key_down, app); evas_object_size_hint_weight_set(app->browser, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_move(app->browser, 0, URL_BAR_HEIGHT); evas_object_resize(app->browser, DEFAULT_WIDTH, DEFAULT_HEIGHT - URL_BAR_HEIGHT); evas_object_show(app->browser); evas_object_focus_set(app->browser, EINA_TRUE); app->url_bar = url_bar_add(app->browser, DEFAULT_WIDTH); ewk_view_uri_set(app->browser, url); return app; }
static void * _e_elm_win_trap_add(Evas_Object *o) { Elm_Win_Trap_Ctx *ctx = calloc(1, sizeof(Elm_Win_Trap_Ctx)); EINA_SAFETY_ON_NULL_RETURN_VAL(ctx, NULL); evas_object_name_set(o, "E_Win"); return ctx; }
void WebInspectorProxy::createInspectorWindow() { ecore_evas_title_set(m_inspectorWindow, "Web Inspector"); ecore_evas_callback_resize_set(m_inspectorWindow, resizeInspectorWindow); ecore_evas_callback_delete_request_set(m_inspectorWindow, destroyInspectorWindow); ecore_evas_show(m_inspectorWindow); evas_object_name_set(m_inspectorView, "inspector"); evas_object_move(m_inspectorView, 0, 0); evas_object_resize(m_inspectorView, initialWindowWidth, initialWindowHeight); evas_object_show(m_inspectorView); evas_object_focus_set(m_inspectorView, true); }
E_API void e_drag_object_set(E_Drag *drag, Evas_Object *object) { EINA_SAFETY_ON_NULL_RETURN(object); EINA_SAFETY_ON_TRUE_RETURN(!!drag->object); if (drag->visible) evas_object_show(object); else evas_object_hide(object); drag->object = object; drag->comp_object = e_comp_object_util_add(object, E_COMP_OBJECT_TYPE_NONE); evas_object_layer_set(drag->comp_object, drag->layer); evas_object_name_set(drag->comp_object, "E Drag"); evas_object_pass_events_set(drag->comp_object, 1); }
static bool ui_init_dragger(ePlayer *player) { Evas_Object *dragger; if (!(dragger = esmart_draggies_new(player->gui.ee))) return false; esmart_draggies_button_set(dragger, 1); evas_object_name_set(dragger, "dragger"); evas_object_move(dragger, 0, 0); evas_object_layer_set(dragger, 0); evas_object_show(dragger); esmart_draggies_event_callback_add(dragger, EVAS_CALLBACK_MOUSE_UP, cb_dragger_mouse_up, player); return true; }
/** * Add the playlist container. * * @param player */ static void setup_playlist(ePlayer *player) { if (!edje_object_part_exists(player->gui.edje, "playlist")) return; player->gui.playlist = esmart_container_new(player->gui.evas); assert(player->gui.playlist); evas_object_name_set(player->gui.playlist, "PlayList"); evas_object_data_set(player->gui.playlist, "ePlayer", player); esmart_container_direction_set(player->gui.playlist, 1); esmart_container_spacing_set(player->gui.playlist, 0); esmart_container_fill_policy_set(player->gui.playlist, CONTAINER_FILL_POLICY_FILL_X); edje_object_part_swallow(player->gui.edje, "playlist", player->gui.playlist); }
bool ui_init_edje(ePlayer *player, const char *name) { double edje_w = 0, edje_h = 0; debug(DEBUG_LEVEL_INFO, "EDJE: Defining Edje \n"); if (!(player->gui.edje = edje_object_add(player->gui.evas))) { debug(DEBUG_LEVEL_CRITICAL, "Cannot create Edje!\n"); return false; } evas_object_name_set(player->gui.edje, "main_edje"); if (!edje_object_file_set(player->gui.edje, find_theme(player->cfg.theme), name)) { debug(DEBUG_LEVEL_CRITICAL, "Cannot load theme '%s'!\n", player->cfg.theme); return false; } evas_object_move(player->gui.edje, 0, 0); evas_object_pass_events_set (player->gui.edje, 1); evas_object_show(player->gui.edje); /* set max size */ edje_object_size_max_get(player->gui.edje, &edje_w, &edje_h); ecore_evas_size_max_set(player->gui.ee, edje_w, edje_h); /* set min size */ edje_object_size_min_get(player->gui.edje, &edje_w, &edje_h); ecore_evas_size_min_set(player->gui.ee, edje_w, edje_h); /* resize to the min size */ ecore_evas_resize(player->gui.ee, (int) edje_w, (int) edje_h); setup_playlist(player); ui_refresh_volume(player); register_callbacks(player); return true; }
Url_Bar * url_bar_add(Evas_Object *webView, int width) { Evas *evas; Url_Bar *url_bar; if (!webView) return NULL; evas = evas_object_evas_get(webView); url_bar = (Url_Bar *)malloc(sizeof(Url_Bar)); url_bar->webView = webView; url_bar->area = evas_object_rectangle_add(evas); evas_object_name_set(url_bar->area, "url_barArea"); evas_object_color_set(url_bar->area, 255, 255, 255, 255); url_bar->entry = edje_object_add(evas); Eina_Bool ret = edje_object_file_set(url_bar->entry, THEME_DIR"/entry.edj", "control/entry/base/default"); if (!ret) { evas_object_del(url_bar->area); free(url_bar); return NULL; } edje_object_part_text_set(url_bar->entry, "url.text", ""); /* Set URL bar dimensions and show it */ url_bar_width_set(url_bar, width); evas_object_show(url_bar->area); evas_object_show(url_bar->entry); evas_object_event_callback_add(url_bar->entry, EVAS_CALLBACK_MOUSE_DOWN, on_urlbar_mouse_down, url_bar); evas_object_event_callback_add(url_bar->entry, EVAS_CALLBACK_KEY_DOWN, on_urlbar_key_down, url_bar); evas_object_event_callback_add(url_bar->entry, EVAS_CALLBACK_FOCUS_OUT, on_urlbar_focus_out, url_bar); return url_bar; }
void Object::setName( const std::string& name ) { evas_object_name_set( o, name.c_str() ); }
void setup_cc_with_pos(int x, int y) { ControlCentre *cc; char *edjefn = malloc(PATH_MAX); char *fontpath = malloc(PATH_MAX); Evas_Coord edje_w, edje_h; CCPos *pos; cc = malloc(sizeof(ControlCentre)); controlcentre = cc; pos = get_cc_pos(); if (x >= 0 || y >= 0) { pos->x = x; pos->y = y; } /* Setup the Window */ if (!strcmp(main_config->render_method, "gl")) { #ifdef HAVE_ECORE_EVAS_GL cc->win = ecore_evas_gl_x11_new(NULL, 0, pos->x, pos->y, pos->width, pos->height); #else dml("GL not in Ecore_Evas module. Falling back on software!", 1); free(main_config->render_method); main_config->render_method = strdup("software"); cc->win = ecore_evas_software_x11_new(NULL, 0, pos->x, pos->y, pos->width, pos->height); #endif } else cc->win = ecore_evas_software_x11_new(NULL, 0, pos->x, pos->y, pos->width, pos->height); ecore_evas_title_set(cc->win, "Enotes"); ecore_evas_name_class_set(cc->win, "Enotes", "Enotes"); if (main_config->ontop == 1) ecore_evas_layer_set(cc->win, 7); else ecore_evas_layer_set(cc->win, 2); if (main_config->sticky == 1) ecore_evas_sticky_set(cc->win, 1); else ecore_evas_sticky_set(cc->win, 0); ecore_evas_borderless_set(cc->win, 1); ecore_evas_shaped_set(cc->win, 1); if (pos->x != 0 && pos->y != 0) ecore_evas_resize(cc->win, pos->x, pos->y); ecore_evas_show(cc->win); // if(main_config->ontop==1) /* Moving the damn thing */ ecore_evas_move(cc->win, pos->x, pos->y); /* Setup the Canvas, Render-Method and Font Path */ cc->evas = ecore_evas_get(cc->win); evas_output_method_set(cc->evas, evas_render_method_lookup(main_config-> render_method)); snprintf(fontpath, PATH_MAX, "%s/fonts", PACKAGE_DATA_DIR); evas_font_path_append(cc->evas, fontpath); free(fontpath); /* Draggable Setup */ cc->dragger = esmart_draggies_new(cc->win); evas_object_name_set(cc->dragger, "dragger"); evas_object_move(cc->dragger, 0, 0); evas_object_layer_set(cc->dragger, 0); evas_object_color_set(cc->dragger, 255, 255, 255, 0); esmart_draggies_button_set(cc->dragger, 1); evas_object_show(cc->dragger); /* Setup the EDJE */ cc->edje = edje_object_add(cc->evas); snprintf(edjefn, PATH_MAX, CC_EDJE, PACKAGE_DATA_DIR, main_config->theme); edje_object_file_set(cc->edje, edjefn, CC_PART); free(edjefn); evas_object_move(cc->edje, 0, 0); evas_object_layer_set(cc->edje, 1); evas_object_name_set(cc->edje, "edje"); evas_object_pass_events_set(cc->edje, 0); evas_object_show(cc->edje); if (pos->shaded) edje_object_signal_emit(cc->edje, EDJE_SIGNAL_CC_SHADE "_GO", ""); else edje_object_signal_emit(cc->edje, EDJE_SIGNAL_CC_UNSHADE "_GO", ""); /* EDJE and ECORE min, max and resizing */ edje_object_size_max_get(cc->edje, &edje_w, &edje_h); ecore_evas_size_max_set(cc->win, edje_w, edje_h); edje_object_size_min_get(cc->edje, &edje_w, &edje_h); ecore_evas_size_min_set(cc->win, edje_w, edje_h); ecore_evas_resize(cc->win, (int) edje_w, (int) edje_h); evas_object_resize(cc->edje, edje_w, edje_h); evas_object_resize(cc->dragger, edje_w, edje_h); /* Ecore Callbacks */ ecore_evas_callback_resize_set(cc->win, cc_resize); ecore_evas_callback_destroy_set(cc->win, cc_close_win); ecore_evas_callback_delete_request_set(cc->win, cc_close_win); /* Edje Callbacks */ edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_MINIMIZE, "", (void *) cc_minimize, cc->win); edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_CLOSE, "", (void *) cc_close, NULL); edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_SAVELOAD, "", (void *) cc_saveload, NULL); edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_SETTINGS, "", (void *) cc_settings, NULL); edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_NEW, "", (void *) cc_newnote, NULL); edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_SHADE, "", (void *) cc_shade, NULL); edje_object_signal_callback_add(cc->edje, EDJE_SIGNAL_CC_UNSHADE, "", (void *) cc_unshade, NULL); free(pos); return; }
int main (int argc, char *argv[]) { Evas *evas = NULL; Ecore_Evas *ee = NULL; Ecore_X_Window win = 0; Evas_Object *o = NULL; Evas_Object *cont = NULL; Evas_Object *image = NULL; int iw, ih; ecore_init (); ecore_app_args_set (argc, (const char **) argv); ecore_event_handler_add (ECORE_EVENT_SIGNAL_EXIT, exit_cb, NULL); if (ecore_evas_init ()) { ee = ecore_evas_software_x11_new (NULL, 0, 0, 0, 300, 120); win = ecore_evas_software_x11_window_get(ee); ecore_evas_title_set (ee, "Enlightenment Thumbnail Test"); ecore_evas_callback_delete_request_set (ee, window_del_cb); ecore_evas_callback_resize_set (ee, window_resize_cb); ecore_evas_callback_move_set (ee, window_move_cb); evas = ecore_evas_get (ee); o = esmart_trans_x11_new (evas); esmart_trans_x11_type_set(o, Esmart_Trans_X11_Type_Background); esmart_trans_x11_window_set(o, win); evas_object_move (o, 0, 0); evas_object_resize (o, 300, 120); evas_object_layer_set (o, -5); evas_object_name_set (o, "root_background"); evas_object_show (o); o = evas_object_rectangle_add (evas); evas_object_move (o, 0, 0); evas_object_resize (o, 300, 120); evas_object_layer_set (o, -6); evas_object_color_set (o, 255, 255, 255, 0); evas_object_name_set (o, "background"); evas_object_show (o); o = esmart_draggies_new (ee); evas_object_move (o, 0, 0); evas_object_resize (o, 300, 120); evas_object_layer_set (o, 255); evas_object_color_set (o, 255, 255, 255, 0); evas_object_name_set (o, "dragger"); esmart_draggies_button_set (o, 1); evas_object_show (o); if (argc < 2) { image = evas_object_image_add (evas); evas_object_image_file_set (image, PACKAGE_DATA_DIR "/esmart.png", NULL); evas_object_image_size_get (image, &iw, &ih); evas_object_resize (image, iw, ih); evas_object_image_fill_set (image, 0.0, 0.0, (Evas_Coord) iw, (Evas_Coord) ih); evas_object_layer_set (image, 1000); evas_object_pass_events_set (image, 1); evas_object_show (image); } cont = esmart_container_new (evas); evas_object_move (cont, 0, 0); evas_object_resize (cont, 300, 120); evas_object_layer_set (cont, 0); evas_object_name_set (cont, "container"); evas_object_show (cont); esmart_container_padding_set (cont, 10, 10, 10, 10); esmart_container_spacing_set (cont, 5); esmart_container_fill_policy_set (cont, CONTAINER_FILL_POLICY_FILL_Y | CONTAINER_FILL_POLICY_KEEP_ASPECT); evas_object_event_callback_add (o, EVAS_CALLBACK_MOUSE_DOWN, bg_down_cb, cont); evas_object_event_callback_add (o, EVAS_CALLBACK_MOUSE_UP, bg_up_cb, cont); while (--argc) { if ((o = esmart_thumb_new (ecore_evas_get (ee), argv[argc]))) { evas_object_layer_set (o, 2); evas_object_show (o); esmart_container_element_append (cont, o); } } evas_object_resize (cont, 300, 120); ecore_evas_show (ee); if (ecore_x_composite_query()) { ee = ecore_evas_software_x11_new (NULL, 0, 0, 0, 320, 120); ecore_evas_title_set (ee, "Enlightenment Pixmap Test"); ecore_evas_callback_delete_request_set (ee, window_del_cb); ecore_evas_callback_resize_set (ee, window_resize_cb); ecore_evas_callback_move_set (ee, window_move_cb); evas = ecore_evas_get (ee); o = esmart_xpixmap_new (evas, 0, win); evas_object_move (o, 0, 0); evas_object_resize (o, 320, 120); evas_object_layer_set (o, -5); evas_object_name_set (o, "xpixmap"); evas_object_show (o); o = evas_object_rectangle_add (evas); evas_object_move (o, 0, 0); evas_object_resize (o, 150, 30); evas_object_layer_set (o, -3); evas_object_color_set (o, 50, 50, 50, 50); evas_object_name_set (o, "white_transparent_rect"); evas_object_show (o); ecore_evas_show (ee); } ecore_main_loop_begin (); } return (0); }
int main(int argc, const char *argv[]) { Ecore_Evas *ee; Evas *e; Evas_Object *bg, *em; const char *filename = NULL; const char *module = NULL; if (argc < 2) { printf("At least one argument is necessary. Usage:\n"); printf("\t%s <filename> [module_name]\n", argv[0]); goto error; } filename = argv[1]; if (argc >= 3) module = argv[2]; if (!ecore_evas_init()) return EXIT_FAILURE; /* this will give you a window with an Evas canvas under the first * engine available */ ee = ecore_evas_new(NULL, 10, 10, WIDTH, HEIGHT, NULL); if (!ee) goto error; ecore_evas_show(ee); /* the canvas pointer, de facto */ e = ecore_evas_get(ee); /* adding a background to this example */ bg = evas_object_rectangle_add(e); evas_object_name_set(bg, "our dear rectangle"); evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ evas_object_move(bg, 0, 0); /* at canvas' origin */ evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ evas_object_show(bg); /* Creating the emotion object */ em = emotion_object_add(e); /* Try to load the specified module - NULL for auto-discover */ if (!emotion_object_init(em, module)) fprintf(stderr, "Emotion: \"%s\" module could not be initialized.\n", module); _display_info(em); _setup_emotion_callbacks(em); if (!emotion_object_file_set(em, filename)) fprintf(stderr, "Emotion: Could not load the file \"%s\"\n", filename); evas_object_move(em, 0, 0); evas_object_resize(em, WIDTH, HEIGHT); evas_object_show(em); emotion_object_play_set(em, EINA_TRUE); ecore_main_loop_begin(); ecore_evas_free(ee); ecore_evas_shutdown(); return 0; ecore_evas_free(ee); error: ecore_evas_shutdown(); return -1; }
static Erss_Tooltip *erss_tooltip_new (char *description) { Erss_Tooltip *tt; int x, y, w, h; Evas_Coord ew, eh; if(description == NULL) return NULL; tt = malloc (sizeof (Erss_Tooltip)); memset (tt, 0, sizeof (Erss_Tooltip)); tt->ee = ecore_evas_software_x11_new (NULL, 0, 0, 0, 250, 80); ecore_evas_override_set(tt->ee, 1); ecore_evas_borderless_set (tt->ee, TRUE); tt->win = ecore_evas_software_x11_window_get(ee); ecore_x_netwm_window_type_set (tt->win, ECORE_X_WINDOW_TYPE_UTILITY); ecore_evas_geometry_get (tt->ee, &x, &y, &w, &h); tt->evas = ecore_evas_get (tt->ee); evas_font_path_append (tt->evas, PACKAGE_DATA_DIR"/fonts/"); tt->bg = esmart_trans_x11_new (tt->evas); evas_object_move (tt->bg, 0, 0); evas_object_layer_set (tt->bg, -5); evas_object_resize (tt->bg, w, h); evas_object_name_set(tt->bg, "root_background"); evas_object_show (tt->bg); tt->bg = evas_object_rectangle_add(tt->evas); evas_object_move (tt->bg, 0, 0); evas_object_layer_set (tt->bg, -6); evas_object_resize (tt->bg, w, h); evas_object_color_set(tt->bg, 255, 255, 255, 20); evas_object_name_set(tt->bg, "background"); evas_object_show (tt->bg); tt->etox = etox_new_all(tt->evas, x + 5, y + 5, w - 10 , h - 10, 255, ETOX_ALIGN_LEFT); etox_context_set_wrap_marker(etox_get_context(tt->etox), NULL, NULL); etox_context_set_align(etox_get_context(tt->etox), ETOX_ALIGN_LEFT); etox_context_set_font(etox_get_context(tt->etox), "Vera", 10); etox_context_set_style(etox_get_context(tt->etox), "shadow"); etox_context_set_color(etox_get_context(tt->etox), 225, 225, 225, 255); etox_set_soft_wrap(tt->etox, 1); etox_set_word_wrap(tt->etox, 1); etox_set_alpha(tt->etox, 255); evas_object_layer_set(tt->etox, 1000); etox_set_text (tt->etox, description); evas_object_show (tt->etox); evas_object_geometry_get(tt->etox, NULL, NULL, &ew, &eh); if (eh > ew) { double scale = (double)ew / (double)eh; ew = ew / scale; eh *= scale; evas_object_resize(tt->etox, ew, eh); evas_object_geometry_get(tt->etox, NULL, NULL, &ew, &eh); } ecore_evas_callback_move_set (tt->ee, erss_window_move_tooltip); ecore_evas_callback_resize_set(tt->ee, erss_window_resize); ecore_evas_resize(tt->ee, ew + 10, eh + 10); return tt; }
EOLIAN static void _jk_spinner_efl_canvas_group_group_add(Eo *obj, Jk_Spinner_Data *priv) { printf("jk spinner group group add \n"); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); JK_SPINNER_DATA_GET(obj, sd); efl_canvas_group_add(efl_super(obj, JK_SPINNER_CLASS)); elm_widget_sub_object_parent_add(obj); /* pd->rect = evas_object_rectangle_add(evas_object_evas_get(obj)); //evas_object_color_set(pd->rect, rand() % 255, rand() % 255, rand() % 255, 255/2); evas_object_show(pd->rect); evas_object_color_set(pd->rect, rand() % 255, rand() % 255, rand() % 255, 255/2); int r,g,b,a; evas_object_color_get(pd->rect, &r, &g, &b, &a); printf("color before : %d, %d, %d, %d \n", r, g, b, a); // evas_object_smart_member_add(pd->rect, obj); //elm_layout_content_set(obj, "elm.swallow.content", pd->rect); evas_object_color_get(pd->rect, &r, &g, &b, &a); printf("color after : %d, %d, %d, %d \n", r, g, b, a); evas_object_color_set(pd->rect, rand() % 255, rand() % 255, rand() % 255, 255/2); elm_widget_sub_object_add(obj, pd->rect); evas_object_color_get(pd->rect, &r, &g, &b, &a); printf("color after 222: %d, %d, %d, %d \n", r, g, b, a); */ elm_layout_file_set(obj, "edc/entry.edj", "main"); Evas_Object* en = elm_entry_add(obj); elm_entry_single_line_set(en, EINA_TRUE); elm_entry_editable_set(en, EINA_FALSE); //pd->entry = en; evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); //evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); //evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL); //elm_object_text_set(en, "<align=center>hello</align>"); //elm_entry_text_style_user_push(en, "DEFAULT='align=center'"); //elm_entry_text_style_user_push(en, "DEFAULT='color=#0f0'"); elm_entry_text_style_user_push(en, user_style); evas_object_data_set(obj, "realentry", en); const char* cur_style = elm_entry_text_style_user_peek(en); /* if (cur_style) printf("Current style user: %s\n", cur_style); else printf("Style user stack is empty.\n"); */ const char* yep = "aaa"; /* elm_object_text_set(en, "aaa"); if (test == 1) yep = "xxx"; if (test == 2) yep = "yyy"; if (test == 3) yep = "zzz"; test++; */ elm_object_text_set(en, yep); evas_object_name_set(en, yep); //elm_entry_scrollable_set(en, EINA_TRUE); //elm_entry_scrollbar_policy_set(en, // ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); //evas_object_smart_member_add(rect, en); elm_layout_content_set(obj, "content", en); elm_widget_sub_object_add(obj, en); evas_object_show(en); elm_widget_can_focus_set(obj, EINA_TRUE); elm_layout_sizing_eval(obj); evas_object_data_set(en, "smart", obj); /* evas_object_smart_callback_add(en, "activated", _entry_activated, obj); evas_object_smart_callback_add(en, "unfocused", _entry_unfocused, obj); evas_object_smart_callback_add(en, "changed,user", _entry_changed, obj); //evas_object_smart_callback_add(en, "focused", _select_all, pd); //evas_object_smart_callback_add(en, "selection,changed", _print_signal, "selection changed"); evas_object_smart_callback_add(en, "selection,cleared", _entry_cleared, pd); //evas_object_smart_callback_add(en, "selection,start", _print_signal, "selection start"); //evas_object_smart_callback_add(en, "clicked", _print_signal, "clicked"); //evas_object_smart_callback_add(en, "cursor,changed", _print_signal, "cursor,changed"); //evas_object_smart_callback_add(en, "cursor,changed,manual", _print_signal, "cursor,changed,manual"); elm_layout_signal_callback_add(obj, "mouse,down,1", "bg",_ondown, pd); elm_layout_signal_callback_add(obj, "mouse,move", "bg", _onmove, obj); elm_layout_signal_callback_add(obj, "mouse,up,1", "bg", _onup, obj); elm_layout_signal_callback_add(obj, "mouse,clicked,1", "bg", _onclicked, pd); elm_layout_signal_callback_add(obj, "drag", "*", _drag_cb, obj); elm_layout_signal_callback_add(obj, "drag,start", "*", _drag_start_cb, obj); elm_layout_signal_callback_add(obj, "drag,stop", "*", _drag_stop_cb, obj); elm_layout_signal_callback_add(obj, "drag,step", "*", _drag_stop_cb, obj); elm_layout_signal_callback_add(obj, "drag,page", "*", _drag_stop_cb, obj); */ }
int main(int argc, const char *argv[]) { Ecore_Evas *ee; Evas *e; Evas_Object *bg, *em; int i; if (argc < 2) { printf("One argument is necessary. Usage:\n"); printf("\t%s <filename>\n", argv[0]); } eina_init(); for (i = 1; i < argc; i++) filenames = eina_list_append(filenames, eina_stringshare_add(argv[i])); curfile = filenames; if (!ecore_evas_init()) return EXIT_FAILURE; /* this will give you a window with an Evas canvas under the first * engine available */ ee = ecore_evas_new(NULL, 10, 10, WIDTH, HEIGHT, NULL); if (!ee) goto error; ecore_evas_show(ee); /* the canvas pointer, de facto */ e = ecore_evas_get(ee); /* adding a background to this example */ bg = evas_object_rectangle_add(e); evas_object_name_set(bg, "our dear rectangle"); evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ evas_object_move(bg, 0, 0); /* at canvas' origin */ evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ evas_object_show(bg); /* Creating the emotion object */ em = _create_emotion_object(e); emotion_object_file_set(em, eina_list_data_get(curfile)); evas_object_move(em, 0, 0); evas_object_resize(em, WIDTH, HEIGHT); evas_object_show(em); evas_object_smart_callback_add(em, "frame_decode", _frame_decode_cb, NULL); evas_object_smart_callback_add(em, "length_change", _length_change_cb, NULL); evas_object_smart_callback_add(em, "position_update", _position_update_cb, NULL); evas_object_smart_callback_add(em, "progress_change", _progress_change_cb, NULL); evas_object_smart_callback_add(em, "frame_resize", _frame_resize_cb, NULL); evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, _on_key_down, em); evas_object_focus_set(bg, EINA_TRUE); emotion_object_play_set(em, EINA_TRUE); ecore_main_loop_begin(); ecore_evas_free(ee); ecore_evas_shutdown(); return 0; error: fprintf(stderr, "you got to have at least one evas engine built and linked" " up to ecore-evas for this example to run properly.\n"); EINA_LIST_FREE(filenames, curfile) eina_stringshare_del(eina_list_data_get(curfile)); ecore_evas_shutdown(); eina_shutdown(); return -1; }
int main(int argc, char *argv[]) { Ecore_Evas *ee; Evas *evas; Evas_Object *textblock; Evas_Object *background; Ertf_Document *doc; Ertf_Page *epage; int w, h, dpi; int pageno; if (argc < 3) { printf ("Usage: %s file.rtf <page_number>\n", argv[0]); return EXIT_FAILURE; } if (!ecore_evas_init()) return EXIT_FAILURE; if (!ertf_init()) goto shutdown_ecore_evas; ee = ecore_evas_new("software_x11", 0, 0, 1024, 768, NULL); if (!ee) goto shutdown_ertf; ecore_evas_title_set(ee, "Ertf Evas test"); ecore_evas_callback_delete_request_set(ee, _ertf_cb_delete); evas = ecore_evas_get(ee); doc = ertf_document_new(argv[1]); if (!doc) goto shutdown_ertf; epage = ertf_page_new(doc); if (!epage) goto free_doc; #ifdef USE_DPI dpi = ecore_x_dpi_get(); ertf_twip_scale_factor_set(dpi); printf("Using dpi.\n"); #endif ertf_document_size_get(doc, &w, &h); ecore_evas_resize(ee, w, h); ecore_evas_show(ee); if (!ertf_document_parse(doc)) goto free_page; printf ("Filename : %s\n", ertf_document_filename_get(doc)); printf ("Version : %d\n", ertf_document_version_get(doc)); /* background */ background = evas_object_rectangle_add(evas); evas_object_color_set(background, 255, 255, 255, 255); evas_object_move(background, 0, 0); evas_object_resize(background, w, h); evas_object_name_set(background, "background"); evas_object_show(background); /* create an textblock object */ textblock = evas_object_textblock_add(evas); sscanf(argv[2], "%d", &pageno); ertf_page_page_set(epage, pageno); ertf_page_render(epage, textblock); evas_object_move(textblock, 0, 0); evas_object_resize(textblock, w, h); evas_object_show(textblock); ecore_main_loop_begin (); evas_object_del(textblock); ertf_page_free(epage); ertf_document_free(doc); ertf_shutdown(); ecore_evas_shutdown(); return EXIT_SUCCESS; free_page: ertf_page_free(epage); free_doc: ertf_document_free(doc); shutdown_ertf: ertf_shutdown(); shutdown_ecore_evas: ecore_evas_shutdown(); return EXIT_FAILURE; }
EINA_LIST_FREE(sources, rp) { /* XXX: curr_item and pack_it don't require to be NULL since * XXX: they are just used when source != NULL and type == BOX, * XXX: and they're always set in this case, but GCC fails to * XXX: notice that, so let's shut it up */ Edje_Pack_Element **curr_item = NULL; unsigned int item_count = 0; Edje_Pack_Element *pack_it = NULL; const char *source = NULL; switch (rp->part->type) { case EDJE_PART_TYPE_GROUP: source = rp->part->source; break; case EDJE_PART_TYPE_BOX: case EDJE_PART_TYPE_TABLE: if (rp->part->items) { curr_item = rp->part->items; item_count = rp->part->items_count; if (item_count > 0) { pack_it = *curr_item; source = pack_it->source; item_count--; curr_item++; } } break; default: /* This list should only be filled by group, box or table, nothing else. */ abort(); continue; } while (source) { Eina_List *l; Evas_Object *child_obj; const char *group_path_entry = eina_stringshare_add(source); const char *data; if (!group_path) { group_path = eina_list_append(NULL, eina_stringshare_add(group)); group_path_started = 1; } /* make sure that this group isn't already in the tree of parents */ EINA_LIST_FOREACH(group_path, l, data) { if (data == group_path_entry) { ERR("recursive loop group '%s' already included inside part '%s' of group '%s' from file '%s'", group_path_entry, rp->part->name, group, file); textblocks = eina_list_free(textblocks); externals = eina_list_free(externals); sources = eina_list_free(sources); _edje_thaw(ed); _edje_unblock(ed); _edje_unref(ed); _edje_file_del(ed); eina_stringshare_del(group_path_entry); if (group_path_started) { eina_stringshare_del(eina_list_data_get(group_path)); eina_list_free(group_path); } ed->load_error = EDJE_LOAD_ERROR_RECURSIVE_REFERENCE; evas_event_thaw(tev); evas_event_thaw_eval(tev); return 0; } } child_obj = edje_object_add(ed->base.evas); group_path = eina_list_append(group_path, group_path_entry); if (rp->part->type == EDJE_PART_TYPE_GROUP) { _edje_real_part_swallow(rp, child_obj, EINA_FALSE); } if (!_edje_object_file_set_internal(child_obj, file, source, rp->part->name, group_path)) { ERR("impossible to set part '%s' of group '%s' from file '%s' to '%s'", rp->part->name, group_path_entry, file, source); textblocks = eina_list_free(textblocks); externals = eina_list_free(externals); sources = eina_list_free(sources); _edje_thaw(ed); _edje_unblock(ed); _edje_unref(ed); _edje_file_del(ed); if (group_path_started) { while (group_path) { eina_stringshare_del(eina_list_data_get(group_path)); group_path = eina_list_remove_list(group_path, group_path); } } ed->load_error = edje_object_load_error_get(child_obj); evas_object_del(child_obj); evas_event_thaw(tev); evas_event_thaw_eval(tev); return 0; } group_path = eina_list_remove(group_path, group_path_entry); eina_stringshare_del(group_path_entry); edje_object_propagate_callback_add(child_obj, _cb_signal_repeat, obj); if (rp->part->type == EDJE_PART_TYPE_GROUP) { _edje_real_part_swallow(rp, child_obj, EINA_TRUE); _edje_subobj_register(ed, child_obj); source = NULL; } else { pack_it->parent = rp; _edje_object_pack_item_hints_set(child_obj, pack_it); if (pack_it->name) evas_object_name_set(child_obj, pack_it->name); if (rp->part->type == EDJE_PART_TYPE_BOX) { _edje_real_part_box_append(rp, child_obj); evas_object_data_set(child_obj, "\377 edje.box_item", pack_it); } else if (rp->part->type == EDJE_PART_TYPE_TABLE) { _edje_real_part_table_pack(rp, child_obj, pack_it->col, pack_it->row, pack_it->colspan, pack_it->rowspan); evas_object_data_set(child_obj, "\377 edje.table_item", pack_it); } _edje_subobj_register(ed, child_obj); evas_object_show(child_obj); rp->items = eina_list_append(rp->items, child_obj); if (item_count > 0) { pack_it = *curr_item; source = pack_it->source; curr_item++; item_count--; } else { source = NULL; curr_item = NULL; pack_it = NULL; } } } }