Add function for a monitor to apply it's changes.

NB: This is needed because apparently the e_randr serialization code
works DIRECTLY on the E_Randr_Info structures (E_Randr_Output_Info,
etc, etc). Sooo, in order to save and restore a randr config, we need
for the monitor to update those structures First before we tell
e_randr to save things else it will save with incorrect values.

NB: This is the START of save/restore configuration work.

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

SVN revision: 81161
This commit is contained in:
Christopher Michael 2012-12-17 15:46:55 +00:00 committed by Christopher Michael
parent 66d8162518
commit 373bd3ce00
1 changed files with 26 additions and 0 deletions

View File

@ -401,6 +401,32 @@ e_smart_monitor_changes_reset(Evas_Object *obj)
sd->orig.enabled = sd->current.enabled;
}
void
e_smart_monitor_changes_apply(Evas_Object *obj)
{
E_Smart_Data *sd;
E_Randr_Crtc_Info *crtc;
/* try to get the objects smart data */
if (!(sd = evas_object_smart_data_get(obj))) return;
if (!(crtc = sd->output->crtc))
{
/* FIXME: What to do in this case ?? */
ERR("NO CRTC FOR MONITOR !!\n");
return;
}
crtc->geometry.x = sd->current.x;
crtc->geometry.y = sd->current.y;
crtc->geometry.w = sd->current.w;
crtc->geometry.h = sd->current.h;
crtc->current_mode = sd->current.mode;
crtc->current_orientation = sd->current.orientation;
}
void
e_smart_monitor_current_geometry_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
{