_e_comp_object_map_transform_pos(E_Client *ec, int sx, int sy, int *dx, int *dy)
{
E_Comp_Wl_Buffer_Viewport *vp;
+ E_Comp_Wl_Client_Data *cdata;
int transform;
int bw, bh, tx, ty;
- if (!ec || !ec->comp_data || e_object_is_del(E_OBJECT(ec)))
+ cdata = e_client_cdata_get(ec);
+
+ if (!ec || !cdata || e_object_is_del(E_OBJECT(ec)))
{
*dx = sx;
*dy = sy;
return;
}
- vp = &ec->comp_data->scaler.buffer_viewport;
+ vp = &cdata->scaler.buffer_viewport;
transform = e_comp_wl_output_buffer_transform_get(ec);
e_pixmap_size_get(ec->pixmap, &bw, &bh);
/* for subsurface, it should be swap 90 and 270 */
- if (ec->comp_data->sub.data)
+ if (cdata->sub.data)
switch (transform)
{
case WL_OUTPUT_TRANSFORM_90: transform = WL_OUTPUT_TRANSFORM_270; break;
_e_comp_intercept_layer_set(void *data, Evas_Object *obj, int layer)
{
E_Comp_Object *cw = data;
+ E_Comp_Wl_Client_Data *cdata, *child_cdata;
unsigned int l = e_comp_canvas_layer_map(layer);
int oldraise;
e_comp_render_queue();
}
ec = e_client_above_get(cw->ec);
+ cdata = e_client_cdata_get(ec);
/* skip subsurface: stacking subsurface is handled by e_comp_wl */
- while ((ec) && (ec->comp_data) && (ec->comp_data->sub.data))
+ while ((ec) && (cdata) && (cdata->sub.data))
ec = e_client_above_get(ec);
if (ec && (evas_object_layer_get(ec->frame) != evas_object_layer_get(obj)))
{
ec = e_client_below_get(cw->ec);
/* skip subsurface: stacking subsurface is handled by e_comp_wl */
- while ((ec) && (ec->comp_data) && (ec->comp_data->sub.data))
+ while ((ec) && (cdata) && (cdata->sub.data))
ec = e_client_below_get(ec);
if (ec && (evas_object_layer_get(ec->frame) == evas_object_layer_get(cw->smart_obj)))
{
e_config->transient.raise = 1;
EINA_LIST_FREE(list, child)
{
- if (child->comp_data && !child->comp_data->mapped)
+ child_cdata = e_client_cdata_get(child);
+ if (child_cdata && !child_cdata->mapped)
{
ELOGF("COMP", "LAYER_SET CHILD. BUT not mapped. skip. child(ec:%p, win:0x%08zx)", cw->ec, child, e_client_util_win_get(child));
continue;
{
API_ENTRY;
E_Client *ec = cw->ec;
+ E_Comp_Wl_Client_Data *cdata;
Evas_Map *map;
int x1, y1, x2, y2, x, y, bw, bh, tw, th;
char buffer[128];
char *p = buffer;
int l, remain = sizeof buffer;
- if (!ec || !ec->comp_data || e_object_is_del(E_OBJECT(ec))) return;
+ if (!ec) return;
+ if (e_object_is_del(E_OBJECT(ec))) return;
+ cdata = e_client_cdata_get(ec);
+ if (!cdata) return;
/* if buffer had been flushed, buffer could be NULL. Then map will be applied
* when new buffer is attached.
*/
- if (!ec->comp_data->buffer_ref.buffer) return;
+ if (!cdata->buffer_ref.buffer) return;
if ((!cw->redirected) ||
(!e_comp_wl_output_buffer_transform_get(ec) &&
- ec->comp_data->scaler.buffer_viewport.buffer.scale == 1))
+ cdata->scaler.buffer_viewport.buffer.scale == 1))
{
if (evas_object_map_enable_get(cw->effect_obj))
{
{
API_ENTRY EINA_FALSE;
EINA_SAFETY_ON_NULL_RETURN_VAL(cw->ec, EINA_FALSE);
-
- if ((!cw->ec) || (!cw->ec->comp_data) || (e_object_is_del(E_OBJECT(cw->ec))))
- return EINA_FALSE;
+ if (e_object_is_del(E_OBJECT(cw->ec))) return EINA_FALSE;
+ if (!e_client_cdata_get(cw->ec)) return EINA_FALSE;
switch (filter)
{
{
API_ENTRY E_COMP_IMAGE_FILTER_NONE;
EINA_SAFETY_ON_NULL_RETURN_VAL(cw->ec, E_COMP_IMAGE_FILTER_NONE);
-
- if ((!cw->ec->comp_data) || (e_object_is_del(E_OBJECT(cw->ec))))
- return E_COMP_IMAGE_FILTER_NONE;
+ if (e_object_is_del(E_OBJECT(cw->ec))) return E_COMP_IMAGE_FILTER_NONE;
+ if (!e_client_cdata_get(cw->ec)) return E_COMP_IMAGE_FILTER_NONE;
return cw->image_filter;
}