API_ENTRY_VAL(NULL);
return wl_signal_get(&priv->events.destroy, notify);
}
+
+EINTERN void
+e_client_shell_configure_send(E_Client *ec, uint32_t edges, int32_t width, int32_t height)
+{
+ EINA_SAFETY_ON_NULL_RETURN(ec);
+ EINA_SAFETY_ON_NULL_RETURN(ec->comp_data);
+
+ if ((!ec->comp_data->shell.surface) ||
+ (!ec->comp_data->shell.configure_send))
+ return;
+
+ ec->comp_data->shell.configure_send(ec->comp_data->shell.surface, edges, width, height);
+}
+
+EINTERN void
+e_client_shell_configure(E_Client *ec, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height)
+{
+ EINA_SAFETY_ON_NULL_RETURN(ec);
+ EINA_SAFETY_ON_NULL_RETURN(ec->comp_data);
+
+ if ((!ec->comp_data->shell.surface) ||
+ (!ec->comp_data->shell.configure))
+ return;
+
+ ec->comp_data->shell.configure(ec->comp_data->shell.surface, x, y, width, height);
+}
+
+EINTERN void
+e_client_shell_ping(E_Client *ec)
+{
+ EINA_SAFETY_ON_NULL_RETURN(ec);
+ EINA_SAFETY_ON_NULL_RETURN(ec->comp_data);
+
+ if ((!ec->comp_data->shell.surface) ||
+ (!ec->comp_data->shell.ping))
+ return;
+
+ ec->comp_data->shell.ping(ec->comp_data->shell.surface);
+}
+
+EINTERN void
+e_client_shell_map(E_Client *ec)
+{
+ EINA_SAFETY_ON_NULL_RETURN(ec);
+ EINA_SAFETY_ON_NULL_RETURN(ec->comp_data);
+
+ if ((!ec->comp_data->shell.surface) ||
+ (!ec->comp_data->shell.map))
+ return;
+
+ ec->comp_data->shell.map(ec->comp_data->shell.surface);
+}
+
+EINTERN void
+e_client_shell_unmap(E_Client *ec)
+{
+ EINA_SAFETY_ON_NULL_RETURN(ec);
+ EINA_SAFETY_ON_NULL_RETURN(ec->comp_data);
+
+ if ((!ec->comp_data->shell.surface) ||
+ (!ec->comp_data->shell.unmap))
+ return;
+
+ ec->comp_data->shell.unmap(ec->comp_data->shell.surface);
+}
EINTERN struct wl_listener *e_client_destroy_listener_get(E_Client *ec, wl_notify_func_t notify);
+void e_client_shell_configure_send(E_Client *ec, uint32_t edges, int32_t width, int32_t height);
+void e_client_shell_configure(E_Client *ec, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height);
+void e_client_shell_ping(E_Client *ec);
+void e_client_shell_map(E_Client *ec);
+void e_client_shell_unmap(E_Client *ec);
+
#endif
#include "e_foreign.h"
#include "e_wtz_shell.h"
#include "e_comp_wl_private.h"
+#include "e_client_intern.h"
#include <tizen-extension-server-protocol.h>
#include <relative-pointer-unstable-v1-server-protocol.h>
w = h = -1;
}
- ec->comp_data->shell.configure_send(ec->comp_data->shell.surface,
- edges * e_comp_wl->resize.edges,
- w, h);
+ e_client_shell_configure_send(ec, edges * e_comp_wl->resize.edges, w, h);
}
static void
h = E_CLAMP(h, 1, h);
e_client_resize_limit(ec, &w, &h);
- ec->comp_data->shell.configure_send(ec->comp_data->shell.surface,
- e_comp_wl->resize.edges,
- w, h);
+ e_client_shell_configure_send(ec, e_comp_wl->resize.edges, w, h);
}
else if ((!ec->fullscreen) && (!ec->maximized) &&
(!ec->comp_data->maximize_pre))
if (e_object_is_del(E_OBJECT(ec))) return;
- if (ec->comp_data->shell.configure_send)
- {
- e_client_maximized_geometry_get(ec, NULL, NULL, &w, &h);
- ec->comp_data->shell.configure_send(ec->comp_data->shell.surface, 0, w, h);
- }
+ e_client_maximized_geometry_get(ec, NULL, NULL, &w, &h);
+ e_client_shell_configure_send(ec, 0, w, h);
+
ec->comp_data->maximize_pre = 0;
}
E_Client *ec;
if (!(ec = data)) return;
- if (!(ec->comp_data)) return;
- if (!(ec->comp_data->shell.ping)) return;
- if (!(ec->comp_data->shell.surface)) return;
- ec->comp_data->shell.ping(ec->comp_data->shell.surface);
+ e_client_shell_ping(ec);
}
static void
}
ec->show_pending.running = EINA_FALSE;
}
- cdata->shell.unmap(cdata->shell.surface);
+ e_client_shell_unmap(ec);
}
else if ((ec->internal) ||
(e_comp_wl_subsurface_check(ec)) ||
(!ec->ignored))
{
ELOGF("COMP", "Try to map. Call shell.map.", ec);
- cdata->shell.map(cdata->shell.surface);
+ e_client_shell_map(ec);
}
else if ((ec->internal) ||
(e_comp_wl_subsurface_can_show(ec)) ||
if ((ec->comp_data->shell.surface) && (ec->comp_data->shell.unmap))
{
ELOGF("COMP", "Try to unmap2. Call shell.unmap.", ec);
- ec->comp_data->shell.unmap(ec->comp_data->shell.surface);
+ e_client_shell_unmap(ec);
}
else if (ec->internal || e_comp_wl_subsurface_check(ec) ||
(ec == e_comp_wl->drag_client))
(!ec->ignored))
{
ELOGF("COMP", "Try to map2. Call shell.map.", ec);
- ec->comp_data->shell.map(ec->comp_data->shell.surface);
+ e_client_shell_map(ec);
}
else if (ec->internal || e_comp_wl_subsurface_can_show(ec) ||
(ec == e_comp_wl->drag_client))
// cw interceptor(move,resize) won't work if wait_commit is TRUE
ec->surface_sync.wait_commit = EINA_FALSE;
- if ((ec->comp_data->shell.surface) &&
- (ec->comp_data->shell.configure))
- {
- ec->comp_data->shell.configure(ec->comp_data->shell.surface,
- ec->x, ec->y,
- ec->w, ec->h);
- }
+ e_client_shell_configure(ec, ec->x, ec->y, ec->w, ec->h);
// rollback wait_commit if there are pending requests remained
if (eina_list_count(ec->surface_sync.pending_geometry))
#include "e.h"
#include "e_policy_wl.h"
#include "e_device.h"
+#include "e_client_intern.h"
#include <tizen-remote-surface-server-protocol.h>
#include <tbm_surface.h>
#include <tbm_surface_internal.h>
if ((ec->comp_data->shell.surface) && (ec->comp_data->shell.unmap))
{
ELOGF("COMP", "Call shell.unmap by rsm", ec);
- ec->comp_data->shell.unmap(ec->comp_data->shell.surface);
+ e_client_shell_unmap(ec);
}
else
{
ec->client.h = state->bh;
e_client_size_set(ec, state->bw, state->bh);
- if ((ec->comp_data->shell.surface) && (ec->comp_data->shell.configure))
- ec->comp_data->shell.configure(ec->comp_data->shell.surface,
- x, y, ec->w, ec->h);
+ e_client_shell_configure(ec, x, y, ec->w, ec->h);
}
sx = state->sx;
#include "e.h"
+#include "e_client_intern.h"
#include <xdg-shell-unstable-v5-server-protocol.h>
#include <xdg-shell-unstable-v6-server-protocol.h>
#include <tizen-extension-server-protocol.h>
{
if (ec->comp_data->mapped)
{
- if ((ec->comp_data->shell.surface) &&
- (ec->comp_data->shell.unmap))
- {
- ELOGF("SHELL", "Call shell.unmap by destroy surface", ec);
- ec->comp_data->shell.unmap(ec->comp_data->shell.surface);
- }
+ ELOGF("SHELL", "Call shell.unmap by destroy surface", ec);
+ e_client_shell_unmap(ec);
}
e_policy_client_unmap(ec);
}
#endif
#include "e.h"
+#include "e_client_intern.h"
#include <xdg-shell-unstable-v5-server-protocol.h>
#include <eom-server-protocol.h>
#include <eom.h>
/* get the output size */
e_output_size_get(eom_output->output, &w, &h);
- cdata->shell.configure_send(cdata->shell.surface, 0, w, h);
+ e_client_shell_configure_send(ec, 0, w, h);
EOMINF("Send Configure Event for Presentation (%d X %d)", ec, eom_output->output, w, h);
#include "e.h"
+#include "e_client_intern.h"
#include <device/board-internal.h>
#define EOERR(f, output, x...) \
_e_output_client_resize(int w, int h)
{
E_Client *ec = NULL;
- E_Comp_Wl_Client_Data *cdata;
E_CLIENT_FOREACH(ec)
{
if ((ec->visible && !ec->input_only) ||
(e_client_util_name_get(ec) != NULL && !ec->input_only))
{
- cdata = e_client_cdata_get(ec);
- if (cdata == NULL) continue;
- if (cdata->shell.configure_send == NULL) continue;
-
- cdata->shell.configure_send(cdata->shell.surface, 0, w ,h);
+ e_client_shell_configure_send(ec, 0, w, h);
}
}
}
#include "e_policy_visibility.h"
#include "e_appinfo.h"
#include "e_subsurface_watcher.h"
+#include "e_client_intern.h"
#include <device/display.h>
#include <wayland-server.h>
e_client_frame_geometry_set(ec, x, y, w, h);
if (!ec->visible)
- {
- E_Comp_Wl_Client_Data *cdata;
- cdata = e_client_cdata_get(ec);
- if (cdata && cdata->shell.configure_send && cdata->shell.surface)
- {
- cdata->shell.configure_send(cdata->shell.surface, 0, w, h);
- }
- }
+ e_client_shell_configure_send(ec, 0, w, h);
}
// --------------------------------------------------------
static void
_e_policy_wl_cb_hook_shell_surface_ready(void *d, E_Client *ec)
{
- E_Comp_Wl_Client_Data *cdata;
+ int w = 0, h = 0;
if (EINA_UNLIKELY(!ec))
return;
e_client_base_output_resolution_transform_adjust(ec);
- cdata = e_client_cdata_get(ec);
- if ((cdata->shell.configure_send) &&
- (cdata->shell.surface))
+ if (ec->lock_client_size)
{
- int w = 0, h = 0;
- if (ec->lock_client_size)
- {
- w = ec->w;
- h = ec->h;
- }
- cdata->shell.configure_send(cdata->shell.surface, 0, w, h);
+ w = ec->w;
+ h = ec->h;
}
+ e_client_shell_configure_send(ec, 0, w, h);
}
static void