name: "clip";
mouse_events: 0;
type: RECT;
- clip_to: "base";
+ /* clip_to: "base"; */
description {
state: "default" 0.0;
rel1.to: "base";
color3: 20 20 20 40;
}
}
+
+ part {
+ name: "over_clip";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ visible: 0;
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ visible: 1;
+ }
+ description {
+ state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: -0.5 -0.5;
+ rel2.relative: 1.5 1.5;
+ color: 255 255 255 0;
+ visible: 1;
+ }
+ description {
+ state: "huge" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 0;
+ rel1.relative: -1.5 -1.5;
+ rel2.relative: 2.5 2.5;
+ visible: 1;
+ }
+ }
+
+ part {
+ name: "over";
+ type: PROXY;
+ mouse_events: 0;
+ clip_to: "over_clip";
+ description {
+ state: "default" 0.0;
+ source: "e.swallow.icon";
+ rel1.to: "over_clip";
+ rel2.to: "over_clip";
+ visible: 0;
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "over2";
+ type: PROXY;
+ mouse_events: 0;
+ clip_to: "over_clip";
+ description {
+ state: "default" 0.0;
+ source: "e.swallow.thumb";
+ rel1.to: "over_clip";
+ rel2.to: "over_clip";
+ visible: 0;
+ }
+ description {
+ state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+
part {
name: "event";
type: RECT;
transition: DECELERATE 0.1;
target: "clip";
}
+ program {
+ name: "go_big";
+ action: STATE_SET "visible" 0.0;
+ target: "over_clip";
+ target: "over";
+ target: "over2";
+ after: "go_big2";
+ }
+
+ program {
+ name: "go_big2";
+ action: STATE_SET "huge" 0.0;
+ transition: DECELERATE 0.4;
+ target: "over_clip";
+ after: "go_big3";
+ }
+
+ program {
+ name: "go_big3";
+ action: STATE_SET "default" 0.0;
+ transition: DECELERATE 0.2;
+ target: "over_clip";
+ target: "over";
+ target: "over2";
+ }
+ program {
+ name: "action_go";
+ signal: "e,action,go";
+ source: "e";
+ action: ACTION_STOP;
+ target: "go_big";
+ target: "go_big2";
+ target: "go_big3";
+ after: "go_big";
+ }
}
}
group {
e_icon_size_get(it->thumb, &w, &h);
edje_extern_object_aspect_set(it->thumb, EDJE_ASPECT_CONTROL_BOTH, w, h);
+ edje_object_part_unswallow(it->frame, it->image);
edje_object_part_swallow(it->frame, "e.swallow.thumb", it->thumb);
evas_object_show(it->thumb);
edje_object_signal_emit(it->frame, "e,action,thumb,show_delayed", "e");
return ECORE_CALLBACK_PASS_ON;
}
+static Eina_Bool
+_cb_action_performed(void *data, int type __UNUSED__, void *event)
+{
+ Evry_Event_Action_Performed *ev = event;
+ View *v = data;
+ Eina_List *l;
+ Item *it;
+ Smart_Data *sd;
+
+ sd = evas_object_smart_data_get(v->span);
+ if (!sd) return ECORE_CALLBACK_PASS_ON;
+
+ EINA_LIST_FOREACH(sd->items, l, it)
+ {
+
+ if ((it->item == ev->it1) ||
+ (it->item == ev->it2))
+ break;
+ }
+
+ if (it && it->visible)
+ {
+ evas_object_raise(it->frame);
+ edje_object_signal_emit(it->frame, "e,action,go", "e");
+ }
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
static void
_view_cb_mouse_wheel(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
{
h = evry_event_handler_add(EVRY_EVENT_ITEM_CHANGED, _cb_item_changed, v);
v->handlers = eina_list_append(v->handlers, h);
-
+ h = evry_event_handler_add(EVRY_EVENT_ACTION_PERFORMED, _cb_action_performed, v);
+ v->handlers = eina_list_append(v->handlers, h);
+
return EVRY_VIEW(v);
}