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

Reply via email to