int main(int argc, char **argv) { init_efl(); char *theme = find_theme(); if (!theme) fatal("Could not find theme"); Ecore_Evas *ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 400, 400); if (!ee) { fprintf(stderr, "FATAL: Could not get an ee...\n"); exit(1); } Ecore_X_Screen_Size sz = get_screen_size(ee); ecore_evas_resize(ee, sz.width, sz.height); ecore_evas_title_set(ee, "Launcher"); ecore_evas_borderless_set(ee, 1); ecore_evas_fullscreen_set(ee, 1); Evas *evas = ecore_evas_get(ee); Evas_Object *edje = edje_object_add(evas); edje_object_file_set(edje, theme, "main"); evas_object_move(edje, 0, 0); evas_object_resize(edje, sz.width, sz.height); evas_object_show(edje); ecore_evas_show(ee); ecore_main_loop_begin(); shutdown_efl(); return 0; }
EvasWindowSoftwareX11::EvasWindowSoftwareX11( const Eflxx::Size &size, const char* display ) : EvasWindow(), mExwin (NULL) { Dout( dc::notice, "EvasWindow::EvasWindowSoftwareX11" ); Application::getInstance()->setMainWindow( this ); /*if ( ::getenv( "EFL_DISPLAY" ) ) display = ::getenv( "EFL_DISPLAY" ); if ( ::getenv( "EFL_WIDTH" ) ) size.width (atoi( ::getenv( "EFL_WIDTH" ) )); if ( ::getenv( "EFL_HEIGHT" ) ) size.height (atoi( ::getenv( "EFL_HEIGHT" ) ));*/ Dout( dc::notice, "- detected display string '" << ( display ? display:"<null>" ) << "' - starting X11 engine" ); //FIXME: Should we care about positioning? 0, 0 for now _ee = ecore_evas_software_x11_new( const_cast<char*>( display ), 0, 0, 0, size.width (), size.height () ); ecore_evas_title_set( _ee, Application::getInstance()->getName().c_str() ); ecore_evas_borderless_set( _ee, 0 ); _canvas = Evasxx::Canvas::wrap ( ecore_evas_get( _ee ) ); /* Set up magic object back link */ ecore_evas_data_set( _ee, "obj_c++", this ); /* Set up default callbacks */ setEventEnabled( Resize, true ); setEventEnabled( DeleteRequest, true ); }
Elicit_Band * elicit_band_new(const char *theme_file) { Elicit_Band *band; band = calloc(1, sizeof(Elicit_Band)); //XXX allow other engines band->ee = ecore_evas_software_x11_new(0,0,0,0,10,10); ecore_evas_borderless_set(band->ee, 1); if (ecore_x_screen_is_composited(0)) ecore_evas_alpha_set(band->ee, 1); else ecore_evas_shaped_set(band->ee, 1); band->obj = edje_object_add(ecore_evas_get(band->ee)); //XXX theme file! if (!edje_object_file_set(band->obj, theme_file, "elicit.band")) { fprintf(stderr, "[Elicit] Error: Can't set band theme\n"); } evas_object_move(band->obj, 0, 0); evas_object_show(band->obj); return band; }
EcoreEvasWindowSoftwareX11::EcoreEvasWindowSoftwareX11( int width, int height, const char* display ) :EcoreEvasWindow() { Dout( dc::notice, "EcoreEvasWindow::EcoreEvasWindowSoftwareX11" ); EcoreApplication::application()->setMainWindow( this ); if ( ::getenv( "EFL_DISPLAY" ) ) display = ::getenv( "EFL_DISPLAY" ); if ( ::getenv( "EFL_WIDTH" ) ) width = atoi( ::getenv( "EFL_WIDTH" ) ); if ( ::getenv( "EFL_HEIGHT" ) ) height = atoi( ::getenv( "EFL_HEIGHT" ) ); Dout( dc::notice, "- detected display string '" << ( display ? display:"<null>" ) << "' - starting X11 engine" ); //FIXME: Should we care about positioning? 0, 0 for now _ee = ecore_evas_software_x11_new( const_cast<char*>( display ), 0, 0, 0, width, height ); ecore_evas_title_set( _ee, eApp->name().c_str() ); ecore_evas_borderless_set( _ee, 0 ); _canvas = new EvasCanvas( ecore_evas_get( _ee ) ); /* Set up magic object back link */ ecore_evas_data_set( _ee, "obj_c++", this ); /* Set up default callbacks */ setEventEnabled( Resize, true ); setEventEnabled( DeleteRequest, true ); }
/* Initializes the created window */ static void _window_constructor(Etk_Window *window) { /* We _MUST_ initialize and create the ecore_evas and the x_window * variables in the engine_data since they are used by the "ecore_evas_x11" engine */ Etk_Engine_Window_Data *engine_data; engine_data = malloc(sizeof(Etk_Engine_Window_Data)); window->engine_data = engine_data; ETK_ENGINE_ECORE_EVAS_WINDOW_DATA(engine_data)->ecore_evas = ecore_evas_software_x11_new(NULL, 0, 0, 0, 0, 0); engine_data->x_window = ecore_evas_software_x11_window_get(ETK_ENGINE_ECORE_EVAS_WINDOW_DATA(engine_data)->ecore_evas); engine_info.super->window_constructor(window); }
static Ecore_Evas * init_ecore_evas(const char *engine) { Ecore_Evas *ee = NULL; if (strcmp(engine, "x11-16") == 0) if (ecore_evas_engine_type_supported_get (ECORE_EVAS_ENGINE_SOFTWARE_X11_16)) { ee = ecore_evas_software_x11_16_new(NULL, 0, 0, 0, WIDTH, HEIGHT); fprintf(stderr, "Using X11 16bpp engine!\n"); } else { ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, WIDTH, HEIGHT); fprintf(stderr, "Using X11 engine!\n"); } else if (strcmp(engine, "x11") == 0) { ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, WIDTH, HEIGHT); fprintf(stderr, "Using X11 engine!\n"); } return ee; }
int main(int argc, const char **argv) { Ecore_X_Window win; ecore_init(); ecore_app_args_set(argc, argv); if (!ecore_evas_init()) return -1; ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, win_w, win_h); if (!ee) return 1; win = ecore_evas_software_x11_window_get(ee); ecore_evas_title_set(ee, "Etox Selection Test"); ecore_evas_show(ee); /* setup callbacks for events */ ecore_event_handler_add(ECORE_X_EVENT_MOUSE_MOVE, e_mouse_move, NULL); ecore_event_handler_add(ECORE_X_EVENT_MOUSE_BUTTON_DOWN, e_mouse_down, NULL); ecore_event_handler_add(ECORE_X_EVENT_MOUSE_BUTTON_UP, e_mouse_up, NULL); ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, sig_exit, NULL); evas = ecore_evas_get(ee); evas_font_path_append(evas, FONT_DIRECTORY); /* program does its data setup here */ setup(); ecore_evas_callback_resize_set(ee, window_resize); /* and now loop forever handling events */ ecore_main_loop_begin(); evas_object_del(e_msg); evas_object_del(e_test); while (pbuttons) { panel_button_free(pbuttons->data); pbuttons = eina_list_remove(pbuttons, pbuttons->data); } evas_free(evas); return 0; argc = 0; argv = NULL; }
//Create a new menu //The parent menu will have to be destroyed by eclair_menu_free //Return NULL if failed Eclair_Menu *eclair_menu_new(Eclair_Engine menu_engine) { Eclair_Menu *menu; Ecore_X_Window_State window_states[2]; menu = calloc(1, sizeof(Eclair_Menu)); menu->engine = menu_engine; if (menu_engine == ECLAIR_GL) { menu->window = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 0, 0); menu->x_window = ecore_evas_gl_x11_window_get(menu->window); } else { menu->window = ecore_evas_software_x11_new(NULL, 0, 0, 0, 0, 0); menu->x_window = ecore_evas_software_x11_window_get(menu->window); } ecore_evas_title_set(menu->window, "eclair menu"); ecore_evas_name_class_set(menu->window, "eclair", "Eclair"); window_states[0] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR; window_states[1] = ECORE_X_WINDOW_STATE_SKIP_PAGER; ecore_x_netwm_window_state_set(menu->x_window, window_states, 2); ecore_evas_borderless_set(menu->window, 1); menu->evas = ecore_evas_get(menu->window); menu->edje_object = edje_object_add(menu->evas); if (!edje_object_file_set(menu->edje_object, ECLAIR_WIDGETS_THEME, "eclair_menu")) { evas_object_del(menu->edje_object); ecore_evas_free(menu->window); free(menu); return NULL; } evas_object_move(menu->edje_object, 0, 0); evas_object_show(menu->edje_object); ecore_evas_data_set(menu->window, "eclair_menu", menu); ecore_evas_callback_resize_set(menu->window, _eclair_menu_resize_cb); ecore_evas_hide(menu->window); return menu; }
int main (int argc, char * argv[]) { Edvi_Device *device; Edvi_Property *property; Edvi_Document *document; Edvi_Page *page; Ecore_Evas *ee; Evas *evas; Evas_Object *o; char *param_kpathsea_mode = "cx"; int page_number; int width; int height; if (argc < 3) { printf ("\nUsage: %s file.dvi page_number\n\n", argv[0]); return EXIT_FAILURE; } printf ("[DVI] version : %s\n", edvi_version_get ()); if (!edvi_init (300, param_kpathsea_mode, 4, 1.0, 1.0, 0, 255, 255, 255, 0, 0, 0)) { return EXIT_FAILURE; } device = edvi_device_new (edvi_dpi_get (), edvi_dpi_get ()); if (!device) { goto shutdown; } property = edvi_property_new (); if (!property) { goto free_device; } edvi_property_property_set (property, EDVI_PROPERTY_DELAYED_FONT_OPEN); document = edvi_document_new (argv[1], device, property); if (!document) { goto free_property; } sscanf (argv[2], "%d", &page_number); page = edvi_page_new (document); if (!page) { goto free_document; } edvi_page_page_set (page, page_number); edvi_page_size_get (page, &width, &height); if (!ecore_init()) { goto free_page; } if (!ecore_evas_init()) { goto shutdown_ecore; } ee = ecore_evas_software_x11_new (NULL, 0, 0, 0, width, height); /* these tests can be improved... */ if (!ee) { printf ("Can not find Software X11 engine. Trying DirectDraw engine...\n"); ee = ecore_evas_software_ddraw_new (NULL, 0, 0, width, height); if (!ee) { goto shutdown_ecore_evas; } } ecore_event_handler_add (ECORE_EVENT_SIGNAL_EXIT, app_signal_exit, NULL); ecore_evas_callback_delete_request_set (ee, app_delete_request); ecore_evas_title_set (ee, "Evas Dvi Test"); ecore_evas_name_class_set (ee, "evas_dvi_test", "test_evas_dvi"); ecore_evas_callback_resize_set (ee, app_resize); ecore_evas_show (ee); evas = ecore_evas_get (ee); o = evas_object_image_add (evas); evas_object_move (o, 0, 0); _evas_object_bg_set (o, 255, 255, 255); edvi_page_render (page, device, o); evas_object_show (o); ecore_main_loop_begin (); ecore_evas_shutdown (); ecore_shutdown (); evas_shutdown (); edvi_page_delete (page); edvi_document_delete (document); edvi_property_delete (property); edvi_device_delete (device); edvi_shutdown (); return EXIT_SUCCESS; shutdown_ecore_evas: ecore_evas_shutdown (); shutdown_ecore: ecore_shutdown (); free_page: edvi_page_delete (page); free_document: edvi_document_delete (document); free_property: edvi_property_delete (property); free_device: edvi_device_delete (device); shutdown: edvi_shutdown (); return EXIT_FAILURE; }
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; }
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); }
Elicit * elicit_new() { Elicit *el; char buf[PATH_MAX]; char *dir; el = calloc(sizeof(Elicit), 1); el->ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 500, 500); if (!el->ee) { fprintf(stderr, "[Elicit] Error creating new ecore evas\n"); free(el); return NULL; } el->evas = ecore_evas_get(el->ee); ecore_evas_title_set(el->ee, "Elicit"); ecore_evas_name_class_set(el->ee, "Elicit", "Elicit"); ecore_evas_borderless_set(el->ee, 1); // XXX get correct screen number if (ecore_x_screen_is_composited(0)) ecore_evas_alpha_set(el->ee, 1); else ecore_evas_shaped_set(el->ee, 1); ecore_evas_data_set(el->ee, "Elicit", el); ecore_evas_callback_resize_set(el->ee, cb_ee_resize); ecore_evas_callback_mouse_in_set(el->ee, cb_ee_mouse_in); ecore_evas_callback_mouse_out_set(el->ee, cb_ee_mouse_out); ecore_event_handler_add(ECORE_X_EVENT_WINDOW_CONFIGURE, cb_x_configure, el); el->obj.main = edje_object_add(el->evas); /* setup paths */ dir = br_find_data_dir(DATADIR); snprintf(buf, sizeof(buf), "%s/%s/", dir, PACKAGE); if (!ecore_file_exists(buf)) { fprintf(stderr, "[Elicit] Warning: falling back to hardcoded data dir.\n"); snprintf(buf, sizeof(buf), "%s/%s/", DATADIR, PACKAGE); } el->path.datadir = strdup(buf); free(dir); if (getenv("HOME")) { snprintf(buf, sizeof(buf), "%s/.e/apps/elicit/", getenv("HOME")); if (!ecore_file_is_dir(buf)) ecore_file_mkpath(buf); el->path.confdir = strdup(buf); snprintf(buf, sizeof(buf), "%s/.e/apps/elicit/elicit.conf", getenv("HOME")); el->path.conffile = strdup(buf); snprintf(buf, sizeof(buf), "%s/.e/apps/elicit/elicit.gpl", getenv("HOME")); el->path.palette = strdup(buf); } /* color */ el->color = color_new(); color_callback_changed_add(el->color, cb_color_changed, el); /* palette */ el->palette = palette_new(); palette_load(el->palette, el->path.palette); return el; }
void create_view(void) { // Window win, ewin; Evas *evas; Ecore_Evas * ee; int x, y, w, h, res; int maxcol; int engine; char *fontdir; int font_cache, image_cache; char buf[4096]; char *s; E_DB_INT_GET(shell->rcfile, "/main_win/win_x", x, res); ENGY_ASSERT(res); E_DB_INT_GET(shell->rcfile, "/main_win/win_y", y, res); ENGY_ASSERT(res); E_DB_INT_GET(shell->rcfile, "/main_win/win_w", w, res); ENGY_ASSERT(res); E_DB_INT_GET(shell->rcfile, "/main_win/win_h", h, res); ENGY_ASSERT(res); E_DB_STR_GET(shell->rcfile, "/aliases", (shell->aliases), res); ENGY_ASSERT(res); E_DB_INT_GET(shell->rcfile, "/maxcolors", maxcol, res); ENGY_ASSERT(res); E_DB_INT_GET(shell->rcfile, "/rendermethod", engine, res); ENGY_ASSERT(res); if (render_method != -1) engine = render_method; E_DB_INT_GET(shell->rcfile, "/maximagecache", image_cache, res); ENGY_ASSERT(res); E_DB_INT_GET(shell->rcfile, "/maxfontcache", font_cache, res); ENGY_ASSERT(res); E_DB_STR_GET(shell->rcfile, "/fontdir", s, res); ENGY_ASSERT(res); if (s[0] != '/') { snprintf(buf, 4000,"%s/%s", shell->home, s); imlib_add_path_to_font_path(buf); fontdir = DUP(buf); } else { imlib_add_path_to_font_path(s); fontdir = DUP(s); } FREE(s); /* win = ecore_window_new(0, x, y, w, h); ecore_window_set_events(win, XEV_CONFIGURE | XEV_KEY); evas = evas_new_all(ecore_display_get(), win, 0, 0, w, h, engine, maxcol, font_cache, image_cache, fontdir); ENGY_ASSERTS(evas, "evas_new"); FREE(fontdir); evas_set_output_viewport(evas, 0, 0, w, h); ewin = evas_get_window(evas); ecore_window_set_events(ewin, XEV_EXPOSE | XEV_BUTTON | XEV_MOUSE_MOVE); */ if (!ecore_x_init(NULL)) exit(-1); //LOG_AND_RETURN (ERR_EFL); if (!ecore_evas_init()) exit(-1); //LOG_AND_RETURN (ERR_EFL); ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 640, 480); if (!ee) exit(-1); //LOG_AND_RETURN (ERR_EFL); evas = ecore_evas_get(ee); evas_font_path_prepend(evas, fontdir); FREE(fontdir); ecore_evas_callback_delete_request_set(ee, engy_delete_request); ecore_evas_callback_pre_render_set(ee, engy_pre_rend); ecore_evas_callback_post_render_set(ee, engy_post_rend); ecore_evas_callback_resize_set(ee, engy_resize); ecore_evas_name_class_set(ee, "engy", "main"); ecore_evas_show(ee); _get_title_dcd(); shell->title = my_iconv(shell->title_dcd, TITLE); ecore_evas_title_set(ee, shell->title); shell->evas = evas; shell->win = ecore_evas_software_x11_window_get(ee); shell->ee = ee; shell->w = w; shell->h = h; // GLS // ecore_set_blank_pointer(win); // ecore_window_set_title(win, shell->title); // my_evas_init(); _shell_bg_create(); menu_init(); // GLS engy_cl_init(); cl_configure(w, h); log_init(); info_init(); info_sync(); panel_init(); pointer_init(); serv_init(); logo_init(); alias_init(); // evas_render(shell->evas); }
int main(int argc, char **argv){ Ecore_Evas *ee = NULL; Evas_Object *bg; Evas *e; int i; int set = 0,usegl = 0; srand(time(NULL)); ecore_init(); ecore_evas_init(); for (i = 0 ; i < argc ; i ++){ char *arg = argv[i]; printf("Arg is %s\n",arg); if (strcmp(arg,"-gl") == 0) usegl = 1; if (arg[0] == '-' && isdigit(arg[1])){ set = strtol(arg + 1, NULL, 0); } } if (set < 0 || set >= N_SETS){ printf("Invalid set: 0 to %d only\n",set); exit(1); } if (usegl){ ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0, WINDOW_WIDTH,WINDOW_HEIGHT); if (!ee) exit(1); printf("GL!\n"); } /* FIXME: Also support GL engine */ if (!ee) ee = ecore_evas_software_x11_new(NULL,0,0,0, WINDOW_WIDTH,WINDOW_HEIGHT); if (!ee){ printf("Unable to create ecore evas\n"); return 1; } e = ecore_evas_get(ee); if (!e){ printf("Unable to get 'e'\n"); return 1; } bg = evas_object_rectangle_add(e); evas_object_color_set(bg, 200,200,200,255); /* FIXME: Scale to window size */ evas_object_resize(bg, WINDOW_WIDTH, WINDOW_HEIGHT); evas_object_event_callback_add(bg, EVAS_CALLBACK_KEY_DOWN, key_down, NULL); ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, (void*)key_down, NULL); evas_object_focus_set(bg,true); evas_object_show(bg); sets[set](e); ecore_evas_show(ee); ecore_main_loop_begin(); return 0; }
int main(int argc, char *argv[]) { app_t app; int i; Evas_Object *o; ecore_init(); ecore_app_args_set(argc, (const char **)argv); ecore_evas_init(); edje_init(); edje_frametime_set(1.0 / 30.0); memset(&app, 0, sizeof(app)); app.ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, WIDTH, HEIGHT); ecore_evas_data_set(app.ee, "app", &app); ecore_evas_title_set(app.ee, TITLE); ecore_evas_name_class_set(app.ee, WM_NAME, WM_CLASS); app.theme = THEME; for (i=1; i < argc; i++) if (strcmp (argv[i], "-fs") == 0) ecore_evas_fullscreen_set(app.ee, 1); else if (strncmp (argv[i], "-theme=", sizeof("-theme=") - 1) == 0) app.theme = argv[i] + sizeof("-theme=") - 1; else if (argv[i][0] != '-') app.infile = argv[i]; app.evas = ecore_evas_get(app.ee); app.edje_main = edje_object_add(app.evas); evas_data_attach_set(app.evas, &app); if (!edje_object_file_set(app.edje_main, app.theme, THEME_GROUP)) { fprintf(stderr, "Failed to load file \"%s\", part \"%s\".\n", app.theme, THEME_GROUP); return 1; } evas_object_move(app.edje_main, 0, 0); evas_object_resize(app.edje_main, WIDTH, HEIGHT); app.e_box = e_box_add(app.evas); e_box_orientation_set(app.e_box, 0); e_box_homogenous_set(app.e_box, 0); e_box_align_set(app.e_box, 0.0, 0.5); edje_object_part_swallow(app.edje_main, "contents_swallow", app.e_box); evas_object_show(app.edje_main); evas_object_show(app.e_box); ecore_evas_show(app.ee); _populate(&app); app.scroll.initial_delay_ms = 750; app.scroll.accel_ms = 600; setup_gui_list(&app); ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, app_signal_exit, NULL); ecore_evas_callback_resize_set(app.ee, resize_cb); evas_object_event_callback_add(app.edje_main, EVAS_CALLBACK_KEY_DOWN, key_down, &app); evas_object_focus_set(app.edje_main, 1); o = edje_object_part_object_get(app.edje_main, "back_button"); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, mouse_down_back_button, &app); ecore_main_loop_begin(); return 0; }
int main(int argc, char **argv) { ecore_init(); ecore_evas_init(); edje_init(); char * display = getenv("DISPLAY"); if (! display) display = (char *)strdup(":0.0"); if (!e_lib_init(display)) { fprintf(stderr, "Cannot connect to a running e17\n"); edje_shutdown(); ecore_shutdown(); return 1; } ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, WIDTH, HEIGHT); ecore_evas_title_set(ee, "eThemes (connecting...)"); ecore_evas_name_class_set(ee, "eThemes", "eThemes"); ecore_evas_show(ee); evas = ecore_evas_get(ee); background = edje_object_add(evas); evas_object_move(background, 0,0); evas_object_resize(background, barwidth, HEIGHT); evas_object_show(background); e_preview_thumb_init(); preview = e_preview_new(evas); preview_clip = evas_object_rectangle_add(evas); evas_object_move(preview_clip, barwidth, 0); evas_object_resize(preview_clip, WIDTH - barwidth, HEIGHT); evas_object_show(preview_clip); evas_object_clip_set (preview, preview_clip); last_button = NULL; ecore_evas_callback_resize_set(ee, _resize_cb); ecore_event_handler_add(E_RESPONSE_THEME_GET, ethemes_init, NULL); e_lib_theme_get("theme"); ecore_main_loop_begin(); /* free ethemes */ int n = eina_list_count(themes); for ( n -= 1; n>=0; n--) { Etheme_Object * o; o = eina_list_nth(themes, n); etheme_free(o); } eina_list_free(themes); /* free canvas objects */ evas_object_del(container); evas_object_del(container_outer); evas_object_del(b_apply); evas_object_del(b_default); evas_object_del(b_exit); evas_object_del(background); evas_object_del(preview); evas_object_del(preview_clip); if (selected_theme) free(selected_theme); if (default_theme) free(default_theme); edje_shutdown(); ecore_shutdown(); return 0; }
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; }
bool ui_init(ePlayer *player) { int zero = 0; char buf[PATH_MAX]; debug(DEBUG_LEVEL_INFO, "Starting setup\n"); ecore_init(); ecore_evas_init(); edje_init(); ewl_init(&zero, NULL); ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, app_signal_exit, NULL); #ifdef HAVE_ECORE_EVAS_GL if (!strcasecmp(player->cfg.evas_engine, "gl")) { debug(DEBUG_LEVEL_INFO, "Starting EVAS GL X11\n"); player->gui.ee = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 0, 0); } else #endif #ifdef HAVE_ECORE_EVAS_FB if (!strcasecmp(player->cfg.evas_engine, "fb")) { debug(DEBUG_LEVEL_INFO, "Starting EVAS FB\n"); player->gui.ee = ecore_evas_fb_new(NULL, 0, 0, 0); } else #endif { debug(DEBUG_LEVEL_INFO, "Starting EVAS X11\n"); player->gui.ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 0, 0); } if (!player->gui.ee) { debug(DEBUG_LEVEL_CRITICAL, "Cannot create Ecore Evas (using %s engine)\n", player->cfg.evas_engine); return false; } ecore_evas_title_set(player->gui.ee, "ePlayer"); ecore_evas_name_class_set(player->gui.ee, "ecore_test", "test_evas"); ecore_evas_borderless_set(player->gui.ee, 1); ecore_evas_shaped_set(player->gui.ee, 1); ecore_evas_callback_pre_render_set(player->gui.ee, cb_ee_pre_render); ecore_evas_callback_post_render_set(player->gui.ee, cb_ee_post_render); ecore_evas_callback_resize_set(player->gui.ee, cb_ee_resize); ecore_evas_show(player->gui.ee); player->gui.evas = ecore_evas_get(player->gui.ee); snprintf(buf, sizeof(buf), "%s/.e/apps/%s/fonts", getenv("HOME"), PACKAGE); evas_font_path_append(player->gui.evas, buf); evas_font_path_append(player->gui.evas, DATA_DIR "/fonts"); evas_font_path_append(player->gui.evas, "/usr/X11R6/lib/X11/fonts"); evas_font_path_append(player->gui.evas, "/usr/share/fonts"); if (!ui_init_dragger(player)) return false; return ui_init_edje(player, "eplayer"); }