typedef struct _Ecore_Wl_Event_Window_Rotate Ecore_Wl_Event_Window_Rotate;
typedef struct _Ecore_Wl_Event_Window_Show Ecore_Wl_Event_Window_Show;
typedef struct _Ecore_Wl_Event_Window_Hide Ecore_Wl_Event_Window_Hide;
+typedef struct _Ecore_Wl_Event_Window_Lower Ecore_Wl_Event_Window_Lower;
typedef struct _Ecore_Wl_Event_Dnd_Enter Ecore_Wl_Event_Dnd_Enter;
typedef struct _Ecore_Wl_Event_Dnd_Position Ecore_Wl_Event_Dnd_Position;
typedef struct _Ecore_Wl_Event_Dnd_Leave Ecore_Wl_Event_Dnd_Leave;
unsigned int event_win;
};
+struct _Ecore_Wl_Event_Window_Lower
+{
+ unsigned int win;
+ unsigned int timestamp;
+};
+
struct _Ecore_Wl_Event_Dnd_Enter
{
unsigned int win, source;
EAPI extern int ECORE_WL_EVENT_WINDOW_VISIBILITY_CHANGE;
EAPI extern int ECORE_WL_EVENT_WINDOW_SHOW;
EAPI extern int ECORE_WL_EVENT_WINDOW_HIDE;
+EAPI extern int ECORE_WL_EVENT_WINDOW_LOWER;
EAPI extern int ECORE_WL_EVENT_WINDOW_ROTATE;
EAPI extern int ECORE_WL_EVENT_DND_ENTER;
EAPI extern int ECORE_WL_EVENT_DND_POSITION;
EAPI int ECORE_WL_EVENT_WINDOW_VISIBILITY_CHANGE = 0;
EAPI int ECORE_WL_EVENT_WINDOW_SHOW = 0;
EAPI int ECORE_WL_EVENT_WINDOW_HIDE = 0;
+EAPI int ECORE_WL_EVENT_WINDOW_LOWER = 0;
EAPI int ECORE_WL_EVENT_WINDOW_ROTATE = 0;
EAPI int ECORE_WL_EVENT_DND_ENTER = 0;
EAPI int ECORE_WL_EVENT_DND_POSITION = 0;
ECORE_WL_EVENT_WINDOW_VISIBILITY_CHANGE = ecore_event_type_new();
ECORE_WL_EVENT_WINDOW_SHOW = ecore_event_type_new();
ECORE_WL_EVENT_WINDOW_HIDE = ecore_event_type_new();
+ ECORE_WL_EVENT_WINDOW_LOWER = ecore_event_type_new();
ECORE_WL_EVENT_WINDOW_ROTATE = ecore_event_type_new();
ECORE_WL_EVENT_DND_ENTER = ecore_event_type_new();
ECORE_WL_EVENT_DND_POSITION = ecore_event_type_new();
EAPI void
ecore_wl_window_lower(Ecore_Wl_Window *win)
{
+ Ecore_Wl_Event_Window_Lower *ev;
+
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if (!win) return;
/* FIXME: This should lower the xdg surface also */
if (_ecore_wl_disp->wl.tz_policy)
- tizen_policy_lower(_ecore_wl_disp->wl.tz_policy, win->surface);
+ {
+ tizen_policy_lower(_ecore_wl_disp->wl.tz_policy, win->surface);
+
+ if (!(ev = calloc(1, sizeof(Ecore_Wl_Event_Window_Lower)))) return;
+
+ ev->win = win->id;
+ ecore_event_add(ECORE_WL_EVENT_WINDOW_LOWER, ev, NULL, NULL);
+ }
}
EAPI void