devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1ab4975491f184f11b4c6407218669805a29894e

commit 1ab4975491f184f11b4c6407218669805a29894e
Author: Chris Michael <cp.mich...@samsung.com>
Date:   Tue May 5 09:12:25 2015 -0400

    ecore-drm: Add API function to return output modes
    
    Summary: This adds a new API function to return a list of modes
    supported on a given output
    
    @feature
    
    Signed-off-by: Chris Michael <cp.mich...@samsung.com>
---
 src/lib/ecore_drm/Ecore_Drm.h         | 24 ++++++++++++++++++++++--
 src/lib/ecore_drm/ecore_drm_output.c  |  9 +++++++++
 src/lib/ecore_drm/ecore_drm_private.h |  8 --------
 3 files changed, 31 insertions(+), 10 deletions(-)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index e2b79a0..2177b3f 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -153,8 +153,14 @@ struct _Ecore_Drm_Event_Output
 /* opaque structure to represent a drm device */
 typedef struct _Ecore_Drm_Device Ecore_Drm_Device;
 
-/* opaque structure to represent a drm output mode */
-typedef struct _Ecore_Drm_Output_Mode Ecore_Drm_Output_Mode;
+/* structure to represent a drm output mode */
+typedef struct _Ecore_Drm_Output_Mode
+{
+   unsigned int flags;
+   int width, height;
+   unsigned int refresh;
+   drmModeModeInfo info;
+} Ecore_Drm_Output_Mode;
 
 /* opaque structure to represent a drm output */
 typedef struct _Ecore_Drm_Output Ecore_Drm_Output;
@@ -836,6 +842,20 @@ EAPI Eina_Bool 
ecore_drm_output_backlight_get(Ecore_Drm_Output *output);
  */
 EAPI char *ecore_drm_output_edid_get(Ecore_Drm_Output *output);
 
+/**
+ * Get a list of the modes supported on a given output
+ *
+ * @param output The Ecore_Drm_Output to get the modes for
+ *
+ * @return An Eina_List of the modes supported for this output
+ *
+ * @note The returned list should not be freed
+ *
+ * @ingroup Ecore_Drm_Output_Group
+ * @since 1.15
+ */
+EAPI Eina_List *ecore_drm_output_modes_get(Ecore_Drm_Output *output);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/ecore_drm/ecore_drm_output.c 
b/src/lib/ecore_drm/ecore_drm_output.c
index b6c44cc..fbd2a2a 100644
--- a/src/lib/ecore_drm/ecore_drm_output.c
+++ b/src/lib/ecore_drm/ecore_drm_output.c
@@ -1137,3 +1137,12 @@ ecore_drm_output_edid_get(Ecore_Drm_Output *output)
 
    return strdup(output->edid_blob);
 }
+
+EAPI Eina_List *
+ecore_drm_output_modes_get(Ecore_Drm_Output *output)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(output->modes, NULL);
+
+   return output->modes;
+}
diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index 3bacef2..8a2ca3c 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -87,14 +87,6 @@ typedef struct _Ecore_Drm_Pageflip_Callback
    int count;
 } Ecore_Drm_Pageflip_Callback;
 
-struct _Ecore_Drm_Output_Mode
-{
-   unsigned int flags;
-   int width, height;
-   unsigned int refresh;
-   drmModeModeInfo info;
-};
-
 typedef enum _Ecore_Drm_Backlight_Type
 {
    ECORE_DRM_BACKLIGHT_RAW,

-- 


Reply via email to