derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b87606775f596312408a19f3e3fba29a00663566
commit b87606775f596312408a19f3e3fba29a00663566 Author: Derek Foreman <[email protected]> Date: Thu Jan 25 14:57:03 2018 -0600 ecore_wl2: Move surface manager interface into public API So people can write plug-ins for this stuff. --- src/lib/ecore_wl2/Ecore_Wl2.h | 11 +++++++++++ src/lib/ecore_wl2/ecore_wl2_private.h | 11 +---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h index 97f53d5ab8..97ea966af3 100644 --- a/src/lib/ecore_wl2/Ecore_Wl2.h +++ b/src/lib/ecore_wl2/Ecore_Wl2.h @@ -417,6 +417,17 @@ EAPI extern int ECORE_WL2_EVENT_WINDOW_ACTIVATE; /** @since 1.20 */ EAPI extern int ECORE_WL2_EVENT_WINDOW_DEACTIVATE; /** @since 1.20 */ EAPI extern int ECORE_WL2_EVENT_WINDOW_ICONIFY_STATE_CHANGE; /** @since 1.21 */ +typedef struct _Ecore_Wl2_Surface_Interface +{ + Eina_Bool (*check)(Ecore_Wl2_Window *win); + void (*destroy)(Ecore_Wl2_Surface *surface); + void (*reconfigure)(Ecore_Wl2_Surface *surface, int w, int h, uint32_t flags, Eina_Bool force); + void *(*data_get)(Ecore_Wl2_Surface *surface, int *w, int *h); + int (*assign)(Ecore_Wl2_Surface *surface); + void (*post)(Ecore_Wl2_Surface *surface, Eina_Rectangle *rects, unsigned int count); + void (*flush)(Ecore_Wl2_Surface *surface); +} Ecore_Wl2_Surface_Interface; + /** * @file * @brief Ecore functions for dealing with the Wayland display protocol diff --git a/src/lib/ecore_wl2/ecore_wl2_private.h b/src/lib/ecore_wl2/ecore_wl2_private.h index 4640d6f41f..5b7d1b6b4a 100644 --- a/src/lib/ecore_wl2/ecore_wl2_private.h +++ b/src/lib/ecore_wl2/ecore_wl2_private.h @@ -562,16 +562,7 @@ typedef struct _Ecore_Wl2_Surface int w, h; Eina_Bool alpha : 1; - struct - { - Eina_Bool (*check)(Ecore_Wl2_Window *win); - void (*destroy)(Ecore_Wl2_Surface *surface); - void (*reconfigure)(Ecore_Wl2_Surface *surface, int w, int h, uint32_t flags, Eina_Bool force); - void *(*data_get)(Ecore_Wl2_Surface *surface, int *w, int *h); - int (*assign)(Ecore_Wl2_Surface *surface); - void (*post)(Ecore_Wl2_Surface *surface, Eina_Rectangle *rects, unsigned int count); - void (*flush)(Ecore_Wl2_Surface *surface); - } funcs; + Ecore_Wl2_Surface_Interface funcs; } Ecore_Wl2_Surface; Ecore_Wl2_Window *_ecore_wl2_display_window_surface_find(Ecore_Wl2_Display *display, struct wl_surface *wl_surface); --
