Enlightenment CVS committal Author : sebastid Project : e17 Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_x Modified Files: Ecore_X.h ecore_x_randr.c Log Message: Updates to randr. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v retrieving revision 1.139 retrieving revision 1.140 diff -u -3 -r1.139 -r1.140 --- Ecore_X.h 13 Aug 2005 22:14:40 -0000 1.139 +++ Ecore_X.h 14 Aug 2005 10:21:08 -0000 1.140 @@ -1330,8 +1330,9 @@ EAPI int ecore_x_randr_events_select(Ecore_X_Window win, int on); EAPI Ecore_X_Screen_Size *ecore_x_randr_screen_sizes_get(Ecore_X_Window root, int *num); +EAPI Ecore_X_Screen_Size ecore_x_randr_current_screen_size_get(Ecore_X_Window root); EAPI int ecore_x_randr_screen_size_set(Ecore_X_Window root, - Ecore_X_Screen_Size *size); + Ecore_X_Screen_Size size); #ifdef __cplusplus =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_randr.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ecore_x_randr.c 13 Aug 2005 22:14:40 -0000 1.1 +++ ecore_x_randr.c 14 Aug 2005 10:21:08 -0000 1.2 @@ -47,8 +47,37 @@ #endif } +Ecore_X_Screen_Size +ecore_x_randr_current_screen_size_get(Ecore_X_Window root) +{ + Ecore_X_Screen_Size ret = { -1, -1 }; +#ifdef ECORE_XRANDR + XRRScreenSize *sizes; + XRRScreenConfiguration *sc; + SizeID size_index; + Rotation rotation; + int n; + + sc = XRRGetScreenInfo(_ecore_x_disp, root); + if (!sc) + { + printf("ERROR: Couldn't get screen information for %d\n", root); + return ret; + } + size_index = XRRConfigCurrentConfiguration(sc, &rotation); + + sizes = XRRSizes(_ecore_x_disp, XRRRootToScreen(_ecore_x_disp, root), &n); + if (size_index < n) + { + ret.width = sizes[size_index].width; + ret.height = sizes[size_index].height; + } +#endif + return ret; +} + int -ecore_x_randr_screen_size_set(Ecore_X_Window root, Ecore_X_Screen_Size *size) +ecore_x_randr_screen_size_set(Ecore_X_Window root, Ecore_X_Screen_Size size) { #ifdef ECORE_XRANDR XRRScreenConfiguration *sc; @@ -58,7 +87,7 @@ sizes = XRRSizes(_ecore_x_disp, XRRRootToScreen(_ecore_x_disp, root), &n); for (i = 0; i < n; i++) { - if ((sizes[i].width == size->width) && (sizes[i].height == size->height)) + if ((sizes[i].width == size.width) && (sizes[i].height == size.height)) { size_index = i; break; ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs