summaryrefslogtreecommitdiff
path: root/src/lib/ecore_drm
diff options
context:
space:
mode:
authorChris Michael <cpmichael@osg.samsung.com>2016-01-20 10:46:40 -0500
committerChris Michael <cpmichael@osg.samsung.com>2016-02-04 09:35:51 -0500
commit94082f54e8ce7d47402ea5d8d57e3871f8fa98a4 (patch)
tree5c24e20924f812d527303cd4a258b723469732fd /src/lib/ecore_drm
parent3ed4b3e6fdfd8ff637f1efd402ab77fa4210b5f9 (diff)
ecore-drm: Add opaque type for Plane support
This adds an opaque structure to represent a hardware plane for use in rotation, setting cursor/overlay/primary plane content, etc Signed-off-by: Chris Michael <cpmichael@osg.samsung.com> ecore-drm: Add API functions for rotation support This adds 2 new API functions for getting supported rotations from an output, and for setting rotation on an output. @feature Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Diffstat (limited to 'src/lib/ecore_drm')
-rw-r--r--src/lib/ecore_drm/Ecore_Drm.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index 0366899232..249fc1711d 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -69,6 +69,13 @@ typedef enum _Ecore_Drm_Seat_Capabilities
69 EVDEV_SEAT_TOUCH = (1 << 2), 69 EVDEV_SEAT_TOUCH = (1 << 2),
70} Ecore_Drm_Seat_Capabilities; 70} Ecore_Drm_Seat_Capabilities;
71 71
72typedef enum _Ecore_Drm_Plane_Type
73{
74 ECORE_DRM_PLANE_TYPE_OVERLAY,
75 ECORE_DRM_PLANE_TYPE_PRIMARY,
76 ECORE_DRM_PLANE_TYPE_CURSOR
77} Ecore_Drm_Plane_Type;
78
72/* structure for fb objects */ 79/* structure for fb objects */
73typedef struct _Ecore_Drm_Fb 80typedef struct _Ecore_Drm_Fb
74{ 81{
@@ -208,6 +215,10 @@ typedef struct _Ecore_Drm_Event_Output Ecore_Drm_Event_Output;
208/** @since 1.14 */ 215/** @since 1.14 */
209typedef void (*Ecore_Drm_Pageflip_Cb)(void *data); 216typedef void (*Ecore_Drm_Pageflip_Cb)(void *data);
210 217
218/* opaque structure to represent a drm hardware plane */
219/** @since 1.18 */
220typedef struct _Ecore_Drm_Plane Ecore_Drm_Plane;
221
211EAPI extern int ECORE_DRM_EVENT_ACTIVATE; 222EAPI extern int ECORE_DRM_EVENT_ACTIVATE;
212 223
213EAPI extern int ECORE_DRM_EVENT_OUTPUT; /**< @since 1.14 */ 224EAPI extern int ECORE_DRM_EVENT_OUTPUT; /**< @since 1.14 */
@@ -1002,11 +1013,10 @@ EAPI Eina_Bool ecore_drm_output_possible_crtc_get(Ecore_Drm_Output *output, unsi
1002 */ 1013 */
1003EAPI Eina_Bool ecore_drm_output_mode_set(Ecore_Drm_Output *output, Ecore_Drm_Output_Mode *mode, int x, int y); 1014EAPI Eina_Bool ecore_drm_output_mode_set(Ecore_Drm_Output *output, Ecore_Drm_Output_Mode *mode, int x, int y);
1004 1015
1005/* TODO: doxy */ 1016/* TODO: Doxy */
1006/* @since 1.18 */ 1017/* @since 1.18 */
1007EAPI unsigned int ecore_drm_output_supported_rotations_get(Ecore_Drm_Output *output, Ecore_Drm_Plane_Type type); 1018EAPI unsigned int ecore_drm_output_supported_rotations_get(Ecore_Drm_Output *output, Ecore_Drm_Plane_Type type);
1008 1019
1009/* TODO: doxy */
1010/* @since 1.18 */ 1020/* @since 1.18 */
1011EAPI Eina_Bool ecore_drm_output_rotation_set(Ecore_Drm_Output *output, Ecore_Drm_Plane_Type type, unsigned int rotation); 1021EAPI Eina_Bool ecore_drm_output_rotation_set(Ecore_Drm_Output *output, Ecore_Drm_Plane_Type type, unsigned int rotation);
1012 1022