summaryrefslogtreecommitdiff
path: root/src/lib/ecore_drm/Ecore_Drm.h
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2015-04-08 13:41:35 -0400
committerStefan Schmidt <s.schmidt@samsung.com>2015-04-10 11:09:51 +0200
commit10985880c2297ea325037f2a3e698a24bf809b96 (patch)
tree85fb88beff230024c7d95ae4ad3066b1b16b8d25 /src/lib/ecore_drm/Ecore_Drm.h
parenta5d180b2826d27a492bc3cce980e437a708ba94f (diff)
ecore-drm: Add 2 new API functions for setting and sending framebuffers
Summary: This adds 2 new API functions we can use from within the evas drm engine to set framebuffers as current, and to call a pageflip on given buffers. @feature Signed-off-by: Chris Michael <cp.michael@samsung.com>
Diffstat (limited to 'src/lib/ecore_drm/Ecore_Drm.h')
-rw-r--r--src/lib/ecore_drm/Ecore_Drm.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index b28e7f15ff..1f9a72ef1d 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -173,6 +173,9 @@ typedef struct _Ecore_Drm_Event_Activate Ecore_Drm_Event_Activate;
173/** @since 1.14 */ 173/** @since 1.14 */
174typedef struct _Ecore_Drm_Event_Output Ecore_Drm_Event_Output; 174typedef struct _Ecore_Drm_Event_Output Ecore_Drm_Event_Output;
175 175
176/** @since 1.15 */
177typedef void (*Ecore_Drm_Pageflip_Cb)(void *data);
178
176EAPI extern int ECORE_DRM_EVENT_ACTIVATE; 179EAPI extern int ECORE_DRM_EVENT_ACTIVATE;
177 180
178EAPI extern int ECORE_DRM_EVENT_OUTPUT; /**< @since 1.14 */ 181EAPI extern int ECORE_DRM_EVENT_OUTPUT; /**< @since 1.14 */
@@ -576,6 +579,36 @@ EAPI void ecore_drm_fb_destroy(Ecore_Drm_Fb *fb);
576 */ 579 */
577EAPI void ecore_drm_fb_dirty(Ecore_Drm_Fb *fb, Eina_Rectangle *rects, unsigned int count); 580EAPI void ecore_drm_fb_dirty(Ecore_Drm_Fb *fb, Eina_Rectangle *rects, unsigned int count);
578 581
582/**
583 * Set an Ecore_Drm_Fb as the current framebuffer
584 *
585 * This function will set the given Ecore_Drm_Fb as the framebuffer used
586 * across all outputs
587 *
588 * @param dev The Ecore_Drm_Device to use
589 * @param fb The Ecore_Drm_Fb to make the current framebuffer
590 *
591 * @ingroup Ecore_Drm_Fb_Group
592 * @since 1.15
593 */
594EAPI void ecore_drm_fb_set(Ecore_Drm_Device *dev, Ecore_Drm_Fb *fb);
595
596/**
597 * Send an Ecore_Drm_Fb to the Ecore_Drm_Device
598 *
599 * This function will call drmModePageFlip for the given device using the
600 * given Ecore_Drm_Fb as the framebuffer
601 *
602 * @param dev The Ecore_Drm_Device to use
603 * @param fb The Ecore_Drm_Fb to send
604 * @param cb The function to call when the page flip has completed
605 * @param data The data to pass to the callback function
606 *
607 * @ingroup Ecore_Drm_Fb_Group
608 * @since 1.15
609 */
610EAPI void ecore_drm_fb_send(Ecore_Drm_Device *dev, Ecore_Drm_Fb *fb, Ecore_Drm_Pageflip_Cb func, void *data);
611
579EAPI Eina_Bool ecore_drm_launcher_connect(Ecore_Drm_Device *dev); 612EAPI Eina_Bool ecore_drm_launcher_connect(Ecore_Drm_Device *dev);
580EAPI void ecore_drm_launcher_disconnect(Ecore_Drm_Device *dev); 613EAPI void ecore_drm_launcher_disconnect(Ecore_Drm_Device *dev);
581 614