/* get the size of the primary output */
e_output_size_get(output, &scr_w, &scr_h);
+ /* if output is disconnected, set the default width, height */
+ if (scr_w == 0 || scr_h == 0)
+ {
+ scr_w = 1;
+ scr_h = 1;
+
+ if (!e_output_fake_config_set(output, w, h))
+ {
+ e_error_message_show(_("Fail to set the fake output config!\n"));
+ _e_comp_screen_engine_deinit();
+ return EINA_FALSE;
+ }
+ }
+
INF("GL available:%d config engine:%d screen size:%dx%d",
e_comp_gl_get(), e_comp_config_get()->engine, scr_w, scr_h);
*h = output->config.mode.h;
}
+EINTERN Eina_Bool
+e_output_fake_config_set(E_Output *output, int w, int h)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
+
+ output->config.geom.x = 0;
+ output->config.geom.y = 0;
+ output->config.geom.w = w;
+ output->config.geom.h = h;
+
+ output->config.mode.w = w;
+ output->config.mode.h = h;
+ output->config.mode.refresh = 60;
+ output->config.enabled = 1;
+
+ return EINA_TRUE;
+}
+
+
EINTERN Eina_Bool
e_output_render(E_Output *output)
{
EINTERN Eina_Bool e_output_dpms_set(E_Output *output, E_OUTPUT_DPMS val);
EINTERN void e_output_size_get(E_Output *output, int *w, int *h);
EINTERN E_Plane * e_output_default_fb_target_get(E_Output *output);
+EINTERN Eina_Bool e_output_fake_config_set(E_Output *output, int w, int h);
E_API E_Output * e_output_find(const char *id);
E_API E_Output * e_output_find_by_index(int index);
E_API const Eina_List * e_output_planes_get(E_Output *output);