void e_entry_set_layer(E_Entry *entry, int l) { if (entry->obj_base) ebits_set_layer(entry->obj_base, l); evas_object_layer_set(entry->clip_box, l); evas_object_layer_set(entry->text, l); if (entry->obj_selection) ebits_set_layer(entry->obj_selection, l); if (entry->obj_cursor) ebits_set_layer(entry->obj_cursor, l); evas_object_layer_set(entry->event_box, l); }
void _engage_element_object_layer_set(Evas_Object * o, int l) { Engage_Element *data; if ((data = evas_object_smart_data_get(o))) { evas_object_layer_set(data->clip, l); evas_object_layer_set(data->icon, l); evas_object_layer_set(data->behavior, l); } }
Panel_Button *panel_button(Evas *_e, char *_label, Eina_List *tests) { Evas_Object *o; static int y = 200; /* * Create the new panel button's information */ pbutton = malloc(sizeof(Panel_Button)); pbutton->box = NULL; pbutton->label = NULL; /* * Now initialize it's fields, create the appearance, and add it to * the evas. */ o = evas_object_image_add(evas); evas_object_image_file_set(o, IM "panel_button1.png", IM "panel_button1.png"); evas_object_image_border_set(o, 3, 3, 3, 3); evas_object_resize(o, 85, 30); evas_object_image_fill_set(o, 0, 0, 85, 30); evas_object_move(o, 10, y); evas_object_layer_set(o, 250); evas_object_show(o); pbutton->box = o; o = evas_object_text_add(_e); evas_object_text_font_set(o, "andover", 24); evas_object_text_text_set(o, _label); evas_object_color_set(o, 0, 0, 0, 160); evas_object_layer_set(o, 251); evas_object_move(o, 15, y + 5); evas_object_show(o); pbutton->label = o; /* * Attach the buttons callbacks */ evas_object_event_callback_add(pbutton->label, EVAS_CALLBACK_MOUSE_IN, button_mouse_in, NULL); evas_object_event_callback_add(pbutton->label, EVAS_CALLBACK_MOUSE_OUT, button_mouse_out, NULL); evas_object_event_callback_add(pbutton->label, EVAS_CALLBACK_MOUSE_DOWN, button_mouse_down, tests); y += 60; return pbutton; }
int enna_mediaplayer_init(void) { mp = calloc(1, sizeof(Enna_Mediaplayer)); mp->uri = NULL; mp->label = NULL; mp->engine = strdup(mp_cfg.engine); mp->player = emotion_object_add(evas_object_evas_get(enna->layout)); emotion_object_init(mp->player, mp->engine); evas_object_layer_set(mp->player, -1); mp->play_state = STOPPED; /* Create Ecore Event ID */ ENNA_EVENT_MEDIAPLAYER_EOS = ecore_event_type_new(); ENNA_EVENT_MEDIAPLAYER_METADATA_UPDATE = ecore_event_type_new(); ENNA_EVENT_MEDIAPLAYER_START = ecore_event_type_new(); ENNA_EVENT_MEDIAPLAYER_STOP = ecore_event_type_new(); ENNA_EVENT_MEDIAPLAYER_PAUSE = ecore_event_type_new(); ENNA_EVENT_MEDIAPLAYER_UNPAUSE = ecore_event_type_new(); ENNA_EVENT_MEDIAPLAYER_PREV = ecore_event_type_new(); ENNA_EVENT_MEDIAPLAYER_NEXT = ecore_event_type_new(); ENNA_EVENT_MEDIAPLAYER_SEEK = ecore_event_type_new(); return 1; }
/** * Add a text object to the screen. */ Evas_Object * label_add(Evas *e, int x, int y, const char *fmt, bool anim){ Evas_Object *o; Ecore_Timer *timer; if (!e) return NULL; o = evas_object_text_add(e); evas_object_text_font_set(o, "Vera", 15); evas_object_text_style_set(o, EVAS_TEXT_STYLE_SOFT_OUTLINE); evas_object_color_set(o, 0,0,0,255); evas_object_text_outline_color_set(o,255,255,255,255); evas_object_layer_set(o, 1); evas_object_text_text_set(o,fmt); evas_object_move(o,x,y); if (visible) evas_object_show(o); labels = eina_list_append(labels, o); if (!anim) return o; timer = ecore_timer_add(0.1, label_move, o); return o; }
/* a nice easy setup function that does the dirty work */ E_API void e_int_client_locks(E_Client *ec) { E_Config_Dialog *cfd; E_Config_Dialog_View *v; v = E_NEW(E_Config_Dialog_View, 1); if (v) { /* methods */ v->create_cfdata = _create_data; v->free_cfdata = _free_data; v->basic.apply_cfdata = _basic_apply_data; v->basic.create_widgets = _basic_create_widgets; v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.create_widgets = _advanced_create_widgets; v->override_auto_apply = 1; /* create config diaolg for bd object/data */ cfd = e_config_dialog_new(NULL, _("Window Locks"), "E", "_border_locks_dialog", NULL, 0, v, ec); ec->border_locks_dialog = cfd; evas_object_layer_set(e_win_client_get(cfd->dia->win)->frame, ec->layer); } }
static Game_Bg_Obj * _bg_obj_add(Game_Bg *bg, const char *name, int x, int y, int w, int h, int delta) { Game_Bg_Obj *bg_obj; char buf[1024]; Evas *evas; bg_obj = calloc(1, sizeof(Game_Bg_Obj)); if (!bg_obj) { ERR("Failed to create bg obj"); return NULL; } bg_obj->delta = delta; bg_obj->x = x; evas = evas_object_evas_get(bg->event); bg_obj->obj = evas_object_image_filled_add(evas); snprintf(buf, sizeof(buf), PACKAGE_DATA_DIR "/%s.png", name); evas_object_image_file_set(bg_obj->obj, buf, NULL); evas_object_move(bg_obj->obj, x, FLOOR_Y + y); evas_object_resize(bg_obj->obj, w, h); evas_object_layer_set(bg_obj->obj, LAYER_BG); evas_object_show(bg_obj->obj); bg->objs = eina_list_append(bg->objs, bg_obj); return bg_obj; }
static void _elm_ews_border_layer_apply(Ecore_Evas *ee, Evas_Object *o) { Evas_Object *bs_o = ecore_evas_ews_backing_store_get(ee); evas_object_layer_set(o, evas_object_layer_get(bs_o)); _elm_ews_border_stack_apply(ee, o); }
static Evas_Object* create_licence_section(view_sys *p_sys) { Evas *e_webview = evas_object_evas_get(p_sys->nf_toolbar); Evas_Object *browser = ewk_view_add(e_webview); evas_object_layer_set(browser, EVAS_LAYER_MIN); ewk_view_url_set(browser, "file://"RES_DIR"/license.html"); evas_object_show(browser); return browser; }
Scrolling * scrolling_new(Game *g, int nbr) { Scrolling *s; Evas_Coord gw; Evas_Coord gh; if (nbr <= 0) return NULL; s = (Scrolling *)calloc(1, sizeof(Scrolling)); if (!s) return NULL; game_size_get(g, &gw, &gh); s->elts[0] = elements_new(game_evas_get(g), gw, gh, nbr, SCROLLING_LEFT); if (!s->elts[0]) goto free_s; s->elts[1] = elements_new(game_evas_get(g), gw, gh, nbr, SCROLLING_RIGHT); if (!s->elts[1]) goto free_elts_0; s->g = g; s->nebula = edje_object_add(game_evas_get(s->g)); if (edje_object_file_set(s->nebula, "theme.edj", "nebula")) { double r; Evas_Coord w; Evas_Coord h; srand(time(NULL)); edje_object_size_min_get(s->nebula, &w, &h); r = (double)(gw - 40 - w) * (double)rand() / (double)RAND_MAX; evas_object_move (s->nebula, 20 + (Evas_Coord)r, -h); evas_object_resize(s->nebula, w, h); evas_object_layer_set(s->nebula, -8); evas_object_show (s->nebula); ecore_timer_add(0.06, _nebula_move_cb, s); } return s; free_elts_0: elements_free(s->elts[0]); free_s: free(s); return NULL; }
/** ghost line **/ void ghost_line_create(void) { Evas *e; e = shell->evas; if (!o_line) { o_line = evas_object_line_add(e); evas_object_color_set(o_line, ALPHA2, ALPHA2/5, ALPHA2/5, ALPHA2); evas_object_layer_set(o_line, 17); evas_object_pass_events_set(o_line, 1); } }
static void _systray_xembed_restack(Instance_Xembed *xembed) { E_Layer layer; E_Shelf *es = xembed->inst->gcc->gadcon->shelf; if (es) { layer = e_comp_canvas_layer_map_to(e_comp_canvas_layer_map(es->cfg->layer) + 1); } else layer = E_LAYER_CLIENT_DESKTOP; layer = E_CLAMP(layer, E_LAYER_CLIENT_DESKTOP, E_LAYER_CLIENT_ABOVE); evas_object_layer_set(xembed->ec->frame, layer); }
void etox_line_set_layer(Etox_Line *line, int layer) { Eina_List *l; if (!line->bits) return; for (l = line->bits; l; l = l->next) { Evas_Object *bit; bit = l->data; evas_object_layer_set(bit, layer); } }
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); }
void setup_panel(Evas *_e) { int w; Panel_Button *pbutton1, *pbutton2, *pbutton3; o_panel = evas_object_image_add(_e); evas_object_image_file_set(o_panel, IM "panel.png", IM "panel.png"); evas_object_image_size_get(o_panel, &w, NULL); evas_object_move(o_panel, 0, 0); evas_object_resize(o_panel, w, win_h); evas_object_image_fill_set(o_panel, 0, 0, w, win_h); evas_object_layer_set(o_panel, 200); evas_object_show(o_panel); /* Panel title */ o_txt_paneltitle = evas_object_text_add(_e); evas_object_text_font_set(o_txt_paneltitle, "sinon", 17); evas_object_text_text_set(o_txt_paneltitle, "Etox Test"); evas_object_color_set(o_txt_paneltitle, 255, 255, 255, 255); evas_object_layer_set(o_txt_paneltitle, 250); evas_object_show(o_txt_paneltitle); /* Panel buttons */ pbutton1 = panel_button(evas, "Basic", basic_tests()); pbuttons = eina_list_append(pbuttons, pbutton1); pbutton2 = panel_button(evas, "Style", style_tests()); pbuttons = eina_list_append(pbuttons, pbutton2); pbutton3 = panel_button(evas, "Callbacks", callback_tests()); pbuttons = eina_list_append(pbuttons, pbutton3); }
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; }
E_API void e_int_client_prop(E_Client *ec) { E_Dialog *dia; if (ec->border_prop_dialog) return; dia = e_dialog_new(NULL, "E", "_window_props"); e_object_del_attach_func_set(E_OBJECT(dia), _ec_cb_dialog_del); _create_data(dia, ec); _ec_go(dia, (void *)0); e_dialog_button_add(dia, _("Close"), NULL, _ec_cb_dialog_close, dia); elm_win_center(dia->win, 1, 1); e_dialog_show(dia); e_dialog_border_icon_set(dia, "preferences-system-windows"); evas_object_layer_set(e_win_client_get(dia->win)->frame, ec->layer); }
/* setup */ static void _setup(void) { int i; Evas_Object *o,*src; for (i = 0; i < OBNUM; i++) { o = evas_object_image_add(evas); evas_object_image_file_set(o, build_path("image.png"), NULL); evas_object_image_fill_set(o, 0, 0, 120, 160); evas_object_resize(o, 120, 160); evas_object_filter_set(o, EVAS_FILTER_BLUR); evas_object_filter_param_int_set(o, "radius", 5); evas_object_layer_set(o,1); evas_object_show(o); src = o; o_images[i] = src; } done = 0; }
Evas_Object * engage_element_new(Evas * e, const char *bfile, const char *bgroup, const char *ifile, const char *igroup) { char buf[PATH_MAX]; int w = 48, h = 48; Evas_Object *result = NULL; Engage_Element *data = NULL; if ((result = engage_element_object_new(e))) { if ((data = evas_object_smart_data_get(result))) { data->clip = evas_object_rectangle_add(e); evas_object_color_set(data->clip, 255, 255, 255, 255); evas_object_layer_set(data->clip, 0); evas_object_show(data->clip); if ((data->behavior = engage_element_behavior_new(e, bfile, bgroup))) { evas_object_clip_set(data->behavior, data->clip); if ((data->icon = engage_element_icon_new(e, ifile, igroup))) { if (!strcmp(evas_object_type_get(data->icon), "image")) { evas_object_image_size_get(data->icon, &data->iw, &data->ih); evas_object_image_fill_set(data->icon, 0.0, 0.0, (Evas_Coord) data->iw, (Evas_Coord) data->ih); } evas_object_clip_set(data->icon, data->clip); } else { evas_object_del(result); result = NULL; } } } } return (result); }
void Object::setLayer( int layer ) { Dout( dc::notice, *this << " layer_set" << " layer=" << layer ); evas_object_layer_set( o, layer ); }
void e_login_session_bar_init(E_Login_Session e) { int w, h; Evas *evas; Estyle *es = NULL; double bgx, bgy, bgw, bgh; int ix = 0, iy = 0; int iw = 0, ih = 0; Evas_List *l = NULL; Evas_Object *o = NULL; Session_Bar *sb = session_bar_new(); /* Session list background image */ evas = e->evas; o = evas_object_image_add(evas); evas_object_image_file_set(o, PACKAGE_DATA_DIR "/data/images/parch.png", NULL); iw = ih = 0; evas_object_image_fill_set(o, 0.0, 0.0, (double) iw, (double) ih); evas_object_resize(o, iw, ih); evas_object_layer_set(o, 15); evas_object_color_set(o, e->config->greeting.font.r, e->config->greeting.font.g, e->config->greeting.font.b, 100); ix = ((((e->geom.w / e->config->screens.w) - w) * 0.5)); iy = 120; evas_object_move(o, ix, iy); sb->listbg = o; /* Session list heading */ es = estyle_new(evas, "XSessions", "raised"); estyle_set_color(es, e->config->greeting.font.r, e->config->greeting.font.g, e->config->greeting.font.b, e->config->greeting.font.a); estyle_set_font(es, e->config->greeting.font.name, e->config->greeting.font.size); estyle_callback_add(es, EVAS_CALLBACK_MOUSE_UP, session_bar_toggle_visibility, sb); estyle_set_layer(es, 25); estyle_geometry(es, NULL, NULL, &w, &h); ix = ((((e->geom.w / e->config->screens.w) - w) * 0.9)); iy = ((((e->geom.h / e->config->screens.h) - h) * 1.0)); estyle_move(es, ix, iy); estyle_show(es); sb->header = es; /* Build session list */ iy = 125; evas_object_geometry_get(sb->listbg, &bgx, &bgy, &bgw, &bgh); for (l = e->config->sessions; l && iy <= 330; l = l->next) { char *session_name = ((E_Login_Session_Type *) evas_list_data(l))->name; es = estyle_new(evas, session_name, "raised"); estyle_set_color(es, e->config->greeting.font.r, e->config->greeting.font.g, e->config->greeting.font.b, e->config->greeting.font.a); estyle_set_font(es, e->config->greeting.font.name, e->config->greeting.font.size); estyle_set_layer(es, 25); estyle_callback_add(es, EVAS_CALLBACK_MOUSE_UP, session_bar_session_clicked_cb, e); estyle_callback_add(es, EVAS_CALLBACK_MOUSE_IN, session_bar_session_mouse_in_cb, e); estyle_callback_add(es, EVAS_CALLBACK_MOUSE_OUT, session_bar_session_mouse_out_cb, e); sb->sessions = evas_list_append(sb->sessions, es); estyle_geometry(es, NULL, NULL, &w, &h); ix = ((((e->geom.w / e->config->screens.w) - w) * 0.5)); estyle_move(es, ix, iy); iy += h + 5; bgh += h + 5; if (w > bgw) { bgw = w + 12; ix = ((((e->geom.w / e->config->screens.w) - bgw) * 0.5)); evas_object_move(sb->listbg, ix, 120); } evas_object_image_fill_set(sb->listbg, 0.0, 0.0, (double) bgw, (double) bgh); evas_object_resize(sb->listbg, bgw, bgh); } /* Bullet */ o = evas_object_image_add(evas); evas_object_image_file_set(o, PACKAGE_DATA_DIR "/data/images/bullet.png", NULL); evas_object_image_size_get(o, &iw, &ih); evas_object_resize(o, iw, ih); evas_object_image_fill_set(o, 0.0, 0.0, (double) iw, (double) ih); evas_object_image_alpha_set(o, 1); evas_object_color_set(o, e->config->greeting.font.r, e->config->greeting.font.g, e->config->greeting.font.b, e->config->greeting.font.a); evas_object_layer_set(o, 15); evas_object_move(o, -99999, -99999); sb->bullet = o; /* Set default session to first in list (for now) */ ; e->xsession = evas_list_data(e->config->sessions); sb->win_geom.w = e->geom.w; sb->win_geom.h = e->geom.h; }
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); }
void setup(void) { Evas_Coord pw; int ex, ey, ew, eh; Evas_Coord width, height; char msg[] = "The Etox Test utility consists in a series " "of test suites designed to exercise all of " "the etox functions.\n" "Informational messages will be displayed here, " "the test text will be presented in the colored " "rectangle below.\n" "To start a test suite, select it from the " "navigation panel on the left.\n"; /* Create interface */ /* Background */ o_bg = evas_object_image_add(evas); evas_object_image_file_set(o_bg, IM "bg.png", IM "bg.png"); evas_object_resize(o_bg, win_w, win_h); evas_object_image_fill_set(o_bg, 0, 0, win_w, win_h); evas_object_move(o_bg, 0, 0); evas_object_layer_set(o_bg, 0); evas_object_show(o_bg); /* Panel */ setup_panel(evas); evas_object_geometry_get(o_panel, NULL, NULL, &pw, NULL); ey = win_h / 2; ew = win_w - pw - 20; eh = ey - 10; ex = pw + 10; ey += 10; /* Create message etox */ e_msg = etox_new_all(evas, ex, 10, ew, eh , 255, ETOX_ALIGN_LEFT); etox_context_set_align(etox_get_context(e_msg), ETOX_ALIGN_LEFT); etox_context_set_font(etox_get_context(e_msg), "sinon", 14); etox_context_set_style(etox_get_context(e_msg), "shadow"); etox_context_set_color(etox_get_context(e_msg), 225, 225, 225, 255); etox_set_soft_wrap(e_msg, 1); etox_set_text(e_msg, msg); etox_set_alpha(e_msg, 255); evas_object_layer_set(e_msg, 1000); evas_object_show(e_msg); /* Setup test etox */ /* Setup test etox background */ o_bg_etox = evas_object_rectangle_add(evas); evas_object_move(o_bg_etox, ex, ey); evas_object_resize(o_bg_etox, ew, eh); evas_object_color_set(o_bg_etox, 0, 100, 100, 100); evas_object_layer_set(o_bg_etox, 100); evas_object_show(o_bg_etox); /* Clip rectangle for bounding where the test text is drawn */ clip_test = evas_object_rectangle_add(evas); evas_object_move(clip_test, ex, ey); evas_object_resize(clip_test, ew, eh); evas_object_show(clip_test); /* Create test etox */ e_test = etox_new_all(evas, ex, ey, ew, eh, 255, ETOX_ALIGN_CENTER); etox_context_set_font(etox_get_context(e_test), "sinon", 14); etox_context_set_style(etox_get_context(e_test), "plain"); etox_context_set_color(etox_get_context(e_test), 225, 225, 225, 255); etox_set_text(e_test, ""); evas_object_clip_set(e_test, clip_test); etox_set_alpha(e_test, 255); evas_object_layer_set(e_test, 1000); /* * Create the next test button */ o_next_box = evas_object_image_add(evas); evas_object_image_file_set(o_next_box, IM "panel_button1.png", IM "panel_button1.png"); evas_object_image_border_set(o_next_box, 3, 3, 3, 3); evas_object_layer_set(o_next_box, 1000); evas_object_hide(o_next_box); o_txt_next_box = evas_object_text_add(evas); evas_object_text_font_set(o_txt_next_box, "andover", 24); evas_object_text_text_set(o_txt_next_box, "Next"); evas_object_color_set(o_txt_next_box, 0, 0, 0, 160); evas_object_layer_set(o_txt_next_box, 1000); evas_object_move(o_next_box, 516, 150); evas_object_move(o_txt_next_box, 519, 152); width = evas_object_text_horiz_advance_get(o_txt_next_box); height = evas_object_text_vert_advance_get(o_txt_next_box); width += 10; height += 5; evas_object_resize(o_next_box, width, height); evas_object_image_fill_set(o_next_box, 0, 0, width, height); evas_object_hide(o_txt_next_box); evas_object_event_callback_add(o_txt_next_box, EVAS_CALLBACK_MOUSE_DOWN, next_test, NULL); /* * Create the previous test button */ o_prev_box = evas_object_image_add(evas); evas_object_image_file_set(o_prev_box, IM "panel_button1.png", IM "panel_button1.png"); evas_object_image_border_set(o_prev_box, 3, 3, 3, 3); evas_object_layer_set(o_prev_box, 1000); evas_object_hide(o_prev_box); o_txt_prev_box = evas_object_text_add(evas); evas_object_text_font_set(o_txt_prev_box, "andover", 24); evas_object_text_text_set(o_txt_prev_box, "Previous"); evas_object_color_set(o_txt_prev_box, 0, 0, 0, 160); evas_object_layer_set(o_txt_prev_box, 1000); evas_object_move(o_prev_box, 416, 150); evas_object_move(o_txt_prev_box, 419, 152); width = evas_object_text_horiz_advance_get(o_txt_prev_box); height = evas_object_text_vert_advance_get(o_txt_prev_box); width += 10; height += 5; evas_object_resize(o_prev_box, width, height); evas_object_image_fill_set(o_prev_box, 0, 0, width, height); evas_object_hide(o_txt_prev_box); evas_object_event_callback_add(o_txt_prev_box, EVAS_CALLBACK_MOUSE_DOWN, prev_test, NULL); }
void _shell_bg_create(void) { Evas *e; Evas_Object *o; int r, g, b, a, res; char *s; e = shell->evas; E_DB_STR_GET (shell->rcfile, "/bgimage", s, res); if (!res) { E_DB_INT_GET (shell->rcfile, "/main_win/bgcolor/r", r, res); ENGY_ASSERT (res); E_DB_INT_GET (shell->rcfile, "/main_win/bgcolor/g", g, res); ENGY_ASSERT (res); E_DB_INT_GET (shell->rcfile, "/main_win/bgcolor/b", b, res); ENGY_ASSERT (res); E_DB_INT_GET (shell->rcfile, "/main_win/bgcolor/a", a, res); ENGY_ASSERT (res); o = evas_object_rectangle_add(e); evas_object_color_set (o, r*a/255, g*a/255, b*a/255, a); } else { char buf[4096]; if (s[0] != '/') { snprintf (buf, 4000, "%s/%s", shell->home, s); FREE (s); s = DUP (buf); } o = evas_image_load(s); FREE (s); } evas_object_move(o, 0, 0); evas_object_resize(o, shell->w, shell->h); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_MOVE, bg_mouse_move, NULL); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, bg_mouse_down, NULL); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP, bg_mouse_up, NULL); evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_DOWN, bg_key_down, NULL); evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_UP, bg_key_up, NULL); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_WHEEL, bg_mouse_wheel, NULL); evas_object_layer_set(o, 0); evas_object_show(o); evas_object_focus_set(o, 1); shell->o_bg = o; shell->context.color.red = 0; shell->context.color.green = 0; shell->context.color.blue = 0; shell->context.color.alpha = 255; shell->context.line_style = DUP("dashed2"); shell->context.thickness = 0.5; shell->context.show_thickness = 1; shell->context.line_scale = 1.0; shell->context.textstyle = DUP("gost"); shell->context.text_height = 5.0; shell->context.point_style = DUP("cross"); shell->context.dim_style = DUP("gost-5-3"); shell->context.hatch_style = DUP("glass"); shell->context.gravity = GRAVITY_C | GRAVITY_M; shell->prec = 10.0; shell->segnum = 8; shell->arcnum = 20; shell->monitor = 96; shell->paper = 100; shell->float_prec = 3; shell->snap = 0.005; }
static Elements * elements_new(Evas *evas, Evas_Coord gw, Evas_Coord gh, int nbr, Scrolling_Pos pos) { Elements *elts; int i; if (nbr <= 0) return NULL; elts = (Elements *)calloc(1, sizeof(Elements)); if (!elts) return NULL; elts->objs = (Evas_Object **)calloc(nbr, sizeof(Evas_Object *)); if (!elts->objs) goto free_elts; elts->heights = (int *)calloc(nbr, sizeof(int)); if (!elts->heights) goto free_objs; elts->pos = pos; srand(time(NULL) + pos); i = 0; while (i < nbr) { int r; Evas_Coord h; elts->objs[i] = evas_object_rectangle_add(evas); evas_object_layer_set(elts->objs[i], 5); r = rand(); if (r < (RAND_MAX / 3)) { evas_object_resize(elts->objs[i], 20, 40); evas_object_color_set(elts->objs[i], 255, 0, 0, 255); } else if (r < 2 * (RAND_MAX / 3)) { evas_object_resize(elts->objs[i], 30, 60); evas_object_color_set(elts->objs[i], 0, 255, 0, 255); } else { evas_object_resize(elts->objs[i], 15, 80); evas_object_color_set(elts->objs[i], 0, 0, 255, 255); } if (i != 0) { evas_object_geometry_get(elts->objs[i - 1], NULL, NULL, NULL, &h); elts->heights[i] = elts->heights[i - 1] + h; } i++; } i = 0; elts->n_min = 0; while (1) { if (elts->heights[i] < gh) { Evas_Coord w; evas_object_geometry_get(elts->objs[i], NULL, NULL, &w, NULL); switch (elts->pos) { case SCROLLING_LEFT: evas_object_move(elts->objs[i], 0, gh - elts->heights[i + 1] - 1); break; case SCROLLING_RIGHT: evas_object_move(elts->objs[i], gw - w, gh - elts->heights[i + 1] - 1); break; case SCROLLING_CENTER: evas_object_move(elts->objs[i], 0, gh - elts->heights[i + 1] - 1); break; default: evas_object_move(elts->objs[i], 0, gh - elts->heights[i + 1] - 1); break; } evas_object_show(elts->objs[i]); i++; } else { elts->n_max = i - 1; break; } } return elts; free_objs: free(elts->objs); free_elts: free(elts); return NULL; }
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; }
void _create_tiled_line(Line * line) { int flag, sign = 1; Eina_List *list = NULL, *l, *lo; Evas *e; Evas_Object *o; Drawing *d; float x, y, dx, dy, len; double x1, y1, x2, y2; XY *xy; d = drawing; dx = line->x2 - line->x1; if (dx == 0) dx = 1e-40; /* ok for 1200 dpi? */ sign = fabs(dx) / dx; dy = line->y2 - line->y1; len = hypot(dx, dy); flag = linestyle_get_odd(); list = linestyle_get_points(len, line->line_scale); ENGY_ASSERT(list); trans_rotate(list, atan(-dy / dx) + M_PI * (sign - 1) / 2); trans_move(list, line->x1, line->y1); e = shell->evas; lo = line->list; for (l = list->next; l; l = l->next) { XY *a, *b; a = (XY *) l->prev->data; b = (XY *) l->data; flag = !flag; if (flag) { if (!lo || !lo->data) { o = _line_item(e, line->thickness * shell->context.show_thickness * d->scale); evas_object_layer_set(o, 10); evas_object_pass_events_set(o, 1); line->list = eina_list_append(line->list, o); lo = eina_list_last(line->list); } o = lo->data; lo = lo->next; x1 = w2s_x(a->x); y1 = w2s_y(a->y); x2 = w2s_x(b->x); y2 = w2s_y(b->y); if (line->flags & FLAG_VISIBLE) { evas_object_color_set(o, line->color.red*line->color.alpha/255, line->color.green*line->color.alpha/255, line->color.blue*line->color.alpha/255, line->color.alpha); } else { evas_object_color_set(o, 0, 0, 0, 0); } if (line->flags & FLAG_SELECTED) evas_object_color_set(o, ALPHA5, ALPHA5/5, ALPHA5/5, ALPHA5); if (line->flags & FLAG_DELETED) evas_object_color_set(o, 0, 0, 0, 0); _line_item_xy(e, o, x1, y1, x2, y2, line->thickness * shell->context.show_thickness * d->scale); evas_object_show(o); } } for (l = list; l; l = l->next) FREE(l->data); list = eina_list_free(list); }
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; }