ecore-drm: Add opaque structure for Ecore_Drm_Plane

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This commit is contained in:
Chris Michael 2016-02-04 08:53:16 -05:00
parent 33ea565347
commit babd202d05
2 changed files with 32 additions and 0 deletions

View File

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

View File

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