static void _smart_add(Evas_Object *obj) { Smart_Data *sd; /* Initialize smart data and clipping */ sd = calloc(1, sizeof(Smart_Data)); if (!sd) return; sd->obj = obj; sd->parent = NULL; sd->children = NULL; sd->clip = evas_object_rectangle_add(evas_object_evas_get(obj)); evas_object_smart_member_add(sd->clip, obj); /* Set up edje object and canvas */ sd->bg = edje_object_add(evas_object_evas_get(obj)); edje_object_file_set(sd->bg, "../../data/themes/elexika.edj", "result_list"); evas_object_move(sd->bg, 0, 0); evas_object_clip_set(sd->bg, sd->clip); evas_object_smart_member_add(sd->bg, obj); evas_object_show(sd->bg); sd->overlay = edje_object_add(evas_object_evas_get(obj)); edje_object_file_set(sd->overlay, "../../data/themes/elexika.edj", "overlay"); evas_object_move(sd->overlay, 0, 0); evas_object_clip_set(sd->overlay, sd->clip); evas_object_smart_member_add(sd->overlay, obj); evas_object_show(sd->overlay); evas_object_smart_data_set(obj, sd); }
void eyelight_viewer_slideshow_start(Eyelight_Viewer* pres,int select) { Evas_Object *o; int w_win, h_win; const char* data; evas_output_viewport_get(pres->evas, NULL, NULL, &w_win, &h_win); pres->state = EYELIGHT_VIEWER_STATE_SLIDESHOW; pres->slideshow_current = select; o = edje_object_add(pres->evas); pres->slideshow_background = o; if(edje_object_file_set(o, pres->theme, "eyelight/slideshow") == 0) WARN("eyelight_viewer_slideshow_start(), edje_object_file_set() erreur!"); data = edje_object_data_get(o, "nb_slides"); pres->slideshow_nb_slides = atoi(data); evas_object_show(o); evas_object_resize(o, pres->current_size_w, pres->current_size_h); edje_object_scale_set(o, pres->current_scale); evas_object_smart_member_add(o, pres->smart_obj); evas_object_move(o, pres->current_pos_x, pres->current_pos_y); evas_object_clip_set(o, pres->current_clip); edje_object_signal_callback_add(o,"slideshow,slide,next","eyelight",_eyelight_viewer_slideshow_next_cb,pres); edje_object_signal_callback_add(o,"slideshow,slide,previous","eyelight",_eyelight_viewer_slideshow_previous_cb,pres); edje_object_signal_callback_add(o,"slideshow,next,end","eyelight",_eyelight_viewer_slideshow_next_end_cb,pres); edje_object_signal_callback_add(o,"slideshow,previous,end","eyelight",_eyelight_viewer_slideshow_previous_end_cb,pres); _eyelight_viewer_slideshow_slides_load(pres); edje_object_signal_emit(pres->slideshow_background, "show","eyelight"); }
static Oid * _oid_track(Edje * ed, Evas_Object * o) { Oid *oi; char buf[64]; SI_RETURN(NULL); oi = calloc(1, sizeof(Oid)); if (!oi) return NULL; oi->oid = _oid_alloc(ed); if (!oi->oid) { free(oi); return NULL; } oi->ed = ed; oi->obj = o; evas_object_smart_member_add(oi->obj, oi->ed->obj); evas_object_clip_set(oi->obj, oi->ed->base->clipper); evas_object_geometry_get(oi->obj, &(oi->x), &(oi->y), &(oi->w), &(oi->h)); snprintf(buf, sizeof(buf), "%i", oi->oid); if (!si->oid.hash) si->oid.hash = eina_hash_string_superfast_new(NULL); eina_hash_add(si->oid.hash, buf, oi); return oi; }
void elexika_result_list_append(Evas_Object *obj, Eina_List *list) { Evas_Object *o; Smart_Data *sd; Evas_Coord minw, minh; Eina_List *l; Match *match; sd = evas_object_smart_data_get(obj); if (!sd) return; for (l = list; l; l = l->next) { match = l->data; o = edje_object_add(evas_object_evas_get(sd->obj)); edje_object_file_set(o, "../../data/themes/elexika.edj", "result"); edje_object_part_text_set(o, "result.text", match->str); evas_object_clip_set(o, sd->clip); evas_object_smart_member_add(o, obj); sd->children = eina_list_append(sd->children, o); if (eina_list_count(sd->children) % 2 == 0) edje_object_signal_emit(o, "result,state,even", "result_list"); evas_object_stack_below(o, sd->overlay); evas_object_show(o); } _sizing_eval(obj); }
/* *************************************************************************** * other internals * ***************************************************************************/ static void _elitaire_card_shadow_on(Evas_Object * card) { Elitaire_Card * data = NULL; data = (Elitaire_Card *) evas_object_smart_data_get(card); if (data) { Evas_Coord x, y, w, h, dy; int n; if (data->shadow) return; data->shadow = edje_object_add(data->eli->evas); evas_object_smart_member_add(data->shadow, card); if (!edje_object_file_set(data->shadow, data->eli->file, "elitaire/card/shadow")) fprintf(stderr, _("Elitaire Error: The shadow pic is missed!\n")); n = elitaire_card_chain_length_calc(card); dy = elitaire_card_offset_get(data->eli); evas_object_geometry_get(card, &x, &y, &w, &h); evas_object_move(data->shadow, x, y); evas_object_resize(data->shadow, w, h + n * dy); evas_object_clip_set(data->shadow, data->eli->clip); evas_object_show(data->shadow); evas_object_stack_below(data->shadow, data->image); } }
/* local subsystem functions */ static E_Layout_Item * _e_layout_smart_adopt(E_Smart_Data *sd, Evas_Object *obj) { E_Layout_Item *li; li = evas_object_data_get(obj, "e_layout_data"); if (li) e_layout_unpack(obj); li = calloc(1, sizeof(E_Layout_Item)); if (!li) return NULL; li->sd = sd; li->obj = obj; /* defaults */ li->x = 0; li->y = 0; li->w = 0; li->h = 0; evas_object_clip_set(obj, sd->clip); evas_object_smart_member_add(obj, li->sd->obj); evas_object_data_set(obj, "e_layout_data", li); evas_object_event_callback_add(obj, EVAS_CALLBACK_FREE, _e_layout_smart_item_del_hook, NULL); if ((!evas_object_visible_get(sd->clip)) && (evas_object_visible_get(sd->obj))) evas_object_show(sd->clip); return li; }
static void _e_icon_obj_prepare(Evas_Object *obj, E_Smart_Data *sd) { if (!sd->obj) return; if (sd->edje) { Evas_Object *pclip; pclip = evas_object_clip_get(sd->obj); evas_object_del(sd->obj); #ifdef USE_ICON_CACHE sd->ci = NULL; eina_stringshare_replace(&sd->file, NULL); #endif sd->obj = evas_object_image_add(evas_object_evas_get(obj)); if (!sd->animated) evas_object_image_scale_hint_set(sd->obj, EVAS_IMAGE_SCALE_HINT_STATIC); evas_object_smart_member_add(sd->obj, obj); evas_object_event_callback_add(sd->obj, EVAS_CALLBACK_IMAGE_PRELOADED, _e_icon_preloaded, obj); evas_object_clip_set(sd->obj, pclip); } }
void MainContentView::addView(BaseView *view) { if (!view) throw(runtime_error("MainContentView::addView(): view is NULL !")); int x, y, w, h; evas_object_geometry_get(clip, &x, &y, &w, &h); evas_object_show(clip); ViewAnimation *va = new ViewAnimation(view); va->view->EmitSignal("show", "calaos"); va->view->Show(); va->animation = new EdjeObject(theme, evas); va->animation->LoadEdje("elm/pager/base/calaos/fade_invisible"); va->animation->Swallow(va->view, "elm.swallow.content"); va->pop_me = false; va->animation->Move(x, y); va->animation->Resize(w, h); evas_object_clip_set(va->animation->getEvasObject(), clip); va->animation->addCallback("*", "elm,action,hide,finished", sigc::mem_fun(*this, &MainContentView::hideFinished), va); AddMemberObject(va->animation->getEvasObject()); if (views.size() > 0) { ViewAnimation *old_va = views.back(); old_va->animation->EmitSignal("elm,action,hide", "elm"); } views.push_back(va); va->animation->Show(); va->animation->EmitSignal("elm,action,push", "elm"); }
void e_entry_set_clip(E_Entry *entry, Evas_Object * clip) { evas_object_clip_set(entry->clip_box, clip); if (entry->obj_base) ebits_set_clip(entry->obj_base, clip); }
/* setup */ static void _setup(void) { int i; Evas_Object *o; o = evas_object_image_add(evas); o_mask = o; evas_object_image_file_set(o, build_path("e-logo-mask.png"), NULL); evas_object_image_fill_set(o, 0, 0, 720, 420); evas_object_resize(o, 720, 420); evas_object_move(o, (win_w - 720) / 2, (win_h - 420) / 2); evas_object_show(o); for (i = 0; i < OBNUM; i++) { o = evas_object_image_add(evas); o_images[i] = o; evas_object_image_file_set(o, build_path("logo.png"), NULL); evas_object_image_fill_set(o, 0, 0, 120, 160); evas_object_resize(o, 120, 160); evas_object_image_smooth_scale_set(o, 1); evas_object_clip_set(o, o_mask); evas_object_show(o); } done = 0; }
static void e_entry_realize(E_Entry *entry) { char *entries; char buf[4096]; entries = e_config_get("entries"); sprintf(buf, "%s/%s", entries, "base.bits.db"); entry->obj_base = ebits_load(buf); if (entry->obj_base) { ebits_add_to_evas(entry->obj_base, entry->evas); /* ebits_set_color_class(entry->obj_base, "Base FG", 100, 200, 255, 255);*/ } sprintf(buf, "%s/%s", entries, "cursor.bits.db"); entry->obj_cursor = ebits_load(buf); if (entry->obj_cursor) { ebits_add_to_evas(entry->obj_cursor, entry->evas); /* ebits_set_color_class(entry->obj_base, "Base FG", 100, 200, 255, 255);*/ } sprintf(buf, "%s/%s", entries, "selection.bits.db"); entry->obj_selection = ebits_load(buf); if (entry->obj_selection) { ebits_add_to_evas(entry->obj_selection, entry->evas); /* ebits_set_color_class(entry->obj_base, "Base FG", 100, 200, 255, 255);*/ } entry->clip_box = evas_object_rectangle_add(entry->evas); entry->text = evas_object_text_add(entry->evas); evas_object_text_font_set(entry->text, "borzoib", 8); evas_object_text_text_set(entry->text, ""); if (entry->obj_cursor) ebits_set_clip(entry->obj_cursor, entry->clip_box); if (entry->obj_selection) ebits_set_clip(entry->obj_selection, entry->clip_box); entry->event_box = evas_object_rectangle_add(entry->evas); evas_object_color_set(entry->clip_box, 255, 255, 255, 255); evas_object_color_set(entry->event_box, 0, 0, 0, 0); evas_object_color_set(entry->text, 0, 0, 0, 255); evas_object_clip_set(entry->text, entry->clip_box); evas_object_clip_set( entry->event_box, entry->clip_box); evas_object_event_callback_add(entry->event_box, EVAS_CALLBACK_MOUSE_DOWN, e_entry_down_cb, entry); evas_object_event_callback_add(entry->event_box, EVAS_CALLBACK_MOUSE_UP, e_entry_up_cb, entry); evas_object_event_callback_add(entry->event_box, EVAS_CALLBACK_MOUSE_MOVE, e_entry_move_cb, entry); }
static void _elitaire_object_clip_set(Evas_Object * o, Evas_Object * clip) { Elitaire * data; data = (Elitaire *) evas_object_smart_data_get(o); evas_object_clip_set(data->clip, clip); }
static void _e_toolbar_clip_set(Evas_Object *obj, Evas_Object *clip) { E_Toolbar_Smart_Data *sd; if ((!obj) || !(sd = evas_object_smart_data_get(obj))) return; evas_object_clip_set(sd->o_base, clip); }
void _engage_element_object_clip_set(Evas_Object * o, Evas_Object * clip) { Engage_Element *data; if ((data = evas_object_smart_data_get(o))) { evas_object_clip_set(data->clip, clip); } }
/* Clips the editable object against "clip" */ static void _e_editable_clip_set(Evas_Object *object, Evas_Object *clip) { E_Editable_Smart_Data *sd; if ((!object) || (!(sd = evas_object_smart_data_get(object)))) return; evas_object_clip_set(sd->clip_object, clip); }
static void _smart_clip_set(Evas_Object *obj, Evas_Object *clip) { Smart_Data *sd; sd = evas_object_smart_data_get(obj); if (!sd) return; evas_object_clip_set(sd->clip, clip); }
static void _esmart_dragable_object_clip_set (Evas_Object * o, Evas_Object * clip) { Esmart_Draggies *data; if ((data = evas_object_smart_data_get (o))) { evas_object_clip_set (data->obj, clip); } }
static void _esmart_resize_object_clip_set(Evas_Object * o, Evas_Object * clip) { Esmart_Resize *data; if ((data = (Esmart_Resize *) evas_object_smart_data_get(o))) { evas_object_clip_set(data->obj, clip); } }
static void _smart_clip_set (Evas_Object *obj, Evas_Object *clip) { Smart_Dvi *sp; sp = evas_object_smart_data_get (obj); if (!sp) return; evas_object_clip_set (sp->obj, clip); }
static void _emotion_aspect_borders_apply(Evas_Object *obj, Smart_Data *sd, int w, int h, int iw, int ih) { int x, y; evas_object_geometry_get(obj, &x, &y, NULL, NULL); /* applying calculated borders */ if (sd->crop.l == 0 && sd->crop.r == 0 && sd->crop.t == 0 && sd->crop.b == 0) { Evas_Object *old_clipper; if (sd->crop.clipper) { old_clipper = evas_object_clip_get(sd->crop.clipper); evas_object_clip_unset(sd->obj); evas_object_clip_set(sd->obj, old_clipper); evas_object_del(sd->crop.clipper); sd->crop.clipper = NULL; } } else { if (!sd->crop.clipper) { Evas_Object *old_clipper; sd->crop.clipper = evas_object_rectangle_add( evas_object_evas_get(obj)); evas_object_color_set(sd->crop.clipper, 255, 255, 255, 255); evas_object_smart_member_add(sd->crop.clipper, obj); old_clipper = evas_object_clip_get(sd->obj); evas_object_clip_set(sd->obj, sd->crop.clipper); evas_object_clip_set(sd->crop.clipper, old_clipper); if (evas_object_visible_get(sd->obj)) evas_object_show(sd->crop.clipper); } } _clipper_position_size_update(obj, x, y, w, h, iw, ih); }
static Evas_Object *_ewk_view_single_smart_backing_store_add(Ewk_View_Smart_Data *sd) { Evas_Object *bs = evas_object_image_add(sd->base.evas); Evas_Object *clip = evas_object_rectangle_add(sd->base.evas); evas_object_image_alpha_set(bs, EINA_FALSE); evas_object_image_smooth_scale_set(bs, sd->zoom_weak_smooth_scale); evas_object_clip_set(bs, clip); evas_object_show(clip); evas_object_event_callback_add (bs, EVAS_CALLBACK_DEL, _ewk_view_single_on_del, clip); return bs; }
CalaosCameraView::CalaosCameraView(Evas *evas): EvasSmart(evas, "PageContentView") { clip = evas_object_rectangle_add(evas); evas_object_color_set(clip, 255, 255, 255, 255); AddMemberObject(clip); camImage = evas_object_image_add(evas); evas_object_clip_set(camImage, clip); AddMemberObject(camImage); handler_data = ecore_event_handler_add(ECORE_CON_EVENT_URL_DATA, _url_data_cb, this); handler_complete = ecore_event_handler_add(ECORE_CON_EVENT_URL_COMPLETE, _url_complete_cb, this); }
bool XmasWidget::LoadWidget(std::string, double _x, double _y, std::string _id) { std::string witem = "calaos/widget/xmas"; if (!LoadEdje(witem)) { return false; } setLayer(500); EdjeObject::Show(); clip = evas_object_rectangle_add(evas); evas_object_show(clip); edje_object_part_swallow(edje, "widget.swallow", clip); Resize(1024, 768); //create some flakes for (int i = 0;i < MAX_FLAKE;i++) { std::string type; if (i < MAX_FLAKE / 3) type = "flake_small"; else if (i >= MAX_FLAKE / 3 && i < (MAX_FLAKE / 3) * 2) type = "flake_medium"; else type = "flake_large"; EdjeObject *o = new EdjeObject(theme, evas); if (!o->LoadEdje("calaos/widget/xmas/" + type)) cError() << "Error loading edje group calaos/widget/xmas/" + type; o->setLayer(500); evas_object_clip_set(o->getEvasObject(), clip); Flake *flake = new Flake(o); int tx = random() % clipw; int ty = random() % cliph; flake->Move(tx + clipx, ty + clipy); flake->Show(); flake->setStart(ecore_time_get() + (double)(random() % (flake->getHeight() * 10)) / (double)flake->getHeight()); if (type == "flake_small") flake->setSpeed(1); if (type == "flake_medium") flake->setSpeed(2); if (type == "flake_large") flake->setSpeed(3); flakes.push_back(flake); } return true; }
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); }
static void _ewk_view_single_smart_add(Evas_Object *o) { Ewk_View_Smart_Data *sd; _parent_sc.sc.add(o); sd = (Ewk_View_Smart_Data *)evas_object_smart_data_get(o); Evas_Object *clip = evas_object_rectangle_add(sd->base.evas); evas_object_clip_set(sd->backing_store, clip); evas_object_smart_member_add(clip, o); evas_object_show(clip); evas_object_event_callback_add (sd->backing_store, EVAS_CALLBACK_DEL, _ewk_view_single_on_del, clip); }
void eyelight_viewer_tableofcontents_start(Eyelight_Viewer* pres,int select) { Evas_Object *o; int w_win, h_win; const char* data; evas_output_viewport_get(pres->evas, NULL, NULL, &w_win, &h_win); pres->state = EYELIGHT_VIEWER_STATE_TABLEOFCONTENTS; pres->tableofcontents_current = select; o = edje_object_add(pres->evas); pres->tableofcontents_background = o; if(edje_object_file_set(o, pres->theme, "eyelight/tableofcontents") == 0) { WARN("table of contents is not supported by the theme"); return ; } data = edje_object_data_get(o, "nb_slides"); pres->tableofcontents_nb_slides = atoi(data); evas_object_show(o); evas_object_resize(o, pres->current_size_w, pres->current_size_h); edje_object_scale_set(o, pres->current_scale); evas_object_move(o, pres->current_pos_x, pres->current_pos_y); evas_object_smart_member_add(o,pres->smart_obj); evas_object_clip_set(o, pres->current_clip); edje_object_signal_callback_add(o,"tableofcontents,slide,next","eyelight",_eyelight_viewer_tableofcontents_next_cb,pres); edje_object_signal_callback_add(o,"tableofcontents,slide,previous","eyelight",_eyelight_viewer_tableofcontents_previous_cb,pres); edje_object_signal_callback_add(o,"tableofcontents,next,end","eyelight",_eyelight_viewer_tableofcontents_next_end_cb,pres); edje_object_signal_callback_add(o,"tableofcontents,previous,end","eyelight",_eyelight_viewer_tableofcontents_previous_end_cb,pres); _eyelight_viewer_tableofcontents_slides_load(pres); edje_object_signal_emit(pres->tableofcontents_background, "show","eyelight"); }
/* local subsystem functions */ static E_Table_Item * _e_table_smart_adopt(E_Smart_Data *sd, Evas_Object *obj) { E_Table_Item *ti; ti = calloc(1, sizeof(E_Table_Item)); if (!ti) return NULL; ti->sd = sd; ti->obj = obj; /* defaults */ ti->col = 0; ti->row = 0; ti->colspan = 1; ti->rowspan = 1; ti->fill_w = 0; ti->fill_h = 0; ti->expand_w = 0; ti->expand_h = 0; ti->align.x = 0.5; ti->align.y = 0.5; ti->min.w = 0; ti->min.h = 0; ti->max.w = 0; ti->max.h = 0; evas_object_clip_set(obj, sd->clip); // evas_object_stack_above(obj, sd->obj); evas_object_smart_member_add(obj, ti->sd->obj); evas_object_data_set(obj, "e_table_data", ti); evas_object_event_callback_add(obj, EVAS_CALLBACK_FREE, _e_table_smart_item_del_hook, NULL); // evas_object_stack_below(obj, sd->obj); if ((!evas_object_visible_get(sd->clip)) && (evas_object_visible_get(sd->obj))) evas_object_show(sd->clip); return ti; }
static void _e_editable_smart_add(Evas_Object *object) { Evas *evas; E_Editable_Smart_Data *sd; Evas_Coord ox, oy; if ((!object) || !(evas = evas_object_evas_get(object))) return; sd = malloc(sizeof(E_Editable_Smart_Data)); if (!sd) return; _e_editable_smart_use++; evas_object_smart_data_set(object, sd); evas_object_geometry_get(object, &ox, &oy, NULL, NULL); sd->text = malloc((E_EDITABLE_BLOCK_SIZE + 1) * sizeof(char)); sd->text[0] = '\0'; sd->char_length = 0; sd->unicode_length = 0; sd->allocated_length = E_EDITABLE_BLOCK_SIZE; sd->cursor_width = 1; sd->selection_on_fg = 0; sd->average_char_w = -1; sd->average_char_h = -1; sd->cursor_pos = 0; sd->cursor_visible = 1; sd->selection_pos = 0; sd->selection_visible = 1; sd->password_mode = 0; sd->clip_object = evas_object_rectangle_add(evas); evas_object_move(sd->clip_object, ox, oy); evas_object_smart_member_add(sd->clip_object, object); sd->event_object = evas_object_rectangle_add(evas); evas_object_color_set(sd->event_object, 0, 0, 0, 0); evas_object_clip_set(sd->event_object, sd->clip_object); evas_object_move(sd->event_object, ox, oy); evas_object_smart_member_add(sd->event_object, object); sd->text_object = edje_object_add(evas); evas_object_pass_events_set(sd->text_object, 1); evas_object_clip_set(sd->text_object, sd->clip_object); evas_object_move(sd->text_object, ox, oy); evas_object_smart_member_add(sd->text_object, object); sd->selection_object = edje_object_add(evas); evas_object_pass_events_set(sd->selection_object, 1); evas_object_clip_set(sd->selection_object, sd->clip_object); evas_object_move(sd->selection_object, ox, oy); evas_object_smart_member_add(sd->selection_object, object); sd->cursor_object = edje_object_add(evas); evas_object_pass_events_set(sd->cursor_object, 1); evas_object_clip_set(sd->cursor_object, sd->clip_object); evas_object_move(sd->cursor_object, ox, oy); evas_object_smart_member_add(sd->cursor_object, object); _e_editable_cursor_update(object); }
void Object::setClip( Object* object ) { Dout( dc::notice, *this << " setClip" ); // FIXME: clipping with ? // TODO: is here a todo, if not remove comment! evas_object_clip_set( o, object->obj() ); }
static void _smart_clip_set(Evas_Object * obj, Evas_Object * clip) { INTERNAL_ENTRY; evas_object_clip_set(sd->obj, clip); }