E_HWC_WINDOW_RESTRICTION_PIXMAP_RESOURCE,
E_HWC_WINDOW_RESTRICTION_OBSCURED_BY_TARGET,
E_HWC_WINDOW_RESTRICTION_IMAGE_FILTER,
+ E_HWC_WINDOW_RESTRICTION_DESK_GEOMETRY,
} E_Hwc_Window_Restriction;
static Eina_Bool ehw_trace = EINA_FALSE;
int transform;
Eina_Bool available = EINA_TRUE;
E_Hwc_Window_Restriction restriction = E_HWC_WINDOW_RESTRICTION_NONE;
+ E_Desk *desk;
int count;
EINA_SAFETY_ON_NULL_RETURN_VAL(hwc_window, EINA_FALSE);
goto finish;
}
+ desk = e_desk_current_get(ec->zone);
+ if (desk)
+ {
+ if ((desk->geom.x != ec->zone->x) || (desk->geom.y != ec->zone->y) ||
+ (desk->geom.w != ec->zone->w) || (desk->geom.h != ec->zone->h))
+ {
+ restriction = E_HWC_WINDOW_RESTRICTION_DESK_GEOMETRY;
+ available = EINA_FALSE;
+ goto finish;
+ }
+ }
+
transform = e_comp_wl_output_buffer_transform_get(ec);
if ((eout->config.rotation / 90) != transform)
{
return "obscured by target";
case E_HWC_WINDOW_RESTRICTION_IMAGE_FILTER:
return "image filter";
+ case E_HWC_WINDOW_RESTRICTION_DESK_GEOMETRY:
+ return "desk geometry";
default:
return "UNKNOWN";
}