#include "e_pixmap_intern.h"
#include "e_policy_intern.h"
#include "e_policy_wl_intern.h"
+#include "e_tizen_indicator_intern.h"
#include "e_policy_private_data.h"
#include "e_client_intern.h"
#include "e_comp_object_intern.h"
-#include "e_layout_intern.h"
+#include "e_canvas_intern.h"
+#include "e_comp_canvas_intern.h"
+#include "e_view_rect.h"
#include "e_view_intern.h"
#include "e_view_client_intern.h"
-#include "e_tizen_indicator_intern.h"
+#include "e_view_layout_intern.h"
+#include "e_map_intern.h"
#define SMART_NAME "quickpanel_object"
-#define INTERNAL_ENTRY \
- Mover_Data *md; \
- md = evas_object_smart_data_get(obj); \
- if (!md) return
#define QP_SHOW(qp) \
do \
if (qp->bg_rect) \
{ \
ELOGF("QUICKPANEL", "SHOW BG_RECT...", qp->ec); \
- evas_object_stack_below(qp->bg_rect, qp->ec->frame); \
- evas_object_show(qp->bg_rect); \
+ e_view_place_below(e_view_rect_view_get(qp->bg_rect), e_view_client_view_get(e_client_view_get(qp->ec))); \
+ e_view_show(e_view_rect_view_get(qp->bg_rect)); \
} \
} \
} while (0)
if (qp->bg_rect) \
{ \
ELOGF("QUICKPANEL", "HIDE BG_RECT...", qp->ec); \
- evas_object_hide(qp->bg_rect); \
+ e_view_hide(e_view_rect_view_get(qp->bg_rect)); \
} \
} \
} while (0)
} while(0)
typedef struct _E_Policy_Quickpanel E_Policy_Quickpanel;
-typedef struct _Mover_Data Mover_Data;
+typedef struct _E_Policy_Quickpanel_Mover E_Policy_Quickpanel_Mover;
typedef struct _E_QP_Client E_QP_Client;
E_Client *below;
E_Client *stacking;
- Evas_Object *mover;
+ E_Policy_Quickpanel_Mover *mover;
Evas_Object *indi_obj;
Evas_Object *handler_obj;
- Evas_Object *bg_rect;
+ E_View_Rect *bg_rect;
Eina_List *intercept_hooks;
Eina_List *hooks;
struct wl_listener move_listener;
};
-struct _Mover_Data
+struct _E_Policy_Quickpanel_Mover
{
E_Policy_Quickpanel *qp;
E_Client *ec;
- Evas_Object *smart_obj; //smart object
- Evas_Object *qp_layout_obj; // quickpanel's e_layout_object
- Evas_Object *handler_mirror_obj; // quickpanel handler mirror object
- Evas_Object *base_clip; // clipper for quickapnel base object
- Evas_Object *handler_clip; // clipper for quickpanel handler object
+ E_View_Layout *qp_layout; // quickpanel's e_layout_object
+ E_View *handler_mirror; // quickpanel handler mirror object
+ E_View_Rect *base_clip; // clipper for quickapnel base object
+ E_View_Rect *handler_clip; // clipper for quickpanel handler object
- Eina_Rectangle handler_rect;
+ int x; /**< top-left x coordinate of rectangle */
+ int y; /**< top-left y coordinate of rectangle */
+ int w; /**< width of rectangle */
+ int h; /**< height of rectangle */
};
struct _E_QP_Client
};
static Eina_List *qp_services = NULL; /* list of E_Policy_Quickpanel for quickpanel services */
-static Evas_Smart *_mover_smart = NULL;
static Eina_Bool _changed = EINA_FALSE;
static E_QP_Mgr_Funcs *qp_mgr_funcs = NULL;
}
static void
-_mover_intercept_show(void *data, Evas_Object *obj)
+_e_qp_mover_element_destroy(E_Policy_Quickpanel_Mover *mover)
{
- Mover_Data *md;
- E_Client *ec;
- E_Desk *desk;
- Evas *e;
- E_Map *map;
- E_Map *map2;
- Evas_Object *effect_obj;
- E_Policy_Quickpanel *qp;
-
- md = data;
- qp = md->qp;
- ec = md->ec;
-
- /* force update */
- e_view_client_damage(e_client_view_get(ec), 0, 0, ec->w, ec->h);
- e_view_client_dirty(e_client_view_get(ec));
- e_view_client_render(e_client_view_get(ec));
+ if (!mover) return;
- // desk-zoom-set apply map on all e_desk's smart_data(clients)
- // to properly pack a quickpanel window on the mover's e_layout_object
- // (to became a member of mover) it shouldn't be in e_desk's clists.
- // because mover (also smart obj) is a member of e_desk
- // otherwize, desk-zoom will mutiplied on a ec again.
- if (e_config->qp_add_on_desk_smart)
+ if (mover->base_clip)
{
- desk = e_desk_current_get(qp->zone);
- e_desk_client_remove(desk, ec);
+ e_view_clip_unset(e_view_rect_view_get(mover->base_clip));
+ e_view_layout_unpack(e_view_rect_view_get(mover->base_clip));
+ e_view_destroy(e_view_rect_view_get(mover->base_clip));
+ mover->base_clip = NULL;
}
- e_layout_pack(md->qp_layout_obj, ec->frame);
-
- // create base_clip
- e = evas_object_evas_get(obj);
- md->base_clip = evas_object_rectangle_add(e);
- e_layout_pack(md->qp_layout_obj, md->base_clip);
- e_layout_child_move(md->base_clip, 0, 0);
- e_layout_child_resize(md->base_clip, ec->w, ec->h);
- evas_object_color_set(md->base_clip, 255, 255, 255, 255);
- evas_object_show(md->base_clip);
- evas_object_clip_set(ec->frame, md->base_clip);
-
- // create handler_mirror_obj
- md->handler_mirror_obj = e_comp_object_util_mirror_add(ec->frame);
- effect_obj = e_comp_object_effect_object_get(ec->frame);
- if (evas_object_map_enable_get(effect_obj))
+ if (mover->handler_clip)
{
- map = e_comp_object_map_get(effect_obj);
- map2 = e_map_dup(map);
- e_comp_object_map_set(md->handler_mirror_obj, map2);
- e_comp_object_map_enable_set(md->handler_mirror_obj, EINA_TRUE);
- e_map_free(map2);
- e_map_free(map);
+ e_view_clip_unset(e_view_rect_view_get(mover->handler_clip));
+ e_view_layout_unpack(e_view_rect_view_get(mover->handler_clip));
+ e_view_destroy(e_view_rect_view_get(mover->handler_clip));
+ mover->handler_clip = NULL;
}
- e_layout_pack(md->qp_layout_obj, md->handler_mirror_obj);
- e_layout_child_move(md->handler_mirror_obj, 0, 0);
- e_layout_child_resize(md->handler_mirror_obj, ec->w, ec->h);
- evas_object_show(md->handler_mirror_obj);
-
- // create handler_clip
- md->handler_clip = evas_object_rectangle_add(e);
- e_layout_pack(md->qp_layout_obj, md->handler_clip);
- e_layout_child_move(md->handler_clip, md->handler_rect.x, md->handler_rect.y);
- e_layout_child_resize(md->handler_clip, md->handler_rect.w, md->handler_rect.h);
- if (e_config->qp_handler.use_alpha)
- evas_object_color_set(md->handler_clip, 255, 255, 255, e_config->qp_handler.alpha);
- else
- evas_object_color_set(md->handler_clip, 255, 255, 255, 255);
- evas_object_show(md->handler_clip);
- evas_object_clip_set(md->handler_mirror_obj, md->handler_clip);
-
- evas_object_show(obj);
-
- if (e_config->qp_add_on_desk_smart)
+ if (mover->handler_mirror)
{
- desk = e_desk_current_get(qp->zone);
- e_desk_smart_member_add(desk, obj);
+ e_view_layout_unpack(mover->handler_mirror);
+ e_view_destroy(mover->handler_mirror);
+ mover->handler_mirror = NULL;
}
}
-static void
-_mover_smart_add(Evas_Object *obj)
+E_Policy_Quickpanel_Mover *
+_e_qp_mover_create(E_Policy_Quickpanel *qp)
{
- Mover_Data *md;
+ E_Policy_Quickpanel_Mover *mover = NULL;
+ E_View_Tree *tree = NULL;
- md = E_NEW(Mover_Data, 1);
- if (EINA_UNLIKELY(!md))
- return;
+ mover = E_NEW(E_Policy_Quickpanel_Mover, 1);
+ if (!mover) return NULL;
+ mover->qp = qp;
+ mover->ec = qp->ec;
+
+ tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), e_canvas_util_e_layer_map(qp->ec->layer));
+ if (!tree) goto fail;
+ mover->qp_layout = e_view_layout_create(tree);
+ if (!mover->qp_layout) goto fail;
- md->smart_obj = obj;
- md->qp_layout_obj = e_layout_add(evas_object_evas_get(obj));
- evas_object_color_set(md->qp_layout_obj, 255, 255, 255, 255);
- evas_object_smart_member_add(md->qp_layout_obj, md->smart_obj);
+ e_view_layout_color_set(mover->qp_layout, 255, 255, 255, 255);
+ e_view_layout_move(mover->qp_layout, -1, -1);
- evas_object_smart_data_set(obj, md);
+ return mover;
- evas_object_move(obj, -1 , -1);
- evas_object_intercept_show_callback_add(obj, _mover_intercept_show, md);
+fail:
+ E_FREE(mover);
+ return NULL;
}
static void
-_mover_smart_del(Evas_Object *obj)
+_e_qp_mover_destroy(E_Policy_Quickpanel_Mover *mover)
{
E_Client *ec;
- E_Desk *desk;
- E_Policy_Quickpanel *qp;
- INTERNAL_ENTRY;
+ if (!mover) return;
- qp = md->qp;
- ec = md->ec;
- if (md->base_clip)
- {
- evas_object_clip_unset(md->base_clip);
- e_layout_unpack(md->base_clip);
- evas_object_del(md->base_clip);
- }
- if (md->handler_clip)
- {
- evas_object_clip_unset(md->handler_clip);
- e_layout_unpack(md->handler_clip);
- evas_object_del(md->handler_clip);
- }
- if (md->handler_mirror_obj)
+ ec = mover->ec;
+
+ _e_qp_mover_element_destroy(mover);
+
+ if (mover->qp_layout)
{
- e_layout_unpack(md->handler_mirror_obj);
- evas_object_del(md->handler_mirror_obj);
+ e_view_layout_destroy(mover->qp_layout);
+ mover->qp_layout = NULL;
}
- if (md->qp_layout_obj) evas_object_del(md->qp_layout_obj);
-
e_view_color_set(e_view_client_view_get(e_client_view_get(ec)), ec->netwm.opacity, ec->netwm.opacity, ec->netwm.opacity, ec->netwm.opacity);
e_comp_client_override_del(ec);
e_view_client_dirty(e_client_view_get(ec));
e_view_client_render(e_client_view_get(ec));
- e_layout_unpack(ec->frame);
-
- if (e_config->qp_add_on_desk_smart)
- {
- desk = e_desk_current_get(qp->zone);
- e_desk_smart_member_add(desk, ec->frame);
- }
+ e_view_layout_unpack(e_view_client_view_get(e_client_view_get(ec)));
- free(md);
+ E_FREE(mover);
}
static void
-_mover_smart_show(Evas_Object *obj)
+_e_qp_mover_show(E_Policy_Quickpanel_Mover *mover)
{
- INTERNAL_ENTRY;
+ E_Client *ec;
+ E_Map *map;
+ E_Map *map2;
+ int color[4] = { 255, 255, 255, 255 };
+ E_View_Tree *tree = NULL;
+ E_View *effect = NULL;
- evas_object_show(md->qp_layout_obj);
-}
+ if (!mover) return;
-static void
-_mover_smart_hide(Evas_Object *obj)
-{
- INTERNAL_ENTRY;
+ ec = mover->ec;
+
+ tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), E_CANVAS_LAYER_CLIENT_NORMAL);
+ if (!tree) return;
+
+ /* force update */
+ e_view_client_damage(e_client_view_get(ec), 0, 0, ec->w, ec->h);
+ e_view_client_dirty(e_client_view_get(ec));
+ e_view_client_render(e_client_view_get(ec));
+
+ e_view_layout_pack(mover->qp_layout, e_view_client_view_get(e_client_view_get(ec)));
+
+ // create base_clip
+ mover->base_clip = e_view_rect_create(tree, 1, 1, color);
+ if (!mover->base_clip) return;
+
+ e_view_layout_pack(mover->qp_layout, e_view_rect_view_get(mover->base_clip));
+ e_view_layout_child_move(e_view_rect_view_get(mover->base_clip), 0, 0);
+ e_view_layout_child_resize(e_view_rect_view_get(mover->base_clip), ec->w, ec->h);
+ e_view_show(e_view_rect_view_get(mover->base_clip));
+ e_view_clip_set(e_view_client_view_get(e_client_view_get(ec)), e_view_rect_view_get(mover->base_clip));
+
+ // create handler_mirror
+ mover->handler_mirror = e_view_client_util_mirror_add(e_client_view_get(ec));
+ if (!mover->handler_mirror) goto fail;
+ effect = e_view_client_effect_object_get(e_client_view_get(ec));
+ if (e_view_map_enable_get(effect))
+ {
+ map = e_map_get_from_comp_object(effect->eo);
+ map2 = e_map_dup(map);
+ e_view_map_set(mover->handler_mirror, map2);
+ e_view_map_enable_set(mover->handler_mirror, true);
+ e_map_free(map2);
+ e_map_free(map);
+ }
+ e_view_layout_pack(mover->qp_layout, mover->handler_mirror);
+ e_view_layout_child_move(mover->handler_mirror, 0, 0);
+ e_view_layout_child_resize(mover->handler_mirror, ec->w, ec->h);
+ e_view_show(mover->handler_mirror);
+
+ // create handler_clip
+ mover->handler_clip = e_view_rect_create(tree, 1, 1, color);
+ if (!mover->handler_clip) goto fail;
+ e_view_layout_pack(mover->qp_layout, e_view_rect_view_get(mover->handler_clip));
+ e_view_layout_child_move(e_view_rect_view_get(mover->handler_clip), mover->x, mover->y);
+ e_view_layout_child_resize(e_view_rect_view_get(mover->handler_clip), mover->w, mover->h);
+ if (e_config->qp_handler.use_alpha)
+ e_view_rect_color_set(mover->handler_clip, 255, 255, 255, e_config->qp_handler.alpha);
+ e_view_show(e_view_rect_view_get(mover->handler_clip));
+ e_view_clip_set(mover->handler_mirror, e_view_rect_view_get(mover->handler_clip));
+
+ e_view_layout_show(mover->qp_layout);
+
+ return;
- evas_object_hide(md->qp_layout_obj);
+fail:
+ _e_qp_mover_element_destroy(mover);
}
+#if 0
static void
-_mover_smart_move(Evas_Object *obj, int x, int y)
+_e_qp_mover_hide(E_Policy_Quickpanel_Mover *mover)
{
- INTERNAL_ENTRY;
+ if (!mover) return;
- evas_object_move(md->qp_layout_obj, x, y);
+ e_view_layout_hide(mover->qp_layout);
}
+#endif
static void
-_mover_smart_resize(Evas_Object *obj, int w, int h)
+_e_qp_mover_move(E_Policy_Quickpanel_Mover *mover, int x, int y)
{
- INTERNAL_ENTRY;
+ if (!mover) return;
- e_layout_virtual_size_set(md->qp_layout_obj, w, h);
- evas_object_resize(md->qp_layout_obj, w, h);
+ mover->x = x;
+ mover->y = y;
+ e_view_layout_move(mover->qp_layout, x, y);
}
static void
-_mover_smart_init(void)
+_e_qp_mover_resize(E_Policy_Quickpanel_Mover *mover, int w, int h)
{
- if (_mover_smart) return;
- {
- static const Evas_Smart_Class sc =
- {
- SMART_NAME,
- EVAS_SMART_CLASS_VERSION,
- _mover_smart_add,
- _mover_smart_del,
- _mover_smart_move,
- _mover_smart_resize,
- _mover_smart_show,
- _mover_smart_hide,
- NULL, /* color_set */
- NULL, /* clip_set */
- NULL, /* clip_unset */
- NULL, /* calculate */
- NULL, /* member_add */
- NULL, /* member_del */
-
- NULL, /* parent */
- NULL, /* callbacks */
- NULL, /* interfaces */
- NULL /* data */
- };
- _mover_smart = evas_smart_class_new(&sc);
- }
+ if (!mover) return;
+
+ mover->w = w;
+ mover->h = h;
+ e_view_layout_virtual_size_set(mover->qp_layout, w, h);
+ e_view_layout_resize(mover->qp_layout, w, h);
}
-static Evas_Object *
+static void
_e_qp_srv_mover_new(E_Policy_Quickpanel *qp)
{
- Evas_Object *mover;
- Mover_Data *md;
+ E_Policy_Quickpanel_Mover *mover = NULL;
int x, y, w, h;
E_Desk *desk;
int tx, ty;
e_comp_client_override_add(qp->ec);
- _mover_smart_init();
- mover = evas_object_smart_add(evas_object_evas_get(qp->ec->frame), _mover_smart);
-
- /* Should setup 'md' before call evas_object_show() */
- md = evas_object_smart_data_get(mover);
- EINA_SAFETY_ON_NULL_RETURN_VAL(md, NULL);
-
- md->ec = qp->ec;
+ mover = _e_qp_mover_create(qp);
+ if (!mover) return;
- evas_object_layer_set(md->smart_obj, qp->ec->layer);
+ qp->mover = mover;
e_service_region_rectangle_get(qp->handler_obj, qp->rotation, &x, &y, &w, &h);
- EINA_RECTANGLE_SET(&md->handler_rect, x, y, w, h);
+ mover->x = x;
+ mover->y = y;
+ mover->w = w;
+ mover->h = h;
tx = qp->zone->x;
ty = qp->zone->y;
tx = desk->geom.x;
ty = desk->geom.y;
}
-
- evas_object_move(mover, tx, ty);
- evas_object_resize(mover, qp->ec->w, qp->ec->h);
- evas_object_show(mover);
-
- qp->mover = mover;
-
- return mover;
+ _e_qp_mover_move(mover, tx, ty);
+ _e_qp_mover_resize(mover, qp->ec->w, qp->ec->h);
+ _e_qp_mover_show(mover);
}
static Eina_Bool
_e_qp_srv_mover_object_relocate(E_Policy_Quickpanel *qp, int x, int y)
{
E_Client *ec;
- Mover_Data *md;
int tx, ty, tw, th;
E_Map *map;
E_Map *map2 = NULL;
- Evas_Object *effect_obj;
+ E_Policy_Quickpanel_Mover *mover;
+ E_View *effect;
int map_count, i;
+ if (!qp->mover) return EINA_FALSE;
+ mover = qp->mover;
ec = qp->ec;
- md = evas_object_smart_data_get(qp->mover);
- EINA_SAFETY_ON_NULL_RETURN_VAL(md, EINA_FALSE);
+ effect = e_view_client_effect_object_get(e_client_view_get(ec));
+ if (!effect) return EINA_FALSE;
- effect_obj = e_comp_object_effect_object_get(ec->frame);
- if (evas_object_map_enable_get(effect_obj))
+ if (e_view_map_enable_get(effect))
{
- map = e_comp_object_map_get(effect_obj);
+ map = e_map_get_from_comp_object(effect->eo);
map2 = e_map_dup(map);
e_map_free(map);
}
else
{
- e_comp_object_map_set(md->handler_mirror_obj, NULL);
- e_comp_object_map_enable_set(md->handler_mirror_obj, EINA_FALSE);
+ e_view_map_set(mover->handler_mirror, NULL);
+ e_view_map_enable_set(mover->handler_mirror, false);
}
- evas_object_geometry_get(qp->mover, &tx, &ty, &tw, &th);
+ e_view_layout_geometry_get(mover->qp_layout, &tx, &ty, &tw, &th);
switch (qp->rotation)
{
case E_POLICY_ANGLE_MAP_90:
if (x < tx) goto ret_false;
- if ((x + md->handler_rect.w) > (tx+tw)) goto ret_false;
+ if ((x + mover->w) > (tx + tw)) goto ret_false;
- e_layout_child_move(md->base_clip, 0, 0);
- e_layout_child_resize(md->base_clip, x - tx, ec->h);
+ e_view_layout_child_move(e_view_rect_view_get(mover->base_clip), 0, 0);
+ e_view_layout_child_resize(e_view_rect_view_get(mover->base_clip), x - tx, ec->h);
- e_layout_child_move(md->handler_mirror_obj, x - tx - ec->w + md->handler_rect.w, 0);
- e_layout_child_move(md->handler_clip, x - tx, 0);
+ e_view_layout_child_move(mover->handler_mirror, x - tx - ec->w + mover->w, 0);
+ e_view_layout_child_move(e_view_rect_view_get(mover->handler_clip), x - tx, 0);
if (map2)
{
{
int mx, my, mz;
e_map_point_coord_get(map2, i, &mx, &my, &mz);
- e_map_point_coord_set(map2, i, mx + (x - tx - ec->w + md->handler_rect.w), my, mz);
+ e_map_point_coord_set(map2, i, mx + (x - tx - ec->w + mover->w), my, mz);
}
}
break;
case E_POLICY_ANGLE_MAP_180:
- if (y > (ty+th)) goto ret_false;
- if ((y - md->handler_rect.h) < ty) goto ret_false;
+ if (y > (ty + th)) goto ret_false;
+ if ((y - mover->h) < ty) goto ret_false;
- e_layout_child_move(md->base_clip, 0, y - ty);
- e_layout_child_resize(md->base_clip, ec->w, ty + ec->h - y);
+ e_view_layout_child_move(e_view_rect_view_get(mover->base_clip), 0, y - ty);
+ e_view_layout_child_resize(e_view_rect_view_get(mover->base_clip), ec->w, ty + ec->h - y);
- e_layout_child_move(md->handler_mirror_obj, 0, y - ty - md->handler_rect.h);
- e_layout_child_move(md->handler_clip, 0, y - ty - md->handler_rect.h);
+ e_view_layout_child_move(mover->handler_mirror, 0, y - ty - mover->h);
+ e_view_layout_child_move(e_view_rect_view_get(mover->handler_clip), 0, y - ty - mover->h);
if (map2)
{
{
int mx, my, mz;
e_map_point_coord_get(map2, i, &mx, &my, &mz);
- e_map_point_coord_set(map2, i, mx, my + (y - ty - md->handler_rect.h), mz);
+ e_map_point_coord_set(map2, i, mx, my + (y - ty - mover->h), mz);
}
}
break;
case E_POLICY_ANGLE_MAP_270:
- if ((x + md->handler_rect.w) > (tx+tw)) goto ret_false;
- if ((x - md->handler_rect.w) < tx) goto ret_false;
+ if ((x + mover->w) > (tx + tw)) goto ret_false;
+ if ((x - mover->w) < tx) goto ret_false;
- e_layout_child_move(md->base_clip, x - tx, 0);
- e_layout_child_resize(md->base_clip, tx + ec->w - x, ec->h);
+ e_view_layout_child_move(e_view_rect_view_get(mover->base_clip), x - tx, 0);
+ e_view_layout_child_resize(e_view_rect_view_get(mover->base_clip), tx + ec->w - x, ec->h);
- e_layout_child_move(md->handler_mirror_obj, x - tx - md->handler_rect.w, 0);
- e_layout_child_move(md->handler_clip, x - tx - md->handler_rect.w, 0);
+ e_view_layout_child_move(mover->handler_mirror, x - tx - mover->w, 0);
+ e_view_layout_child_move(e_view_rect_view_get(mover->handler_clip), x - tx - mover->w, 0);
if (map2)
{
{
int mx, my, mz;
e_map_point_coord_get(map2, i, &mx, &my, &mz);
- e_map_point_coord_set(map2, i, mx + (x - tx - md->handler_rect.w), my, mz);
+ e_map_point_coord_set(map2, i, mx + (x - tx - mover->w), my, mz);
}
}
break;
default:
if (y < ty) goto ret_false;
- if ((y + md->handler_rect.h) > (ty+th)) goto ret_false;
+ if ((y + mover->h) > (ty + th)) goto ret_false;
- e_layout_child_move(md->base_clip, 0, 0);
- e_layout_child_resize(md->base_clip, ec->w, y - ty);
+ e_view_layout_child_move(e_view_rect_view_get(mover->base_clip), 0, 0);
+ e_view_layout_child_resize(e_view_rect_view_get(mover->base_clip), ec->w, y - ty);
- e_layout_child_move(md->handler_mirror_obj, 0, y - ty - ec->h + md->handler_rect.h);
- e_layout_child_move(md->handler_clip, 0, y - ty);
+ e_view_layout_child_move(mover->handler_mirror, 0, y - ty - ec->h + mover->h);
+ e_view_layout_child_move(e_view_rect_view_get(mover->handler_clip), 0, y - ty);
if (map2)
{
{
int mx, my, mz;
e_map_point_coord_get(map2, i, &mx, &my, &mz);
- e_map_point_coord_set(map2, i, mx, my + (y - ty - ec->h + md->handler_rect.h), mz);
+ e_map_point_coord_set(map2, i, mx, my + (y - ty - ec->h + mover->h), mz);
}
}
}
if (map2)
{
- e_comp_object_map_set(md->handler_mirror_obj, map2);
- e_comp_object_map_enable_set(md->handler_mirror_obj, EINA_TRUE);
+ e_view_map_set(mover->handler_mirror, map2);
+ e_view_map_enable_set(mover->handler_mirror, true);
e_map_free(map2);
}
return EINA_FALSE;
}
-static void
-_e_qp_srv_mover_cb_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
-{
- E_Policy_Quickpanel *qp;
-
- qp = data;
- QP_VISIBLE_SET(qp, qp->effect.final_visible_state);
- E_FREE_FUNC(qp->effect.animator, ecore_animator_del);
-}
-
static void
_e_qp_srv_event_free(void *d EINA_UNUSED, E_Event_Client *ev)
{
if (qp->mover)
{
- evas_object_event_callback_del(qp->mover, EVAS_CALLBACK_DEL, _e_qp_srv_mover_cb_del);
- E_FREE_FUNC(qp->mover, evas_object_del);
+ _e_qp_mover_destroy(qp->mover);
+ qp->mover = NULL;
}
QP_VISIBLE_SET(qp, qp->effect.final_visible_state);
qp->effect.final_visible_state = visible;
qp->effect.animator =
ecore_animator_timeline_add(duration, _e_qp_srv_effect_finish_job_op, qp);
-
- if (qp->mover)
- evas_object_event_callback_add(qp->mover, EVAS_CALLBACK_DEL, _e_qp_srv_mover_cb_del, qp);
}
static void
_e_qp_srv_effect_finish_job_stop(E_Policy_Quickpanel *qp)
{
- if (qp->mover)
- evas_object_event_callback_del(qp->mover, EVAS_CALLBACK_DEL, _e_qp_srv_mover_cb_del);
E_FREE_FUNC(qp->effect.animator, ecore_animator_del);
if (qp->effect.final_visible_state)
else if (weight < 0) weight = 0;
dim = (int)(178 * weight);
- evas_object_color_set(qp->bg_rect, 0, 0, 0, dim);
+ e_view_rect_color_set(qp->bg_rect, 0, 0, 0, dim);
}
e_client_util_move_without_frame(ec, new_x, new_y);
{
e_zone_orientation_block_set(qp->zone, "quickpanel-mover", EINA_FALSE);
QP_VISIBLE_SET(qp, EINA_FALSE);
- E_FREE_FUNC(qp->mover, evas_object_del);
+ _e_qp_mover_destroy(qp->mover);
+ qp->mover = NULL;
}
}
}
if (qp->bg_rect)
- evas_object_del(qp->bg_rect);
+ e_view_destroy(e_view_rect_view_get(qp->bg_rect));
- E_FREE_FUNC(qp->mover, evas_object_del);
+ _e_qp_mover_destroy(qp->mover);
+ qp->mover = NULL;
E_FREE_FUNC(qp->indi_obj, evas_object_del);
E_FREE_FUNC(qp->handler_obj, evas_object_del);
E_FREE_FUNC(qp->effect.animator, ecore_animator_del);
if (qp->ec != ec)
goto end;
- E_FREE_FUNC(qp->mover, evas_object_del);
+ _e_qp_mover_destroy(qp->mover);
+ qp->mover = NULL;
_e_qp_srv_effect_disable_ref(qp);
// bg rect
if (e_config->qp_use_bg_rect)
{
- Evas_Object *o;
- o = evas_object_rectangle_add(e_comp_evas_get());
+ E_View_Tree *tree;
+ int color[4] = { 0, 0, 0, 0 };
+ tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), e_canvas_util_e_layer_map(E_LAYER_CLIENT_ALERT_LOW));
- qp->bg_rect = o;
- evas_object_layer_set(o, E_POLICY_QUICKPANEL_LAYER);
- evas_object_name_set(o, "qp::bg_rect");
- evas_object_move(o, 0, 0);
- evas_object_resize(o, qp->zone->w, qp->zone->h);
- evas_object_color_set(o, 0, 0, 0, 0);
- evas_object_lower(o);
+ qp->bg_rect = e_view_rect_create(tree, qp->zone->w, qp->zone->h, color);
+ e_view_name_set(e_view_rect_view_get(qp->bg_rect), "qp::bg_rect");
+ e_view_position_set(e_view_rect_view_get(qp->bg_rect), 0, 0);
+ e_view_lower_to_bottom(e_view_rect_view_get(qp->bg_rect));
}
else
qp->bg_rect = NULL;