forked from enlightenment/efl
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>
This commit is contained in:
parent
3ed4b3e6fd
commit
94082f54e8
|
@ -69,6 +69,13 @@ typedef enum _Ecore_Drm_Seat_Capabilities
|
||||||
EVDEV_SEAT_TOUCH = (1 << 2),
|
EVDEV_SEAT_TOUCH = (1 << 2),
|
||||||
} Ecore_Drm_Seat_Capabilities;
|
} Ecore_Drm_Seat_Capabilities;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
/* structure for fb objects */
|
/* structure for fb objects */
|
||||||
typedef struct _Ecore_Drm_Fb
|
typedef struct _Ecore_Drm_Fb
|
||||||
{
|
{
|
||||||
|
@ -208,6 +215,10 @@ typedef struct _Ecore_Drm_Event_Output Ecore_Drm_Event_Output;
|
||||||
/** @since 1.14 */
|
/** @since 1.14 */
|
||||||
typedef void (*Ecore_Drm_Pageflip_Cb)(void *data);
|
typedef void (*Ecore_Drm_Pageflip_Cb)(void *data);
|
||||||
|
|
||||||
|
/* opaque structure to represent a drm hardware plane */
|
||||||
|
/** @since 1.18 */
|
||||||
|
typedef struct _Ecore_Drm_Plane Ecore_Drm_Plane;
|
||||||
|
|
||||||
EAPI extern int ECORE_DRM_EVENT_ACTIVATE;
|
EAPI extern int ECORE_DRM_EVENT_ACTIVATE;
|
||||||
|
|
||||||
EAPI extern int ECORE_DRM_EVENT_OUTPUT; /**< @since 1.14 */
|
EAPI 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
|
||||||
*/
|
*/
|
||||||
EAPI Eina_Bool ecore_drm_output_mode_set(Ecore_Drm_Output *output, Ecore_Drm_Output_Mode *mode, int x, int y);
|
EAPI Eina_Bool ecore_drm_output_mode_set(Ecore_Drm_Output *output, Ecore_Drm_Output_Mode *mode, int x, int y);
|
||||||
|
|
||||||
/* TODO: doxy */
|
/* TODO: Doxy */
|
||||||
/* @since 1.18 */
|
/* @since 1.18 */
|
||||||
EAPI unsigned int ecore_drm_output_supported_rotations_get(Ecore_Drm_Output *output, Ecore_Drm_Plane_Type type);
|
EAPI unsigned int ecore_drm_output_supported_rotations_get(Ecore_Drm_Output *output, Ecore_Drm_Plane_Type type);
|
||||||
|
|
||||||
/* TODO: doxy */
|
|
||||||
/* @since 1.18 */
|
/* @since 1.18 */
|
||||||
EAPI Eina_Bool ecore_drm_output_rotation_set(Ecore_Drm_Output *output, Ecore_Drm_Plane_Type type, unsigned int rotation);
|
EAPI Eina_Bool ecore_drm_output_rotation_set(Ecore_Drm_Output *output, Ecore_Drm_Plane_Type type, unsigned int rotation);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue