e_output_del(output);
}
+ e_hwc_deinit();
e_hwc_windows_deinit();
e_hwc_planes_deinit();
e_output_shutdown();
ELOGF("COMP_SCREEN","num_outputs = %i", NULL, e_comp_screen->num_outputs);
+ if (!e_hwc_init())
+ {
+ ERR("e_hwc_init failed");
+ goto fail;
+ }
+
if (!e_hwc_planes_init())
{
ERR("e_hwc_planes_init failed");
} \
while (0)
+E_API int E_EVENT_HWC_ACTIVE = -1;
+E_API int E_EVENT_HWC_DEACTIVE = -1;
+
static int _e_hwc_intercept_hooks_delete = 0;
static int _e_hwc_intercept_hooks_walking = 0;
return EINA_TRUE;
}
+EINTERN Eina_Bool
+e_hwc_init(void)
+{
+ E_EVENT_HWC_ACTIVE = ecore_event_type_new();
+ E_EVENT_HWC_DEACTIVE = ecore_event_type_new();
+
+ return EINA_TRUE;
+}
+
+EINTERN void
+e_hwc_deinit(void)
+{
+}
+
EINTERN E_Hwc *
e_hwc_new(E_Output *output, Eina_Bool primary_output)
{
}
}
+ /* default active hwc */
+ ecore_event_add(E_EVENT_HWC_ACTIVE, NULL, NULL, NULL);
+
return hwc;
fail:
{
EINA_SAFETY_ON_NULL_RETURN(hwc);
+ if (hwc->hwc_deactive == set) return;
+
if (e_hwc_policy_get(hwc) == E_HWC_POLICY_PLANES)
e_hwc_planes_end(hwc, __FUNCTION__);
hwc->hwc_deactive = set;
+ if (set)
+ ecore_event_add(E_EVENT_HWC_DEACTIVE, NULL, NULL, NULL);
+ else
+ ecore_event_add(E_EVENT_HWC_ACTIVE, NULL, NULL, NULL);
+
EHINF("e_hwc_deactive_set : %d", hwc, set);
}
int flapse;
};
+E_API extern int E_EVENT_HWC_ACTIVE;
+E_API extern int E_EVENT_HWC_DEACTIVE;
+
+EINTERN Eina_Bool e_hwc_init(void);
+EINTERN void e_hwc_deinit(void);
+
EINTERN E_Hwc *e_hwc_new(E_Output *output, Eina_Bool primary_output);
EINTERN void e_hwc_del(E_Hwc *hwc);
EINTERN E_Hwc_Mode e_hwc_mode_get(E_Hwc *hwc);