if (e_hwc_policy_get(hwc) == E_HWC_POLICY_WINDOWS)
{
/* create the target_window to the hwc */
- hwc->target_hwc_window = e_hwc_windows_target_window_new(hwc);
+ hwc->target_hwc_window = e_hwc_windows_target_window_new(hwc, EINA_FALSE);
if (!hwc->target_hwc_window)
{
EHERR("e_hwc_windows_target_window_new failed", hwc);
if (primary_output)
{
- hwc->root_target_hwc_window = e_hwc_windows_target_window_new(hwc);
+ hwc->root_target_hwc_window = e_hwc_windows_target_window_new(hwc, EINA_TRUE);
if (!hwc->root_target_hwc_window)
{
EHERR("e_hwc_windows_target_window_new failed", hwc);
if (!hwc_window)
return "UNKNOWN";
+ if (hwc_window->is_root_target)
+ return "@ROOT TARGET WINDOW@";
+
if (hwc_window->is_target)
return "@TARGET WINDOW@";
tdm_hwc_window *thwc_window;
int zpos;
Eina_Bool is_target;
+ Eina_Bool is_root_target;
Eina_Bool is_video;
Eina_Bool is_cursor;
Eina_Bool is_external;
/* return TRUE when the number of the commit data is more than one */
EINA_LIST_FOREACH(hwc->hwc_windows, l, hwc_window)
{
- if ((E_Hwc_Window *)hwc->root_target_hwc_window == hwc_window)
- continue;
+ if (hwc_window->is_root_target) continue;
commit_data = e_hwc_window_commit_data_acquire(hwc_window);
if (!commit_data)
}
EINTERN E_Hwc_Window_Target *
-e_hwc_windows_target_window_new(E_Hwc *hwc)
+e_hwc_windows_target_window_new(E_Hwc *hwc, Eina_Bool is_root_target)
{
E_Hwc_Window_Target *target_hwc_window;
target_hwc_window = E_OBJECT_ALLOC(E_Hwc_Window_Target, E_HWC_WINDOW_TYPE, _e_hwc_windows_target_window_free);
EINA_SAFETY_ON_NULL_GOTO(target_hwc_window, fail);
+ ((E_Hwc_Window *)target_hwc_window)->is_root_target = is_root_target;
((E_Hwc_Window *)target_hwc_window)->is_target = EINA_TRUE;
((E_Hwc_Window *)target_hwc_window)->state = E_HWC_WINDOW_STATE_DEVICE;
((E_Hwc_Window *)target_hwc_window)->accepted_state = E_HWC_WINDOW_STATE_DEVICE;
EINTERN Eina_Bool e_hwc_windows_render(E_Hwc *hwc);
EINTERN Eina_Bool e_hwc_windows_commit(E_Hwc *hwc, E_Output_Display_Mode display_mode);
EINTERN Eina_Bool e_hwc_windows_ecore_evas_set(E_Hwc *hwc, Ecore_Evas *ee);
-EINTERN E_Hwc_Window_Target *e_hwc_windows_target_window_new(E_Hwc *hwc);
+EINTERN E_Hwc_Window_Target *e_hwc_windows_target_window_new(E_Hwc *hwc, Eina_Bool is_root_target);
EINTERN void e_hwc_windows_target_window_del(E_Hwc_Window_Target *target_hwc_window);
EINTERN void e_hwc_windows_rendered_window_add(E_Hwc_Window *hwc_window);
EINTERN Eina_Bool e_hwc_windows_get_available_properties(E_Hwc *hwc, const tdm_prop **props, int *count);