devilhorns pushed a commit to branch master.

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

commit babd202d05094df18c448b66efb96fcd8f0d0e10
Author: Chris Michael <cpmich...@osg.samsung.com>
Date:   Thu Feb 4 08:53:16 2016 -0500

    ecore-drm: Add opaque structure for Ecore_Drm_Plane
    
    Signed-off-by: Chris Michael <cpmich...@osg.samsung.com>
---
 src/lib/ecore_drm/Ecore_Drm.h         | 18 ++++++++++++++++++
 src/lib/ecore_drm/ecore_drm_private.h | 14 ++++++++++++++
 2 files changed, 32 insertions(+)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index 5c50f10..66ac7fe 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -34,6 +34,13 @@
 extern "C" {
 # endif
 
+# define ECORE_DRM_PLANE_ROTATION_NORMAL 1
+# define ECORE_DRM_PLANE_ROTATION_90 2
+# define ECORE_DRM_PLANE_ROTATION_180 4
+# define ECORE_DRM_PLANE_ROTATION_270 8
+# define ECORE_DRM_PLANE_ROTATION_REFLECT_X 16
+# define ECORE_DRM_PLANE_ROTATION_REFLECT_Y 32
+
 typedef enum _Ecore_Drm_Evdev_Capabilities
 {
    EVDEV_KEYBOARD = (1 << 0),
@@ -153,6 +160,13 @@ struct _Ecore_Drm_Event_Output
    Eina_Bool plug : 1;
 };
 
+typedef enum _Ecore_Drm_Plane_Type
+{
+   ECORE_DRM_PLANE_TYPE_OVERLAY,
+   ECORE_DRM_PLANE_TYPE_PRIMARY,
+   ECORE_DRM_PLANE_TYPE_CURSOR
+} Ecore_Drm_Plane_Type;
+
 /* opaque structure to represent a drm device */
 typedef struct _Ecore_Drm_Device Ecore_Drm_Device;
 
@@ -183,6 +197,10 @@ typedef struct _Ecore_Drm_Sprite Ecore_Drm_Sprite;
 /* structure to inform drm activation state */
 typedef struct _Ecore_Drm_Event_Activate Ecore_Drm_Event_Activate;
 
+/* opaque structure to represent a drm hardware plane */
+/** @since 1.18 */
+typedef struct _Ecore_Drm_Plane Ecore_Drm_Plane;
+
 /* structure to inform drm output plug events */
 /** @since 1.14 */
 typedef struct _Ecore_Drm_Event_Output Ecore_Drm_Event_Output;
diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index 1f51d3b..de78d6d 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -106,10 +106,20 @@ typedef struct _Ecore_Drm_Backlight
    Ecore_Drm_Backlight_Type type;
 } Ecore_Drm_Backlight;
 
+struct _Ecore_Drm_Plane
+{
+   int id;
+   unsigned int rotation;
+   unsigned int rotation_map[6];
+   unsigned int supported_rotations;
+   Ecore_Drm_Plane_Type type;
+};
+
 struct _Ecore_Drm_Output
 {
    Ecore_Drm_Device *dev;
    unsigned int crtc_id;
+   unsigned int crtc_index;
    unsigned int conn_id;
    unsigned int conn_type;
    drmModeCrtcPtr crtc;
@@ -125,6 +135,10 @@ struct _Ecore_Drm_Output
    Ecore_Drm_Output_Mode *current_mode;
    Eina_List *modes;
 
+   unsigned int primary_plane_id;
+   unsigned int rotation_prop_id;
+   Eina_List *planes;
+
    unsigned char *edid_blob;
 
    struct

-- 


Reply via email to