Backport: dc509dd :: Add support for an outputs clones in e_randr and e_randr config.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84206
Signed-off-by: Deon Thomas <PrinceAMD.Elive@gmail.com>
This commit is contained in:
Christopher Michael 2013-02-19 10:59:28 +00:00 committed by Deon Thomas
parent a75407c538
commit aa726e1be9
2 changed files with 13 additions and 0 deletions

View File

@ -122,6 +122,10 @@ _e_randr_config_load(void)
(char *)(&(eroc.edid)) - (char *)(&(eroc)),
(char *)(&(eroc.edid_count)) -
(char *)(&(eroc)), NULL, NULL);
eet_data_descriptor_element_add(D, "clones", EET_T_UINT, EET_G_VAR_ARRAY,
(char *)(&(eroc.clones)) - (char *)(&(eroc)),
(char *)(&(eroc.clone_count)) -
(char *)(&(eroc)), NULL, NULL);
/* define edd for crtc config */
_e_randr_crtc_edd =
@ -288,6 +292,11 @@ _e_randr_config_new(void)
ecore_x_randr_output_edid_get(root, outputs[j],
&output_cfg->edid_count);
/* get the clones for this output */
output_cfg->clones =
ecore_x_randr_output_clones_get(root, outputs[i],
&output_cfg->clone_count);
/* add this output to the list for this crtc */
crtc_cfg->outputs =
eina_list_append(crtc_cfg->outputs, output_cfg);
@ -327,7 +336,9 @@ _e_randr_config_free(void)
/* loop the config outputs on this crtc and free them */
EINA_LIST_FREE(crtc->outputs, output)
{
if (output->clones) free(output->clones);
if (output->edid) free(output->edid);
E_FREE(output);
}

View File

@ -26,6 +26,8 @@ struct _E_Randr_Output_Config
unsigned char primary; // flag to indicate if primary output
unsigned long edid_count; // monitor's edid length
unsigned char *edid; // monitor's edid
unsigned int *clones; // array of clones (each element of type ecore_x_randr output id (xid)
unsigned long clone_count; // number of clones
};
struct _E_Randr_Crtc_Config