desk = e_zone_desk_find_by_ec(zone, ec);
evas_pointer_canvas_xy_get(e_comp_evas_get(), &x, &y);
- comp_wl->drag = e_drag_new(x, y, _e_comp_wl_data_device_drag_finished);
+ comp_wl->drag = e_drag_new(seat, x, y, _e_comp_wl_data_device_drag_finished);
comp_wl->drag->button_mask = evas_pointer_button_down_mask_get(e_comp_evas_get());
if (drag_icon_ec)
{
#include "e_view_edje_intern.h"
#include "e_view_rect.h"
#include "e_input.h"
+#include "e_policy_desk_area_intern.h"
+
#include "services/e_service_kvm_intern.h"
struct _E_Drag_Hook
}
EINTERN E_Drag *
-e_drag_new(int x, int y, E_Drag_Finished_Cb finished_cb)
+e_drag_new(E_Seat *seat, int x, int y, E_Drag_Finished_Cb finished_cb)
{
E_Drag *drag;
drag = e_object_alloc(sizeof(E_Drag),
E_DRAG_TYPE, E_OBJECT_CLEANUP_FUNC(_e_drag_free));
if (!drag) return NULL;
+ drag->seat = seat;
drag->x = x;
drag->y = y;
drag->w = 24;
#include "e_dnd.h"
#include "e_view_intern.h"
#include "e_view_edje_intern.h"
+#include "e_seat_intern.h"
#define E_DRAG_TYPE 0xE0b0100f
struct _E_Drag
{
+ E_Seat *seat;
+
E_Object e_obj_inherit;
struct
{
EINTERN E_Drag *e_drag_current_get(void);
/* x and y are the top left coords of the object that is to be dragged */
-EINTERN E_Drag *e_drag_new(int x, int y, E_Drag_Finished_Cb finished_cb);
+EINTERN E_Drag *e_drag_new(E_Seat *seat, int x, int y, E_Drag_Finished_Cb finished_cb);
EINTERN void e_drag_view_set(E_Drag *drag, E_View *view);
EINTERN void e_drag_reference_point_set(E_Drag *drag, int x, int y);
EINTERN void e_drag_move(E_Drag *drag, int x, int y);