Ecore_Evas (wayland): Add/Fix more dnd code.

SVN revision: 67248
This commit is contained in:
Christopher Michael 2012-01-16 19:11:17 +00:00
parent 8de10044b4
commit 58c865325d
5 changed files with 60 additions and 3 deletions

View File

@ -696,6 +696,7 @@ EAPI Ecore_DirectFB_Window *ecore_evas_directfb_window_get(const Ecore_Evas *ee)
EAPI Ecore_Evas *ecore_evas_wayland_shm_new(const char *disp_name, int x, int y, int w, int h, int frame);
EAPI Ecore_Evas *ecore_evas_wayland_egl_new(const char *disp_name, int x, int y, int w, int h, int frame);
EAPI void ecore_evas_wayland_resize(Ecore_Evas *ee, int location);
EAPI void ecore_evas_wayland_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source);
/**
* @brief Create a new @c Ecore_Evas canvas bound to the Evas

View File

@ -2682,14 +2682,48 @@ ecore_evas_wayland_resize(Ecore_Evas *ee, int location)
{
if (!ee) return;
if (!strcmp(ee->driver, "wayland_shm"))
_ecore_evas_wayland_shm_resize(ee, location);
{
#ifdef BUILD_ECORE_EVAS_WAYLAND_SHM
_ecore_evas_wayland_shm_resize(ee, location);
#endif
}
else if (!strcmp(ee->driver, "wayland_egl"))
_ecore_evas_wayland_egl_resize(ee, location);
{
#ifdef BUILD_ECORE_EVAS_WAYLAND_EGL
_ecore_evas_wayland_egl_resize(ee, location);
#endif
}
}
EAPI void
ecore_evas_wayland_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source)
{
if ((!ee) || (!source)) return;
if (!ee->engine.wl.surface) return;
if (!strcmp(ee->driver, "wayland_shm"))
{
#ifdef BUILD_ECORE_EVAS_WAYLAND_SHM
_ecore_evas_wayland_shm_drag_start(ee, drag_ee, source);
#endif
}
else if (!strcmp(ee->driver, "wayland_egl"))
{
#ifdef BUILD_ECORE_EVAS_WAYLAND_EGL
_ecore_evas_wayland_egl_drag_start(ee, drag_ee, source);
#endif
}
}
#else
EAPI void
ecore_evas_wayland_resize(Ecore_Evas *ee __UNUSED__, int location __UNUSED__)
{
}
EAPI void
ecore_evas_wayland_drag_start(Ecore_Evas *ee __UNUSED__, Ecore_Evas *drag_ee __UNUSED__, void *source __UNUSED__)
{
}
#endif

View File

@ -405,10 +405,12 @@ int _ecore_evas_ews_shutdown(void);
#ifdef BUILD_ECORE_EVAS_WAYLAND_SHM
void _ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location);
void _ecore_evas_wayland_shm_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source);
#endif
#ifdef BUILD_ECORE_EVAS_WAYLAND_EGL
void _ecore_evas_wayland_egl_resize(Ecore_Evas *ee, int location);
void _ecore_evas_wayland_egl_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source);
#endif
void _ecore_evas_fps_debug_init(void);

View File

@ -1112,6 +1112,16 @@ _ecore_evas_wayland_egl_resize(Ecore_Evas *ee, int location)
_ecore_evas_wl_btn_timestamp, location);
}
void
_ecore_evas_wayland_egl_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source)
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if ((!ee) || (!ee->engine.wl.surface)) return;
if ((!source) || (!drag_ee)) return;
ecore_wl_drag_start(source, ee->engine.wl.surface, drag_ee->engine.wl.buffer);
}
#else
EAPI Ecore_Evas *
ecore_evas_wayland_egl_new(const char *disp_name __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, int frame __UNUSED__)

View File

@ -2,7 +2,7 @@
# include "config.h"
#endif
#define LOGFNS 1
//#define LOGFNS 1
#ifdef LOGFNS
# include <stdio.h>
@ -1238,6 +1238,16 @@ _ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location)
_ecore_evas_wl_btn_timestamp, location);
}
void
_ecore_evas_wayland_shm_drag_start(Ecore_Evas *ee, Ecore_Evas *drag_ee, void *source)
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if ((!ee) || (!ee->engine.wl.surface)) return;
if ((!source) || (!drag_ee)) return;
ecore_wl_drag_start(source, ee->engine.wl.surface, drag_ee->engine.wl.buffer);
}
#else
EAPI Ecore_Evas *
ecore_evas_wayland_shm_new(const char *disp_name __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__, int frame __UNUSED__)