E_Screen *screen;
E_Output *output;
Eina_List *e_screens = NULL;
+ Eina_List *l;
int i = 0;
output = e_comp_screen_primary_output_get(e_comp_screen);
/* No pirmary output means that there is no output at the system */
if (!output) goto out;
- screen = E_NEW(E_Screen, 1);
- if (!screen) return;
+ EINA_LIST_FOREACH(e_comp_screen->outputs, l, output)
+ {
+ screen = E_NEW(E_Screen, 1);
+ if (!screen) return;
- screen->escreen = screen->screen = i;
- screen->x = output->config.geom.x;
- screen->y = output->config.geom.y;
+ screen->escreen = screen->screen = i;
+ screen->x = output->config.geom.x;
+ screen->y = output->config.geom.y;
- if (output->config.rotation % 180)
- {
- screen->w = output->config.geom.h;
- screen->h = output->config.geom.w;
- }
- else
- {
- screen->w = output->config.geom.w;
- screen->h = output->config.geom.h;
- }
+ if (output->config.rotation % 180)
+ {
+ screen->w = output->config.geom.h;
+ screen->h = output->config.geom.w;
+ }
+ else
+ {
+ screen->w = output->config.geom.w;
+ screen->h = output->config.geom.h;
+ }
- if (output->id) screen->id = strdup(output->id);
+ if (output->id) screen->id = strdup(output->id);
- e_screens = eina_list_append(e_screens, screen);
- ELOGF("COMP_SCREEN","E INIT: SCREEN: [%i][%i], %ix%i+%i+%i",
- NULL, i, i, screen->w, screen->h, screen->x, screen->y);
- i++;
+ e_screens = eina_list_append(e_screens, screen);
+ ELOGF("COMP_SCREEN","E INIT: SCREEN: [%i][%i], %ix%i+%i+%i",
+ NULL, i, i, screen->w, screen->h, screen->x, screen->y);
+ i++;
+ }
ELOGF("COMP_SCREEN","e_comp_screen_e_screens_setup............... %i %p\n", NULL, i, e_comp_screen->e_screens);