I suppose the xcb is left to me to fix when I run into this... 

dh 


----- Original Message -----
From: "Enlightenment SVN" <no-re...@enlightenment.org> 
To: enlightenment-...@lists.sourceforge.net 
Sent: Thursday, February 16, 2012 2:26:30 PM 
Subject: E SVN: leif IN trunk/ecore: . src/lib/ecore_x src/lib/ecore_x/xlib 

Log: 
Add mode add/del functions to ecore_x_randr 

Author: leif 
Date: 2012-02-16 11:26:30 -0800 (Thu, 16 Feb 2012) 
New Revision: 68031 
Trac: http://trac.enlightenment.org/e/changeset/68031 

Modified: 
trunk/ecore/ChangeLog trunk/ecore/src/lib/ecore_x/Ecore_X.h 
trunk/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c 

Modified: trunk/ecore/ChangeLog 
=================================================================== 
--- trunk/ecore/ChangeLog 2012-02-16 18:38:37 UTC (rev 68030) 
+++ trunk/ecore/ChangeLog 2012-02-16 19:26:30 UTC (rev 68031) 
@@ -494,3 +494,9 @@ 

* Add ecore_imf APIs to set return key type, disable return key. 

+2012-02-16 Leif Middelschulte (T_UNIX) 
+ 
+ * Add ecore_x_randr_mode_add to add a mode to a display 
+ * Add ecore_x_randr_mode_del to remove a mode from the display 
+ * Add ecore_x_randr_output_mode_add to add a mode to an output 
+ * Add ecore_x_randr_output_mode_del to remove a mode from an output 

Modified: trunk/ecore/src/lib/ecore_x/Ecore_X.h 
=================================================================== 
--- trunk/ecore/src/lib/ecore_x/Ecore_X.h 2012-02-16 18:38:37 UTC (rev 68030) 
+++ trunk/ecore/src/lib/ecore_x/Ecore_X.h 2012-02-16 19:26:30 UTC (rev 68031) 
@@ -2749,6 +2749,11 @@ 
EAPI Ecore_X_Randr_Mode_Info ** 
ecore_x_randr_modes_info_get(Ecore_X_Window root, 
int *num); 
+EAPI Ecore_X_Randr_Mode 
+ecore_x_randr_mode_info_add(Ecore_X_Window root, 
+ Ecore_X_Randr_Mode_Info *mode_info); 
+EAPI void 
+ecore_x_randr_mode_del(Ecore_X_Randr_Mode mode); 
EAPI Ecore_X_Randr_Mode_Info * 
ecore_x_randr_mode_info_get(Ecore_X_Window root, 
Ecore_X_Randr_Mode mode); 
@@ -2840,6 +2845,12 @@ 
Ecore_X_Randr_Crtc crtc_r2, 
Ecore_X_Randr_Output_Policy policy, 
Ecore_X_Randr_Relative_Alignment alignment); 
+EAPI Eina_Bool 
+ecore_x_randr_output_mode_add(Ecore_X_Randr_Output output, 
+ Ecore_X_Randr_Mode mode); 
+EAPI void 
+ecore_x_randr_output_mode_del(Ecore_X_Randr_Output output, 
+ Ecore_X_Randr_Mode mode); 
EAPI Ecore_X_Randr_Mode * 
ecore_x_randr_output_modes_get(Ecore_X_Window root, 
Ecore_X_Randr_Output output, 

Modified: trunk/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c 
=================================================================== 
--- trunk/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c 2012-02-16 18:38:37 UTC 
(rev 68030) 
+++ trunk/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c 2012-02-16 19:26:30 UTC 
(rev 68031) 
@@ -380,6 +380,48 @@ 
} 

/* 
+ * @brief add a mode to a display 
+ * @param root window to which's screen's ressources are added 
+ * @param mode_info 
+ * @return Ecore_X_Randr_Mode of the added mode. Ecore_X_Randr_None if mode 
+ * adding failed. 
+ * @since 1.2.0 
+ */ 
+EAPI Ecore_X_Randr_Mode 
+ecore_x_randr_mode_info_add(Ecore_X_Window root, 
+ Ecore_X_Randr_Mode_Info *mode_info) 
+{ 
+#ifdef ECORE_XRANDR 
+ RANDR_CHECK_1_2_RET(EINA_FALSE); 
+ Ecore_X_Randr_Mode mode = Ecore_X_Randr_None; 
+ 
+ if (_ecore_x_randr_root_validate(root) && mode_info) 
+ mode = XRRCreateMode(_ecore_x_disp, root, (XRRModeInfo*)mode_info); 
+ 
+ return mode; 
+#else 
+ return Ecore_X_Randr_None; 
+#endif 
+} 
+ 
+/* 
+ * @brief delete a mode from the display 
+ * @param mode_info 
+ * @since 1.2.0 
+ */ 
+EAPI void 
+ecore_x_randr_mode_del(Ecore_X_Randr_Mode mode) 
+{ 
+#ifdef ECORE_XRANDR 
+ RANDR_CHECK_1_2_RET(); 
+ 
+ XRRDestroyMode(_ecore_x_disp, mode); 
+#else 
+ return; 
+#endif 
+} 
+ 
+/* 
* @brief get detailed information for a given mode id 
* @param root window which's screen's ressources are queried 
* @param mode the XID which identifies the mode of interest 
@@ -1364,6 +1406,54 @@ 
#endif 
} 

+/* 
+ * @brief add given mode to given output 
+ * @param output the output the mode is added to 
+ * @param mode the mode added to the output 
+ * @return EINA_FALSE if output or mode equal Ecore_X_Randr_None, else 
EINA_TRUE 
+ * Additionally, if xcb backend is used, the success of the addition is 
reported 
+ * back directly. 
+ * @since 1.2.0 
+ */ 
+EAPI Eina_Bool 
+ecore_x_randr_output_mode_add(Ecore_X_Randr_Output output, 
+ Ecore_X_Randr_Mode mode) 
+{ 
+#ifdef ECORE_XRANDR 
+ RANDR_CHECK_1_2_RET(EINA_FALSE); 
+ 
+ if ((output == Ecore_X_Randr_None) || (mode == Ecore_X_Randr_None)) 
+ return EINA_FALSE; 
+ 
+ XRRAddOutputMode(_ecore_x_disp, output, mode); 
+ return EINA_TRUE; 
+#else 
+ return EINA_FALSE; 
+#endif 
+} 
+ 
+/* 
+ * @brief delete given mode from given output 
+ * @param output the output the mode is removed from 
+ * @param mode the mode removed from the output 
+ * @since 1.2.0 
+ */ 
+EAPI void 
+ecore_x_randr_output_mode_del(Ecore_X_Randr_Output output, 
+ Ecore_X_Randr_Mode mode) 
+{ 
+#ifdef ECORE_XRANDR 
+ RANDR_CHECK_1_2_RET(); 
+ 
+ if ((output == Ecore_X_Randr_None) || (mode == Ecore_X_Randr_None)) 
+ return; 
+ 
+ XRRDeleteOutputMode(_ecore_x_disp, output, mode); 
+#else 
+ return; 
+#endif 
+} 
+ 
EAPI Ecore_X_Randr_Mode * 
ecore_x_randr_output_modes_get(Ecore_X_Window root, 
Ecore_X_Randr_Output output, 


------------------------------------------------------------------------------ 
Virtualization & Cloud Management Using Capacity Planning 
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service. 
http://www.accelacomm.com/jaw/sfnl/114/51521223/ 
_______________________________________________ 
enlightenment-svn mailing list 
enlightenment-...@lists.sourceforge.net 
https://lists.sourceforge.net/lists/listinfo/enlightenment-svn 
------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to