if (hwc->hwc_policy == E_HWC_POLICY_PLANES)
e_hwc_planes_end(output->hwc, location);
+ else if (hwc->hwc_policy == E_HWC_POLICY_WINDOWS)
+ e_hwc_windows_client_type_override(output->hwc);
}
EINTERN void
{
EINA_SAFETY_ON_NULL_RETURN(hwc_window);
- if (hwc_window->state == E_HWC_WINDOW_STATE_CLIENT) return;
+ if (hwc_window->is_target) return;
+ if (hwc_window->is_video) return;
+
+ if ((hwc_window->state == E_HWC_WINDOW_STATE_CLIENT) ||
+ (hwc_window->state == E_HWC_WINDOW_STATE_VIDEO) ||
+ (hwc_window->state == E_HWC_WINDOW_STATE_NONE))
+ return;
e_hwc_window_device_state_available_update(hwc_window);
e_hwc_window_state_set(hwc_window, E_HWC_WINDOW_STATE_CLIENT, EINA_TRUE);
return EINA_TRUE;
}
+
+EINTERN void
+e_hwc_windows_client_type_override(E_Hwc *hwc)
+{
+ E_Hwc_Window *hwc_window;
+ Eina_List *l;
+
+ EINA_SAFETY_ON_NULL_RETURN(hwc);
+
+ EINA_LIST_FOREACH(hwc->hwc_windows, l, hwc_window)
+ {
+ if (hwc_window->is_target) continue;
+
+ e_hwc_window_client_type_override(hwc_window);
+ }
+}
EINTERN Eina_Bool e_hwc_windows_present_sync(E_Hwc *hwc);
+EINTERN void e_hwc_windows_client_type_override(E_Hwc *hwc);
+
#endif
#endif