e_client_util_pwin_get(const E_Client *ec)
{
if (!ec->pixmap) return 0;
+#if defined(HAVE_WAYLAND) && !defined(HAVE_WAYLAND_ONLY)
+ return e_pixmap_parent_window_get(e_comp_x_client_pixmap_get(ec));
+#else
return e_pixmap_parent_window_get(ec->pixmap);
+#endif
}
static inline Ecore_Window
e_client_util_win_get(const E_Client *ec)
{
if (!ec->pixmap) return 0;
+#if defined(HAVE_WAYLAND) && !defined(HAVE_WAYLAND_ONLY)
+ return e_pixmap_window_get(e_comp_x_client_pixmap_get(ec));
+#else
return e_pixmap_window_get(ec->pixmap);
+#endif
}
static inline Eina_Bool
_e_comp_x_client_stack(wc);
}
#endif
+
+E_API inline E_Pixmap *
+e_comp_x_client_pixmap_get(const E_Client *ec)
+{
+#ifdef HAVE_WAYLAND
+ if (!e_pixmap_is_x(ec->pixmap))
+ return e_comp_wl_client_xwayland_pixmap(ec);
+#endif
+ return ec->pixmap;
+}
E_API void e_alert_composite_win(Ecore_X_Window root, Ecore_X_Window win);
EINTERN void e_comp_x_nocomp_end(void);
EINTERN void e_comp_x_xwayland_client_setup(E_Client *ec, E_Client *wc);
+
+E_API E_Pixmap *e_comp_x_client_pixmap_get(const E_Client *ec);
+
# endif
#endif