On Sun, 19 Feb 2012 08:33:07 +0000 (UTC) cpmicha...@comcast.net said:

actually at this stage - with xcb being a first class citizen, any changes to
ecore-x should work on both xlib and xcb - i know its extra work, but thats how
it goes with supporting multiple back-ends :) at  least its only 2. :)

> 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
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
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