diff options
author | Chris Michael <cpmichael@osg.samsung.com> | 2016-02-04 08:53:16 -0500 |
---|---|---|
committer | Chris Michael <cpmichael@osg.samsung.com> | 2016-02-04 08:53:16 -0500 |
commit | babd202d05094df18c448b66efb96fcd8f0d0e10 (patch) | |
tree | 96a747eee34a926aa2fe09d4a9d8fee46f3a7df3 | |
parent | 33ea5653477c97072c62c7d7d32b6263b89f8509 (diff) |
ecore-drm: Add opaque structure for Ecore_Drm_Plane
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Diffstat (limited to '')
-rw-r--r-- | src/lib/ecore_drm/Ecore_Drm.h | 18 | ||||
-rw-r--r-- | src/lib/ecore_drm/ecore_drm_private.h | 14 |
2 files changed, 32 insertions, 0 deletions
diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h index 5c50f1022d..66ac7fe94b 100644 --- a/src/lib/ecore_drm/Ecore_Drm.h +++ b/src/lib/ecore_drm/Ecore_Drm.h | |||
@@ -34,6 +34,13 @@ | |||
34 | extern "C" { | 34 | extern "C" { |
35 | # endif | 35 | # endif |
36 | 36 | ||
37 | # define ECORE_DRM_PLANE_ROTATION_NORMAL 1 | ||
38 | # define ECORE_DRM_PLANE_ROTATION_90 2 | ||
39 | # define ECORE_DRM_PLANE_ROTATION_180 4 | ||
40 | # define ECORE_DRM_PLANE_ROTATION_270 8 | ||
41 | # define ECORE_DRM_PLANE_ROTATION_REFLECT_X 16 | ||
42 | # define ECORE_DRM_PLANE_ROTATION_REFLECT_Y 32 | ||
43 | |||
37 | typedef enum _Ecore_Drm_Evdev_Capabilities | 44 | typedef enum _Ecore_Drm_Evdev_Capabilities |
38 | { | 45 | { |
39 | EVDEV_KEYBOARD = (1 << 0), | 46 | EVDEV_KEYBOARD = (1 << 0), |
@@ -153,6 +160,13 @@ struct _Ecore_Drm_Event_Output | |||
153 | Eina_Bool plug : 1; | 160 | Eina_Bool plug : 1; |
154 | }; | 161 | }; |
155 | 162 | ||
163 | typedef enum _Ecore_Drm_Plane_Type | ||
164 | { | ||
165 | ECORE_DRM_PLANE_TYPE_OVERLAY, | ||
166 | ECORE_DRM_PLANE_TYPE_PRIMARY, | ||
167 | ECORE_DRM_PLANE_TYPE_CURSOR | ||
168 | } Ecore_Drm_Plane_Type; | ||
169 | |||
156 | /* opaque structure to represent a drm device */ | 170 | /* opaque structure to represent a drm device */ |
157 | typedef struct _Ecore_Drm_Device Ecore_Drm_Device; | 171 | typedef struct _Ecore_Drm_Device Ecore_Drm_Device; |
158 | 172 | ||
@@ -183,6 +197,10 @@ typedef struct _Ecore_Drm_Sprite Ecore_Drm_Sprite; | |||
183 | /* structure to inform drm activation state */ | 197 | /* structure to inform drm activation state */ |
184 | typedef struct _Ecore_Drm_Event_Activate Ecore_Drm_Event_Activate; | 198 | typedef struct _Ecore_Drm_Event_Activate Ecore_Drm_Event_Activate; |
185 | 199 | ||
200 | /* opaque structure to represent a drm hardware plane */ | ||
201 | /** @since 1.18 */ | ||
202 | typedef struct _Ecore_Drm_Plane Ecore_Drm_Plane; | ||
203 | |||
186 | /* structure to inform drm output plug events */ | 204 | /* structure to inform drm output plug events */ |
187 | /** @since 1.14 */ | 205 | /** @since 1.14 */ |
188 | typedef struct _Ecore_Drm_Event_Output Ecore_Drm_Event_Output; | 206 | 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 1f51d3b7df..de78d6d307 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 | |||
106 | Ecore_Drm_Backlight_Type type; | 106 | Ecore_Drm_Backlight_Type type; |
107 | } Ecore_Drm_Backlight; | 107 | } Ecore_Drm_Backlight; |
108 | 108 | ||
109 | struct _Ecore_Drm_Plane | ||
110 | { | ||
111 | int id; | ||
112 | unsigned int rotation; | ||
113 | unsigned int rotation_map[6]; | ||
114 | unsigned int supported_rotations; | ||
115 | Ecore_Drm_Plane_Type type; | ||
116 | }; | ||
117 | |||
109 | struct _Ecore_Drm_Output | 118 | struct _Ecore_Drm_Output |
110 | { | 119 | { |
111 | Ecore_Drm_Device *dev; | 120 | Ecore_Drm_Device *dev; |
112 | unsigned int crtc_id; | 121 | unsigned int crtc_id; |
122 | unsigned int crtc_index; | ||
113 | unsigned int conn_id; | 123 | unsigned int conn_id; |
114 | unsigned int conn_type; | 124 | unsigned int conn_type; |
115 | drmModeCrtcPtr crtc; | 125 | drmModeCrtcPtr crtc; |
@@ -125,6 +135,10 @@ struct _Ecore_Drm_Output | |||
125 | Ecore_Drm_Output_Mode *current_mode; | 135 | Ecore_Drm_Output_Mode *current_mode; |
126 | Eina_List *modes; | 136 | Eina_List *modes; |
127 | 137 | ||
138 | unsigned int primary_plane_id; | ||
139 | unsigned int rotation_prop_id; | ||
140 | Eina_List *planes; | ||
141 | |||
128 | unsigned char *edid_blob; | 142 | unsigned char *edid_blob; |
129 | 143 | ||
130 | struct | 144 | struct |