Big change in configure.in, ecore_x and ecore_evas. Everything compile nicely

after a make maintainer-clean, with xlib or xcb. e17 also has no problem.
Please report any problem. Thanks

 * put xlib and xcb specific code in their own directories inside ecore_x
 * fix xcb logic check in autotools and ecore_evas
 * update configure.in for detection of ecore_evas with xlib and xcb support,
   update ecore_evas accordingly. Note that e17 needs a little fix after that,
   it will come in a few minutes


SVN revision: 35188
This commit is contained in:
doursse 2008-07-23 10:00:01 +00:00 committed by doursse
parent 9e2cace719
commit ef61dbeb14
61 changed files with 694 additions and 577 deletions

View File

@ -231,10 +231,18 @@ AC_ARG_ENABLE(simple-x11,
[ want_evas_simple_x11=$enableval ]
)
dnl ecore_x{cb}
have_x="no"
have_ecore_x="no"
have_ecore_x_xlib="no"
have_ecore_x_xcb="no"
x_dir="";
x_includes="";
x_cflags="";
x_libs="";
dnl ecore_x{cb}
AC_ARG_ENABLE(ecore-x-xcb,
AC_HELP_STRING(
[--enable-ecore-x-xcb],
@ -311,25 +319,21 @@ if test "x$want_ecore_x_xcb" = "xyes" ; then
AC_DEFINE(ECORE_XCB_XTEST, 1, [Build support for XCB xtest]) ],
[ have_ecore_x_xcb_xtest="no" ])
AC_DEFINE(BUILD_ECORE_X, 1, [Build Ecore_X Module (XCB backend)])
AC_DEFINE(HAVE_ECORE_X_XCB, 1, [Defined to 1 if XCB backend is enabled.])
AC_DEFINE(HAVE_ECORE_X_XCB, 1, [Defined to 1 if XCB is enabled.])
x_cflags=$XCB_CFLAGS
x_libs=$XCB_LIBS
have_x="yes"
have_ecore_x_xcb_define="-DHAVE_ECORE_X_XCB"
have_ecore_x="yes"
AC_SUBST(have_ecore_x_xcb_define)
fi
fi
x_dir="";
x_includes="";
x_cflags="";
x_libs="";
if test "x$have_ecore_x_xcb" != "xyes" ; then
have_x="no"
if ! test "x$have_ecore_x_xcb" = "xyes" ; then
AC_PATH_XTRA
AC_CHECK_HEADER(X11/X.h,
[
have_x="yes"
if test "x$want_evas_simple_x11" = "xyes"; then
x_libs="${x_libs} -lX11 -lXext"
else
@ -337,17 +341,11 @@ if test "x$have_ecore_x_xcb" != "xyes" ; then
x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
fi
have_ecore_x_xlib="yes"
]
)
AC_SUBST(x_cflags)
AC_SUBST(x_includes)
AC_SUBST(x_libs)
ECORE_CHECK_MODULE([X], [yes], [$have_x],
[ecore_x_libs="$ecore_x_libs $x_libs"])
if test "x$have_ecore_x" = "xyes"; then
if test "x$have_ecore_x_xlib" = "xyes"; then
Xcursor_libs=""
Xcursor_cflags=""
use_Xcursor="no"
@ -395,17 +393,33 @@ if test "x$have_ecore_x_xcb" != "xyes" ; then
ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
AC_DEFINE(HAVE_ECORE_X_XLIB, 1, [Defined to 1 if Xlib is enabled.])
have_x="yes"
have_ecore_x_xlib="yes"
fi
fi
AC_SUBST(x_cflags)
AC_SUBST(x_includes)
AC_SUBST(x_libs)
ECORE_CHECK_MODULE([X], [yes], [$have_x],
[ecore_x_libs="$ecore_x_libs $x_libs"])
dnl ecore_evas_x11
have_ecore_evas_x11="no"
have_ecore_evas_x11_gl="no";
have_ecore_evas_xrender="no";
have_ecore_evas_x11_16="no";
have_ecore_evas_software_x11="no"
have_ecore_evas_xrender_x11="no";
have_ecore_evas_opengl_x11="no";
have_ecore_evas_software_xcb="no"
have_ecore_evas_xrender_xcb="no";
have_ecore_evas_software_16_x11="no";
if test "x$have_ecore_x" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
dnl ecore_evas_x11
want_ecore_evas_x11=yes
dnl ecore_evas_x Xlib
if test "x$have_ecore_x_xlib" = "xyes"; then
want_ecore_evas_software_x11="yes"
dnl disabling this will make things go haywire
#AC_ARG_ENABLE(ecore-evas-x11,
# AC_HELP_STRING(
@ -414,89 +428,106 @@ if test "x$have_ecore_x" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
# ),
# [ want_ecore_evas_x11=$enableval ]
#)
AC_MSG_CHECKING(whether ecore_evas x11 support is to be built)
AC_MSG_RESULT($want_ecore_evas_x11)
AC_MSG_CHECKING(whether ecore_evas Software Xlib support is to be built)
AC_MSG_RESULT($want_ecore_evas_software_x11)
if test "x$want_ecore_evas_x11" = "xyes"; then
if test "x$want_ecore_evas_software_x11" = "xyes"; then
PKG_CHECK_MODULES(EVAS_SOFTWARE_X11, evas-software-x11, [
AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X11 Engine in Ecore_Evas])
have_ecore_evas_x11="yes";
AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_X11, 1, [Support for Software Xlib Engine in Ecore_Evas])
have_ecore_evas_software_x11="yes";
], [
have_ecore_evas_x11="no";
have_ecore_evas_software_x11="no";
])
fi
dnl ecore_evas_x11_gl
want_ecore_evas_x11_gl=yes
AC_ARG_ENABLE(ecore-evas-x11-gl,
dnl ecore_evas_opengl_x11
want_ecore_evas_opengl_x11=yes
AC_ARG_ENABLE(ecore-evas-opengl-x11,
AC_HELP_STRING(
[--enable-ecore-evas-x11-gl],
[enable X11 GL support in the ecore_evas module.]
[--enable-ecore-evas-opengl-x11],
[enable OpenGL Xlib support in the ecore_evas module.]
),
[ want_ecore_evas_x11_gl=$enableval ]
[ want_ecore_evas_opengl_x11=$enableval ]
)
AC_MSG_CHECKING(whether ecore_evas x11 gl support is to be built)
AC_MSG_RESULT($want_ecore_evas_x11_gl)
AC_MSG_CHECKING(whether ecore_evas OpenGL Xlib support is to be built)
AC_MSG_RESULT($want_ecore_evas_opengl_x11)
if test "x$want_ecore_evas_x11_gl" = "xyes"; then
if test "x$want_ecore_evas_opengl_x11" = "xyes"; then
PKG_CHECK_MODULES(EVAS_OPENGL_X11, evas-opengl-x11, [
AC_DEFINE(BUILD_ECORE_EVAS_X11_GL, 1, [Support for GL Engine in Ecore_Evas])
have_ecore_evas_x11_gl="yes";
AC_DEFINE(BUILD_ECORE_EVAS_OPENGL_X11, 1, [Support for OpenGL Xlib Engine in Ecore_Evas])
have_ecore_evas_opengl_x11="yes";
], [
have_ecore_evas_x11_gl="no"
have_ecore_evas_opengl_x11="no"
])
fi
dnl ecore_evas_xrender
want_ecore_evas_xrender=yes
AC_ARG_ENABLE(ecore-evas-xrender,
dnl ecore_evas_xrender_x11
want_ecore_evas_xrender_x11="yes"
AC_ARG_ENABLE(ecore-evas-xrender-x11,
AC_HELP_STRING(
[--disable-ecore-evas-xrender],
[disable XRender support in the ecore_evas module. [[default=enabled]]]
[--disable-ecore-evas-xrender-x11],
[disable XRender Xlib support in the ecore_evas module. [[default=enabled]]]
),
[ want_ecore_evas_xrender=$enableval ]
[ want_ecore_evas_xrender_x11=$enableval ]
)
AC_MSG_CHECKING(whether ecore_evas xrender support is to be built)
AC_MSG_RESULT($want_ecore_evas_xrender)
AC_MSG_CHECKING(whether ecore_evas XRender Xlib support is to be built)
AC_MSG_RESULT($want_ecore_evas_xrender_x11)
if test "x$want_ecore_evas_xrender" = "xyes"; then
if test "x$want_ecore_evas_xrender_x11" = "xyes"; then
PKG_CHECK_MODULES(EVAS_XRENDER_X11, evas-xrender-x11, [
AC_DEFINE(BUILD_ECORE_EVAS_XRENDER, 1, [Support for XRender Engine in Ecore_Evas])
have_ecore_evas_xrender="yes"
AC_DEFINE(BUILD_ECORE_EVAS_XRENDER_X11, 1, [Support for XRender Xlib Engine in Ecore_Evas])
have_ecore_evas_xrender_x11="yes"
], [
have_ecore_evas_xrender="no"
have_ecore_evas_xrender_x11="no"
])
fi
dnl ecore_evas_x11_16
want_ecore_evas_x11_16=no
AC_ARG_ENABLE(ecore-evas-x11-16,
dnl ecore_evas_software_16_x11
want_ecore_evas_software_16_x11=no
AC_ARG_ENABLE(ecore-evas-software-16-x11,
AC_HELP_STRING(
[--enable-ecore-evas-x11-16],
[--enable-ecore-evas-software-16-x11],
[enable 16bpp optimized mode support in the ecore_evas module. [[default=disabled]]]
),
[ want_ecore_evas_x11_16=$enableval ]
[ want_ecore_evas_software_16_x11=$enableval ]
)
AC_MSG_CHECKING(whether ecore_evas x11-16 support is to be built)
AC_MSG_RESULT($want_ecore_evas_x11_16)
AC_MSG_RESULT($want_ecore_evas_software_16_x11)
if test "x$want_ecore_evas_x11_16" = "xyes"; then
if test "x$want_ecore_evas_software_16_x11" = "xyes"; then
PKG_CHECK_MODULES(EVAS_SOFTWARE_16_X11, evas-software-16-x11,
[
AC_DEFINE(BUILD_ECORE_EVAS_X11_16, 1, [Support for X11 16bpp Engine in Ecore_Evas])
have_ecore_evas_x11_16="yes";
AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_16_X11, 1, [Support for X11 16bpp Engine in Ecore_Evas])
have_ecore_evas_software_16_x11="yes";
]
)
fi
else
want_ecore_evas_software_xcb="yes"
ECORE_EVAS_CHECK_MODULE([software-xcb],
[$want_ecore_evas_software_xcb],
[Software XCB],
$have_ecore_x_xcb)
if test "x$have_ecore_evas_x11" = "xyes" -o \
"x$have_ecore_evas_x11_gl" = "yes" -o \
"x$have_ecore_evas_xrender" = "yes" -o \
"x$have_ecore_evas_x11_16" = "yes"; then
want_ecore_evas_xrender_xcb="auto"
ECORE_EVAS_CHECK_MODULE([xrender-xcb],
[$want_ecore_evas_xrender_xcb],
[XRender XCB],
$have_ecore_x_xcb)
fi
if test "x$have_ecore_evas_software_x11" = "xyes" -o \
"x$have_ecore_evas_opengl_x11" = "yes" -o \
"x$have_ecore_evas_xrender_x11" = "yes" -o \
"x$have_ecore_evas_software_16_x11" = "yes" -o \
"x$have_ecore_evas_software_xcb" = "xyes" -o \
"x$have_ecore_evas_xrender_xcb" = "yes"; then
AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas])
requirements_ecore_evas="$requirements_ecore_evas ecore-x"
fi
fi
dnl ecore_win32
@ -786,16 +817,9 @@ AC_SUBST(requirements_ecore_x)
AC_SUBST(requirements_ecore_sdl)
# set up conditionals
AM_CONDITIONAL(BUILD_ECORE_X, test $have_ecore_x = yes -a $have_ecore_x_xcb = no)
AM_CONDITIONAL(BUILD_ECORE_X, test $have_ecore_x = yes)
AM_CONDITIONAL(BUILD_ECORE_X_XLIB, test $have_ecore_x_xlib = yes)
AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes)
AM_CONDITIONAL(BUILD_ECORE_EVAS_SDL, test $have_ecore_evas_sdl = yes)
AM_CONDITIONAL(BUILD_ECORE_EVAS_X11, test $have_ecore_evas_x11 = yes)
AM_CONDITIONAL(BUILD_ECORE_EVAS_X11_GL, test $have_ecore_evas_x11_gl = yes)
AM_CONDITIONAL(BUILD_ECORE_EVAS_XRENDER, test $have_ecore_evas_xrender = yes)
AM_CONDITIONAL(BUILD_ECORE_EVAS_X11_16, test $have_ecore_evas_x11_16 = yes)
AM_CONDITIONAL(BUILD_ECORE_EVAS_DIRECTFB, test $have_ecore_evas_dfb = yes)
AM_CONDITIONAL(BUILD_ECORE_EVAS_FB, test $have_ecore_evas_fb = yes)
AM_CONDITIONAL(BUILD_ECORE_EVAS_BUFFER, test $have_ecore_evas_buffer = yes)
AC_OUTPUT([
Makefile
@ -822,6 +846,8 @@ src/lib/Makefile
src/lib/ecore/Makefile
src/lib/ecore_job/Makefile
src/lib/ecore_x/Makefile
src/lib/ecore_x/xlib/Makefile
src/lib/ecore_x/xcb/Makefile
src/lib/ecore_fb/Makefile
src/lib/ecore_sdl/Makefile
src/lib/ecore_evas/Makefile
@ -873,6 +899,7 @@ echo
echo " Graphic systems:"
echo
if test "x$have_ecore_x" = "xyes" ; then
if test "x$have_ecore_x_xcb" = "xyes" ; then
echo " Ecore_X (XCB backend)........: $have_ecore_x_xcb"
echo " Xprint.....................: $have_ecore_x_xcb_xprint"
@ -888,7 +915,6 @@ if test "x$have_ecore_x_xcb" = "xyes" ; then
echo " Xdpms......................: $have_ecore_x_xcb_dpms"
echo " Xtest......................: $have_ecore_x_xcb_xtest"
else
if test "x$have_ecore_x" = "xyes" ; then
echo " Ecore_X (Xlib backend).......: $have_ecore_x"
echo " Xcursor....................: $use_Xcursor"
echo " Xprint.....................: $use_xprint"
@ -901,10 +927,10 @@ else
echo " Xdamage....................: $use_xdamage"
echo " Xdpms......................: $use_xdpms"
echo " Xtest......................: $use_xtest"
fi
else
echo " Ecore_X......................: $have_ecore_x"
fi
fi
echo " Ecore_Win32..................: $have_ecore_win32"
echo " Ecore_SDL....................: $have_ecore_sdl"
echo " Ecore_FB.....................: $have_ecore_fb"
@ -918,16 +944,18 @@ echo
echo " Ecore_Evas...................: $have_ecore_evas"
if test "x$have_ecore_evas" = "xyes" ; then
echo " Software Memory Buffer.....: $have_ecore_evas_buffer"
echo " Software X11...............: $have_ecore_evas_x11"
echo " XRender X11................: $have_ecore_evas_xrender"
echo " OpenGL X11.................: $have_ecore_evas_x11_gl"
echo " Software X11...............: $have_ecore_evas_software_x11"
echo " XRender X11................: $have_ecore_evas_xrender_x11"
echo " OpenGL X11.................: $have_ecore_evas_opengl_x11"
echo " Software XCB...............: $have_ecore_evas_software_xcb"
echo " XRender XCB................: $have_ecore_evas_xrender_xcb"
echo " Software DirectDraw........: $have_ecore_evas_software_ddraw"
echo " Direct3D...................: $have_ecore_evas_direct3d"
echo " OpenGL Glew................: $have_ecore_evas_opengl_glew"
echo " Software SDL...............: $have_ecore_evas_sdl"
echo " DirectFB...................: $have_ecore_evas_dfb"
echo " Software Framebuffer.......: $have_ecore_evas_fb"
echo " Software 16bit X11.........: $have_ecore_evas_x11_16"
echo " Software 16bit X11.........: $have_ecore_evas_software_16_x11"
echo " Software 16bit DirectDraw..: $have_ecore_evas_software_16_ddraw"
echo " Software 16bit WinCE.......: $have_ecore_evas_software_16_wince"
fi

View File

@ -68,18 +68,20 @@ extern "C" {
typedef enum _Ecore_Evas_Engine_Type
{
ECORE_EVAS_ENGINE_SOFTWARE_X11,
ECORE_EVAS_ENGINE_SOFTWARE_FB,
ECORE_EVAS_ENGINE_GL_X11,
ECORE_EVAS_ENGINE_SOFTWARE_BUFFER,
ECORE_EVAS_ENGINE_SOFTWARE_X11,
ECORE_EVAS_ENGINE_XRENDER_X11,
ECORE_EVAS_ENGINE_DIRECTFB,
ECORE_EVAS_ENGINE_SOFTWARE_X11_16,
ECORE_EVAS_ENGINE_OPENGL_X11,
ECORE_EVAS_ENGINE_SOFTWARE_XCB,
ECORE_EVAS_ENGINE_XRENDER_XCB,
ECORE_EVAS_ENGINE_SOFTWARE_DDRAW,
ECORE_EVAS_ENGINE_SOFTWARE_16_DDRAW,
ECORE_EVAS_ENGINE_DIRECT3D,
ECORE_EVAS_ENGINE_OPENGL_GLEW,
ECORE_EVAS_ENGINE_SDL,
ECORE_EVAS_ENGINE_DIRECTFB,
ECORE_EVAS_ENGINE_SOFTWARE_FB,
ECORE_EVAS_ENGINE_SOFTWARE_16_X11,
ECORE_EVAS_ENGINE_SOFTWARE_16_DDRAW,
ECORE_EVAS_ENGINE_SOFTWARE_16_WINCE,
} Ecore_Evas_Engine_Type;

View File

@ -23,45 +23,38 @@ ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
{
switch (engine)
{
case ECORE_EVAS_ENGINE_SOFTWARE_X11:
#ifdef BUILD_ECORE_EVAS_X11
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_FB:
#ifdef BUILD_ECORE_EVAS_FB
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_GL_X11:
#ifdef BUILD_ECORE_EVAS_X11_GL
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_XRENDER_X11:
#ifdef BUILD_ECORE_EVAS_XRENDER
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_X11_16:
#ifdef BUILD_ECORE_EVAS_X11_16
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_BUFFER:
#ifdef BUILD_ECORE_EVAS_BUFFER
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_DIRECTFB:
#ifdef BUILD_ECORE_EVAS_DIRECTFB
case ECORE_EVAS_ENGINE_SOFTWARE_X11:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_XRENDER_X11:
#ifdef BUILD_ECORE_EVAS_XRENDER_X11
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_OPENGL_X11:
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_XCB:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_XRENDER_XCB:
#ifdef BUILD_ECORE_EVAS_XRENDER_XCB
return 1;
#else
return 0;
@ -89,6 +82,25 @@ ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_DIRECTFB:
#ifdef BUILD_ECORE_EVAS_DIRECTFB
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_FB:
#ifdef BUILD_ECORE_EVAS_FB
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_16_X11:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_X11
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_16_DDRAW:
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW
@ -138,6 +150,9 @@ ecore_evas_shutdown(void)
#ifdef BUILD_ECORE_EVAS_X11
while (_ecore_evas_x_shutdown());
#endif
#ifdef BUILD_ECORE_EVAS_WIN32
while (_ecore_evas_win32_shutdown());
#endif
#ifdef BUILD_ECORE_EVAS_FB
while (_ecore_evas_fb_shutdown());
#endif
@ -147,7 +162,7 @@ ecore_evas_shutdown(void)
#ifdef BUILD_ECORE_EVAS_DIRECTFB
while (_ecore_evas_directfb_shutdown());
#endif
#ifdef BUILD_ECORE_EVAS_WINCE
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
while (_ecore_evas_wince_shutdown());
#endif
evas_shutdown();

View File

@ -29,57 +29,63 @@
#ifdef BUILD_ECORE_EVAS_X11
# include "Ecore_X.h"
# ifdef HAVE_ECORE_X_XCB
# include <Evas_Engine_Software_Xcb.h>
# include <xcb/xcb.h>
# ifdef ECORE_XCB_RENDER
# include <xcb/render.h>
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
# include <Evas_Engine_Software_Xcb.h>
# endif
# ifdef BUILD_ECORE_EVAS_XRENDER
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
# include <xcb/render.h>
# include <Evas_Engine_XRender_Xcb.h>
# endif
# else
# include <Evas_Engine_Software_X11.h>
# endif
# ifdef HAVE_ECORE_X_XLIB
# include <X11/Xlib.h>
# include <X11/Xutil.h>
# ifdef ECORE_XRENDER
# ifdef BUILD_ECORE_EVAS_SOFTWARE_X11
# include <Evas_Engine_Software_X11.h>
# endif
# ifdef BUILD_ECORE_EVAS_XRENDER_X11
# include <X11/extensions/Xrender.h>
# endif
# ifdef BUILD_ECORE_EVAS_X11_GL
# include <Evas_Engine_GL_X11.h>
# endif
# ifdef BUILD_ECORE_EVAS_XRENDER
# include <Evas_Engine_XRender_X11.h>
# endif
# ifdef BUILD_ECORE_EVAS_OPENGL_X11
# include <Evas_Engine_GL_X11.h>
# endif
# ifdef BUILD_ECORE_EVAS_X11_16
# include <Evas_Engine_Software_16_X11.h>
# endif
# endif /* HAVE_ECORE_X_XCB */
# endif
#endif
#ifdef BUILD_ECORE_EVAS_FB
# include <Evas_Engine_FB.h>
#endif
#ifdef BUILD_ECORE_EVAS_DIRECTFB
# include <Evas_Engine_DirectFB.h>
# include "Ecore_DirectFB.h"
#endif
#ifdef BUILD_ECORE_EVAS_BUFFER
# include <Evas_Engine_Buffer.h>
#endif
#ifdef BUILD_ECORE_EVAS_WIN32
# include "Ecore_Win32.h"
# ifdef BUILD_ECORE_EVAS_SOFTWARE_DDRAW
# include <Evas_Engine_Software_DDraw.h>
# endif
# ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW
# include <Evas_Engine_Software_16_DDraw.h>
# endif
# ifdef BUILD_ECORE_EVAS_DIRECT3D
# include <Evas_Engine_Direct3D.h>
# endif
# ifdef BUILD_ECORE_EVAS_OPENGL_GLEW
# include <Evas_Engine_GL_Glew.h>
# endif
# ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW
# include <Evas_Engine_Software_16_DDraw.h>
# endif
#endif
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
# include "Ecore_WinCE.h"
# include <Evas_Engine_Software_16_WinCE.h>
@ -146,7 +152,7 @@ struct _Ecore_Evas_Engine
{
Ecore_Evas_Engine_Func *func;
#ifdef BUILD_ECORE_EVAS_X11
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
struct {
Ecore_X_Window win_root;
Ecore_X_Window win;
@ -154,11 +160,11 @@ struct _Ecore_Evas_Engine
Ecore_X_Pixmap pmap;
Ecore_X_Pixmap mask;
Ecore_X_GC gc;
#ifdef HAVE_ECORE_X_XCB
#ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
# warning [XCB] No Region code
#else
Region damages;
#endif /* HAVE_ECORE_X_XCB */
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
int px, py, pw, ph;
unsigned char direct_resize : 1;
unsigned char using_bg_pixmap : 1;

View File

@ -2,7 +2,7 @@
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#ifdef _HAVE_CONFIG_H
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
@ -51,7 +51,7 @@ xcb_visualtype_get(xcb_screen_t *screen, xcb_visualid_t visual)
}
#endif /* HAVE_ECORE_X_XCB */
#ifdef BUILD_ECORE_EVAS_X11_GL
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
# ifdef HAVE_ECORE_X_XCB
/* noop */
# else
@ -426,10 +426,10 @@ _ecore_evas_x_match(Ecore_X_Window win)
static void
_ecore_evas_x_resize_shape(Ecore_Evas *ee)
{
if (!strcmp(ee->driver, "software_x11"))
if (!strcmp(ee->driver, "software_x11") || !strcmp(ee->driver, "software_xcb"))
{
#ifdef BUILD_ECORE_EVAS_X11
# ifdef HAVE_ECORE_X_XCB
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
Evas_Engine_Info_Software_Xcb *einfo;
einfo = (Evas_Engine_Info_Software_Xcb *)evas_engine_info_get(ee->evas);
@ -437,21 +437,21 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
Evas_Engine_Info_Software_X11 *einfo;
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
if (einfo)
{
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
xcb_rectangle_t rectangle;
Ecore_X_GC gc;
uint32_t value_list;
# else
GC gc;
XGCValues gcv;
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
gc = xcb_generate_id(ecore_x_connection_get());
value_list = 0;
xcb_create_gc(ecore_x_connection_get(), gc, ee->engine.x.mask,
@ -471,17 +471,17 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
XFillRectangle(ecore_x_display_get(), ee->engine.x.mask, gc,
0, 0, ee->w, ee->h);
XFreeGC(ecore_x_display_get(), gc);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
einfo->info.mask = ee->engine.x.mask;
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
}
#endif /* BUILD_ECORE_EVAS_X11 */
#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
}
else if (!strcmp(ee->driver, "xrender_x11"))
else if (!strcmp(ee->driver, "xrender_x11") || !strcmp(ee->driver, "xrender_xcb"))
{
#ifdef BUILD_ECORE_EVAS_XRENDER
# ifdef HAVE_ECORE_X_XCB
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
Evas_Engine_Info_XRender_Xcb *einfo;
einfo = (Evas_Engine_Info_XRender_Xcb *)evas_engine_info_get(ee->evas);
@ -489,21 +489,21 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
Evas_Engine_Info_XRender_X11 *einfo;
einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
if (einfo)
{
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
xcb_rectangle_t rectangle;
Ecore_X_GC gc;
uint32_t value_list;
# else
GC gc;
XGCValues gcv;
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
gc = xcb_generate_id(ecore_x_connection_get());
value_list = 0;
xcb_create_gc(ecore_x_connection_get(), gc, ee->engine.x.mask,
@ -523,17 +523,17 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
XFillRectangle(ecore_x_display_get(), ee->engine.x.mask, gc,
0, 0, ee->w, ee->h);
XFreeGC(ecore_x_display_get(), gc);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
einfo->info.mask = ee->engine.x.mask;
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
}
#endif /* BUILD_ECORE_EVAS_XRENDER */
#endif /* BUILD_ECORE_EVAS_XRENDER_X11 || BUILD_ECORE_EVAS_XRENDER_XCB */
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
#if BUILD_ECORE_EVAS_X11_16
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
# if 0 /* XXX no shaped window support for software_16_x11 */
Evas_Engine_Info_Software_16_X11 *einfo;
@ -550,7 +550,7 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
}
# endif /* XXX no shaped window support for software_16_x11 */
#endif /* BUILD_ECORE_EVAS_X11_16 */
#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
}
@ -991,7 +991,7 @@ _ecore_evas_x_event_window_damage(void *data __UNUSED__, int type __UNUSED__, vo
XDestroyRegion(ee->engine.x.damages);
ee->engine.x.damages = tmpr;
*/
#endif /* HAVE_ECORE_X_XCB */
#endif /* ! HAVE_ECORE_X_XCB */
}
else
{
@ -1368,7 +1368,7 @@ _ecore_evas_x_free(Ecore_Evas *ee)
# warning [XCB] No Region code
#else
if (ee->engine.x.damages) XDestroyRegion(ee->engine.x.damages);
#endif /* HAVE_ECORE_X_XCB */
#endif /* ! HAVE_ECORE_X_XCB */
ee->engine.x.pmap = 0;
ee->engine.x.mask = 0;
ee->engine.x.gc = 0;
@ -1376,7 +1376,7 @@ _ecore_evas_x_free(Ecore_Evas *ee)
# warning [XCB] No Region code
#else
ee->engine.x.damages = 0;
#endif /* HAVE_ECORE_X_XCB */
#endif /* ! HAVE_ECORE_X_XCB */
ecore_evases_hash = evas_hash_del(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
while (ee->engine.x.win_extra)
{
@ -1634,10 +1634,11 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation)
{
if (ee->rotation == rotation) return;
if (!strcmp(ee->driver, "gl_x11")) return;
if (!strcmp(ee->driver, "software_x11"))
if (!strcmp(ee->driver, "xrender_x11")) return;
if (!strcmp(ee->driver, "software_x11") || !strcmp(ee->driver, "software_xcb"))
{
#ifdef BUILD_ECORE_EVAS_X11
# ifdef HAVE_ECORE_X_XCB
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
Evas_Engine_Info_Software_Xcb *einfo;
einfo = (Evas_Engine_Info_Software_Xcb *)evas_engine_info_get(ee->evas);
@ -1645,16 +1646,16 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation)
Evas_Engine_Info_Software_X11 *einfo;
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
#endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
if (!einfo) return;
einfo->info.rotation = rotation;
_ecore_evas_x_rotation_set_internal
(ee, rotation, (Evas_Engine_Info *)einfo);
#endif /* BUILD_ECORE_EVAS_X11 */
#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
#if BUILD_ECORE_EVAS_X11_16
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
Evas_Engine_Info_Software_16_X11 *einfo;
einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
@ -1662,7 +1663,7 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation)
einfo->info.rotation = rotation;
_ecore_evas_x_rotation_set_internal
(ee, rotation, (Evas_Engine_Info *)einfo);
#endif /* BUILD_ECORE_EVAS_X11_16 */
#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
}
@ -1671,10 +1672,11 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
{
if (((ee->shaped) && (shaped)) || ((!ee->shaped) && (!shaped)))
return;
if (!strcmp(ee->driver, "software_x11"))
if (!strcmp(ee->driver, "gl_x11")) return;
if (!strcmp(ee->driver, "software_x11") || !strcmp(ee->driver, "software_xcb"))
{
#ifdef BUILD_ECORE_EVAS_X11
# ifdef HAVE_ECORE_X_XCB
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
Evas_Engine_Info_Software_Xcb *einfo;
einfo = (Evas_Engine_Info_Software_Xcb *)evas_engine_info_get(ee->evas);
@ -1682,25 +1684,25 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
Evas_Engine_Info_Software_X11 *einfo;
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
#endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
ee->shaped = shaped;
if (einfo)
{
if (ee->shaped)
{
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
xcb_rectangle_t rectangle;
Ecore_X_GC gc;
uint32_t value_list;
# else
GC gc;
XGCValues gcv;
#endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
if (!ee->engine.x.mask)
ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
gc = xcb_generate_id(ecore_x_connection_get());
value_list = 0;
xcb_create_gc(ecore_x_connection_get(),
@ -1723,7 +1725,7 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
XFillRectangle(ecore_x_display_get(), ee->engine.x.mask, gc,
0, 0, ee->w, ee->h);
XFreeGC(ecore_x_display_get(), gc);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
einfo->info.mask = ee->engine.x.mask;
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
@ -1739,39 +1741,39 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
ecore_x_window_shape_input_mask_set(ee->engine.x.win, 0);
}
}
#endif /* BUILD_ECORE_EVAS_X11 */
#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
}
else if (!strcmp(ee->driver, "xrender_x11"))
else if (!strcmp(ee->driver, "xrender_x11") || !strcmp(ee->driver, "xrender_xcb"))
{
#ifdef BUILD_ECORE_EVAS_XRENDER
# ifdef HAVE_ECORE_X_XCB
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
Evas_Engine_Info_XRender_Xcb *einfo;
# else
Evas_Engine_Info_XRender_X11 *einfo;
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
ee->shaped = shaped;
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
einfo = (Evas_Engine_Info_XRender_Xcb *)evas_engine_info_get(ee->evas);
# else
einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
if (einfo)
{
if (ee->shaped)
{
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
xcb_rectangle_t rectangle;
Ecore_X_GC gc;
uint32_t value_list;
# else
GC gc;
XGCValues gcv;
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
if (!ee->engine.x.mask)
ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
gc = xcb_generate_id(ecore_x_connection_get());
value_list = 0;
xcb_create_gc(ecore_x_connection_get(),
@ -1794,7 +1796,7 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
XFillRectangle(ecore_x_display_get(), ee->engine.x.mask, gc,
0, 0, ee->w, ee->h);
XFreeGC(ecore_x_display_get(), gc);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
einfo->info.mask = ee->engine.x.mask;
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
@ -1810,11 +1812,11 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
ecore_x_window_shape_input_mask_set(ee->engine.x.win, 0);
}
}
#endif
#endif /* BUILD_ECORE_EVAS_XRENDER_X11 || BUILD_ECORE_EVAS_XRENDER_XCB */
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
#if BUILD_ECORE_EVAS_X11_16
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
# if 0 /* XXX no shaped window support for software_16_x11 */
Evas_Engine_Info_Software_16_X11 *einfo;
@ -1842,7 +1844,7 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
}
}
# endif /* XXX no shaped window support for software_16_x11 */
#endif /* BUILD_ECORE_EVAS_X11_16 */
#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
}
@ -1858,15 +1860,15 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
xcb_get_window_attributes_reply_t *reply_attr;
#else
XWindowAttributes att;
#endif /* HAVE_ECORE_X_XCB */
#endif /* ! HAVE_ECORE_X_XCB */
if (((ee->alpha) && (alpha)) || ((!ee->alpha) && (!alpha)))
return;
if (!strcmp(ee->driver, "software_x11"))
if (!strcmp(ee->driver, "software_x11") || !strcmp(ee->driver, "software_xcb"))
{
#ifdef BUILD_ECORE_EVAS_X11
# ifdef HAVE_ECORE_X_XCB
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
Evas_Engine_Info_Software_Xcb *einfo;
einfo = (Evas_Engine_Info_Software_Xcb *)evas_engine_info_get(ee->evas);
@ -1874,7 +1876,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
Evas_Engine_Info_Software_X11 *einfo;
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
#endif /* HAVE_ECORE_X_XCB */
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
if (!einfo) return;
@ -1906,7 +1908,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
einfo->info.destination_alpha = alpha;
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->engine.x.win);
cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->engine.x.win);
@ -1922,7 +1924,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
einfo->info.visual = att.visual;
einfo->info.colormap = att.colormap;
einfo->info.depth = att.depth;
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
// if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
// ee->engine.x.mask = 0;
@ -1941,12 +1943,12 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
ecore_x_icccm_title_set(ee->engine.x.win, ee->prop.title);
ecore_x_netwm_name_set(ee->engine.x.win, ee->prop.title);
}
#endif /* BUILD_ECORE_EVAS_X11 */
#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
}
else if (!strcmp(ee->driver, "xrender_x11"))
else if (!strcmp(ee->driver, "xrender_x11") || !strcmp(ee->driver, "xrender_xcb"))
{
#ifdef BUILD_ECORE_EVAS_XRENDER
# ifdef HAVE_ECORE_X_XCB
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
Evas_Engine_Info_XRender_Xcb *einfo;
einfo = (Evas_Engine_Info_XRender_Xcb *)evas_engine_info_get(ee->evas);
@ -1954,7 +1956,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
Evas_Engine_Info_XRender_X11 *einfo;
einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
if (!einfo) return;
if (!ecore_x_composite_query()) return;
@ -1985,7 +1987,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
einfo->info.destination_alpha = alpha;
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->engine.x.win);
reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
@ -1994,7 +1996,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
# else
XGetWindowAttributes(ecore_x_display_get(), ee->engine.x.win, &att);
einfo->info.visual = att.visual;
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
// if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
// ee->engine.x.mask = 0;
@ -2013,11 +2015,11 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
ecore_x_icccm_title_set(ee->engine.x.win, ee->prop.title);
ecore_x_netwm_name_set(ee->engine.x.win, ee->prop.title);
}
#endif
#endif /* BUILD_ECORE_EVAS_XRENDER_X11 || BUILD_ECORE_EVAS_XRENDER_XCB */
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
#if BUILD_ECORE_EVAS_X11_16
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
Evas_Engine_Info_Software_16_X11 *einfo;
einfo = (Evas_Engine_Info_Software_16_X11 *)evas_engine_info_get(ee->evas);
@ -2071,19 +2073,19 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
ecore_x_icccm_title_set(ee->engine.x.win, ee->prop.title);
ecore_x_netwm_name_set(ee->engine.x.win, ee->prop.title);
}
#endif /* BUILD_ECORE_EVAS_X11_16 */
#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
}
#endif
#endif /* BUILD_ECORE_EVAS_X11 */
static void *
_ecore_evas_x_window_get(Ecore_Evas *ee)
{
#ifdef BUILD_ECORE_EVAS_X11
return (void *) ee->engine.x.win;
return (void *) (long)ee->engine.x.win;
#else
return 0;
#endif
#endif /* BUILD_ECORE_EVAS_X11 */
}
#ifdef BUILD_ECORE_EVAS_X11
@ -2384,7 +2386,7 @@ _ecore_evas_x_reinit_win(Ecore_Evas *ee)
}
else if (!strcmp(ee->driver, "xrender_x11"))
{
#ifdef BUILD_ECORE_EVAS_XRENDER
#ifdef BUILD_ECORE_EVAS_XRENDER_X11
Evas_Engine_Info_XRender_X11 *einfo;
einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
@ -2397,7 +2399,7 @@ _ecore_evas_x_reinit_win(Ecore_Evas *ee)
}
else if (!strcmp(ee->driver, "gl_x11"))
{
#ifdef BUILD_ECORE_EVAS_X11_GL
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
Evas_Engine_Info_GL_X11 *einfo;
einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
@ -2444,21 +2446,23 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
{
if (ee->prop.avoid_damage == on) return;
if (!strcmp(ee->driver, "gl_x11")) return;
if (!strcmp(ee->driver, "xrender_x11")) return;
if ((!strcmp(ee->driver, "software_x11")) || (!strcmp(ee->driver, "software_xcb")))
{
#ifdef HAVE_ECORE_X_XCB
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
Evas_Engine_Info_Software_Xcb *einfo;
# else
Evas_Engine_Info_Software_X11 *einfo;
#endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
ee->prop.avoid_damage = on;
#ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
einfo = (Evas_Engine_Info_Software_Xcb *)evas_engine_info_get(ee->evas);
# else
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
#endif /* HAVE_ECORE_X_XCB */
# endif /* !BUILD_ECORE_EVAS_SOFTWARE_XCB */
if (einfo)
{
if (ee->prop.avoid_damage)
@ -2501,10 +2505,11 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
}
}
#endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
}
else if (!strcmp(ee->driver, "software_16_x11"))
{
#if BUILD_ECORE_EVAS_X11_16
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
Evas_Engine_Info_Software_16_X11 *einfo;
ee->prop.avoid_damage = on;
@ -2544,7 +2549,7 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
}
}
#endif /* BUILD_ECORE_EVAS_X11_16 */
#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
}
@ -2616,7 +2621,7 @@ static const Ecore_Evas_Engine_Func _ecore_x_engine_func =
_ecore_evas_x_alpha_set,
_ecore_evas_x_window_get
};
#endif
#endif /* BUILD_ECORE_EVAS_X11 */
/*
* FIXME: there are some round trips. Especially, we can split
@ -2632,22 +2637,22 @@ EAPI Ecore_Evas *
ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
int x, int y, int w, int h)
{
#ifdef BUILD_ECORE_EVAS_X11
# ifdef HAVE_ECORE_X_XCB
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
Evas_Engine_Info_Software_Xcb *einfo;
# else
Evas_Engine_Info_Software_X11 *einfo;
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
Ecore_Evas *ee;
int argb = 0;
int rmethod;
static int redraw_debug = -1;
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
rmethod = evas_render_method_lookup("software_xcb");
# else
rmethod = evas_render_method_lookup("software_x11");
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
if (!rmethod) return NULL;
if (!ecore_x_init(disp_name)) return NULL;
ee = calloc(1, sizeof(Ecore_Evas));
@ -2659,11 +2664,11 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_x_engine_func;
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
ee->driver = "software_xcb";
# else
ee->driver = "software_x11";
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
if (disp_name) ee->name = strdup(disp_name);
if (w < 1) w = 1;
@ -2710,22 +2715,22 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
* for the '=' char */
// putenv((char*)"DESKTOP_STARTUP_ID=");
}
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
einfo = (Evas_Engine_Info_Software_Xcb *)evas_engine_info_get(ee->evas);
# else
einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
if (einfo)
{
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
xcb_screen_iterator_t iter;
xcb_screen_t *screen;
# else
int screen;
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
/* FIXME: this is inefficient as its a round trip */
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
screen = ecore_x_default_screen_get();
iter = xcb_setup_roots_iterator (xcb_get_setup (ecore_x_connection_get()));
if (iter.rem > 1)
@ -2791,7 +2796,7 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
free(roots);
}
}
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
if (redraw_debug < 0)
{
@ -2800,17 +2805,17 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
else
redraw_debug = 0;
}
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
einfo->info.conn = ecore_x_connection_get();
einfo->info.screen = screen;
# else
einfo->info.display = ecore_x_display_get();
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
einfo->info.drawable = ee->engine.x.win;
if (argb)
{
/* FIXME: round trip */
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
xcb_get_geometry_cookie_t cookie_geom;
xcb_get_window_attributes_cookie_t cookie_attr;
xcb_get_geometry_reply_t *reply_geom;
@ -2841,11 +2846,11 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
einfo->info.depth = at.depth;
einfo->info.destination_alpha = 1;
}
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
}
else
{
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
xcb_screen_t *screen;
screen = ecore_x_default_screen_get();
@ -2856,7 +2861,7 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
einfo->info.visual = DefaultVisual(ecore_x_display_get(), screen);
einfo->info.colormap = DefaultColormap(ecore_x_display_get(), screen);
einfo->info.depth = DefaultDepth(ecore_x_display_get(), screen);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
einfo->info.destination_alpha = 0;
}
einfo->info.rotation = 0;
@ -2878,7 +2883,7 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
return ee;
#else
return NULL;
#endif /* BUILD_ECORE_EVAS_X11 */
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_X11 && ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
}
/**
@ -2889,7 +2894,11 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
EAPI Ecore_X_Window
ecore_evas_software_x11_window_get(Ecore_Evas *ee)
{
return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
return (Ecore_X_Window) (long)_ecore_evas_x_window_get(ee);
#else
return 0;
#endif
}
/**
@ -2900,7 +2909,11 @@ ecore_evas_software_x11_window_get(Ecore_Evas *ee)
EAPI Ecore_X_Window
ecore_evas_software_x11_subwindow_get(Ecore_Evas *ee)
{
return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
return (Ecore_X_Window) (long)_ecore_evas_x_window_get(ee);
#else
return 0;
#endif
}
/**
@ -2911,7 +2924,7 @@ ecore_evas_software_x11_subwindow_get(Ecore_Evas *ee)
EAPI void
ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee, int on)
{
#ifdef BUILD_ECORE_EVAS_X11
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
ee->engine.x.direct_resize = on;
if (ee->prop.avoid_damage)
{
@ -2944,7 +2957,7 @@ ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee, int on)
EAPI int
ecore_evas_software_x11_direct_resize_get(Ecore_Evas *ee)
{
#ifdef BUILD_ECORE_EVAS_X11
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
return ee->engine.x.direct_resize;
#else
return 0;
@ -2959,7 +2972,7 @@ ecore_evas_software_x11_direct_resize_get(Ecore_Evas *ee)
EAPI void
ecore_evas_software_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
{
#ifdef BUILD_ECORE_EVAS_X11
#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
Ecore_X_Window *winp;
winp = malloc(sizeof(Ecore_X_Window));
@ -2982,7 +2995,7 @@ EAPI Ecore_Evas *
ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent,
int x, int y, int w, int h)
{
#ifdef BUILD_ECORE_EVAS_X11_GL
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
# ifdef HAVE_ECORE_X_XCB
Ecore_Evas *ee = NULL;
# else
@ -3063,7 +3076,7 @@ ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent,
parent = 0;
x = y = w = h = 0;
return NULL;
#endif
#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
}
/**
@ -3074,7 +3087,11 @@ ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent,
EAPI Ecore_X_Window
ecore_evas_gl_x11_window_get(Ecore_Evas *ee)
{
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
#else
return 0;
#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
}
/**
@ -3085,7 +3102,11 @@ ecore_evas_gl_x11_window_get(Ecore_Evas *ee)
EAPI Ecore_X_Window
ecore_evas_gl_x11_subwindow_get(Ecore_Evas *ee)
{
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
#else
return 0;
#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
}
/**
@ -3096,11 +3117,11 @@ ecore_evas_gl_x11_subwindow_get(Ecore_Evas *ee)
EAPI void
ecore_evas_gl_x11_direct_resize_set(Ecore_Evas *ee, int on)
{
#ifdef BUILD_ECORE_EVAS_X11
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
ee->engine.x.direct_resize = on;
#else
return;
#endif
#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
}
/**
@ -3111,11 +3132,11 @@ ecore_evas_gl_x11_direct_resize_set(Ecore_Evas *ee, int on)
EAPI int
ecore_evas_gl_x11_direct_resize_get(Ecore_Evas *ee)
{
#ifdef BUILD_ECORE_EVAS_X11
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
return ee->engine.x.direct_resize;
#else
return 0;
#endif
#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
}
/**
@ -3126,7 +3147,9 @@ ecore_evas_gl_x11_direct_resize_get(Ecore_Evas *ee)
EAPI void
ecore_evas_gl_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
{
#ifdef BUILD_ECORE_EVAS_OPENGL_X11
ecore_evas_software_x11_extra_event_window_add(ee, win);
#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
}
/**
@ -3138,20 +3161,20 @@ EAPI Ecore_Evas *
ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
int x, int y, int w, int h)
{
#ifdef BUILD_ECORE_EVAS_XRENDER
# ifdef HAVE_ECORE_X_XCB
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
Evas_Engine_Info_XRender_Xcb *einfo;
# else
Evas_Engine_Info_XRender_X11 *einfo;
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
Ecore_Evas *ee;
int rmethod;
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
rmethod = evas_render_method_lookup("xrender_xcb");
# else
rmethod = evas_render_method_lookup("xrender_x11");
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
if (!rmethod) return NULL;
if (!ecore_x_init(disp_name)) return NULL;
ee = calloc(1, sizeof(Ecore_Evas));
@ -3163,11 +3186,11 @@ ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_x_engine_func;
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
ee->driver = "xrender_xcb";
# else
ee->driver = "xrender_x11";
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
if (disp_name) ee->name = strdup(disp_name);
if (w < 1) w = 1;
@ -3202,14 +3225,14 @@ ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
* for the '=' char */
// putenv((char*)"DESKTOP_STARTUP_ID=");
}
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
einfo = (Evas_Engine_Info_XRender_Xcb *)evas_engine_info_get(ee->evas);
# else
einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
if (einfo)
{
# ifdef HAVE_ECORE_X_XCB
# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
xcb_screen_iterator_t iter;
xcb_screen_t *screen;
@ -3288,7 +3311,7 @@ ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
}
einfo->info.display = ecore_x_display_get();
einfo->info.visual = DefaultVisual(ecore_x_display_get(), screen);
# endif /* HAVE_ECORE_X_XCB */
# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
einfo->info.drawable = ee->engine.x.win;
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
}
@ -3307,7 +3330,7 @@ ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
return ee;
#else
return NULL;
#endif
#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
}
/**
@ -3318,7 +3341,11 @@ ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
EAPI Ecore_X_Window
ecore_evas_xrender_x11_window_get(Ecore_Evas *ee)
{
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
#else
return 0;
#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
}
/**
@ -3329,7 +3356,11 @@ ecore_evas_xrender_x11_window_get(Ecore_Evas *ee)
EAPI Ecore_X_Window
ecore_evas_xrender_x11_subwindow_get(Ecore_Evas *ee)
{
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
#else
return 0;
#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
}
/**
@ -3340,11 +3371,11 @@ ecore_evas_xrender_x11_subwindow_get(Ecore_Evas *ee)
EAPI void
ecore_evas_xrender_x11_direct_resize_set(Ecore_Evas *ee, int on)
{
#ifdef BUILD_ECORE_EVAS_X11
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
ee->engine.x.direct_resize = on;
#else
return;
#endif
#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
}
/**
@ -3355,11 +3386,11 @@ ecore_evas_xrender_x11_direct_resize_set(Ecore_Evas *ee, int on)
EAPI int
ecore_evas_xrender_x11_direct_resize_get(Ecore_Evas *ee)
{
#ifdef BUILD_ECORE_EVAS_X11
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
return ee->engine.x.direct_resize;
#else
return 0;
#endif
#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
}
/**
@ -3370,7 +3401,11 @@ ecore_evas_xrender_x11_direct_resize_get(Ecore_Evas *ee)
EAPI void
ecore_evas_xrender_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
{
#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
ecore_evas_software_x11_extra_event_window_add(ee, win);
#else
return;
#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
}
/**
@ -3382,7 +3417,7 @@ EAPI Ecore_Evas *
ecore_evas_software_x11_16_new(const char *disp_name, Ecore_X_Window parent,
int x, int y, int w, int h)
{
#if BUILD_ECORE_EVAS_X11_16
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
Evas_Engine_Info_Software_16_X11 *einfo;
Ecore_Evas *ee;
int argb = 0;
@ -3509,7 +3544,7 @@ ecore_evas_software_x11_16_new(const char *disp_name, Ecore_X_Window parent,
return ee;
#else
return NULL;
#endif /* BUILD_ECORE_EVAS_X11 */
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
/**
@ -3520,7 +3555,11 @@ ecore_evas_software_x11_16_new(const char *disp_name, Ecore_X_Window parent,
EAPI Ecore_X_Window
ecore_evas_software_x11_16_window_get(Ecore_Evas *ee)
{
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
#else
return 0;
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
/**
@ -3531,7 +3570,11 @@ ecore_evas_software_x11_16_window_get(Ecore_Evas *ee)
EAPI Ecore_X_Window
ecore_evas_software_x11_16_subwindow_get(Ecore_Evas *ee)
{
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
#else
return 0;
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
/**
@ -3542,7 +3585,7 @@ ecore_evas_software_x11_16_subwindow_get(Ecore_Evas *ee)
EAPI void
ecore_evas_software_x11_16_direct_resize_set(Ecore_Evas *ee, int on)
{
#if BUILD_ECORE_EVAS_X11_16
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
ee->engine.x.direct_resize = on;
if (ee->prop.avoid_damage)
{
@ -3564,7 +3607,7 @@ ecore_evas_software_x11_16_direct_resize_set(Ecore_Evas *ee, int on)
}
#else
return;
#endif
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
/**
@ -3575,11 +3618,11 @@ ecore_evas_software_x11_16_direct_resize_set(Ecore_Evas *ee, int on)
EAPI int
ecore_evas_software_x11_16_direct_resize_get(Ecore_Evas *ee)
{
#if BUILD_ECORE_EVAS_X11_16
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
return ee->engine.x.direct_resize;
#else
return 0;
#endif
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}
/**
@ -3590,7 +3633,7 @@ ecore_evas_software_x11_16_direct_resize_get(Ecore_Evas *ee)
EAPI void
ecore_evas_software_x11_16_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
{
#if BUILD_ECORE_EVAS_X11_16
#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
Ecore_X_Window *winp;
winp = malloc(sizeof(Ecore_X_Window));
@ -3601,5 +3644,5 @@ ecore_evas_software_x11_16_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window
ecore_evases_hash = evas_hash_add(ecore_evases_hash, _ecore_evas_x_winid_str_get(win), ee);
}
#else
#endif
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
}

View File

@ -1,199 +1,36 @@
MAINTAINERCLEANFILES = Makefile.in
if BUILD_ECORE_X_XCB
AM_CPPFLAGS = \
@XCB_DAMAGE_CFLAGS@ \
@XCB_COMPOSITE_CFLAGS@ \
@XCB_DPMS_CFLAGS@ \
@XCB_RANDR_CFLAGS@ \
@XCB_RENDER_CFLAGS@ \
@XCB_SCREENSAVER_CFLAGS@ \
@XCB_SHAPE_CFLAGS@ \
@XCB_SYNC_CFLAGS@ \
@XCB_XFIXES_CFLAGS@ \
@XCB_XINERAMA_CFLAGS@ \
@XCB_XPRINT_CFLAGS@ \
@XCB_XTEST_CFLAGS@ \
@XCB_CFLAGS@ \
-I$(top_srcdir)/src/lib/ecore \
-I$(top_srcdir)/src/lib/ecore_txt \
-I$(top_builddir)/src/lib/ecore \
-I$(top_builddir)/src/lib/ecore_txt
else
AM_CPPFLAGS = \
@Xcursor_cflags@ \
@XDAMAGE_CFLAGS@ \
@XCOMPOSITE_CFLAGS@ \
@XDPMS_CFLAGS@ \
@XFIXES_CFLAGS@ \
@XINERAMA_CFLAGS@ \
@XPRINT_CFLAGS@ \
@XRANDR_CFLAGS@ \
@XRENDER_CFLAGS@ \
@XSS_CFLAGS@ \
@XTEST_CFLAGS@ \
@x_cflags@ \
-I$(top_srcdir)/src/lib/ecore \
-I$(top_srcdir)/src/lib/ecore_txt \
-I$(top_builddir)/src/lib/ecore \
-I$(top_builddir)/src/lib/ecore_txt
endif
if BUILD_ECORE_X_XCB
lib_LTLIBRARIES = libecore_x.la
include_HEADERS = \
Ecore_X.h \
Ecore_X_Atoms.h \
Ecore_X_Cursor.h
libecore_x_la_SOURCES = \
ecore_xcb_atom.c \
ecore_xcb_cursor.c \
ecore_xcb_damage.c \
ecore_xcb_composite.c \
ecore_xcb_dnd.c \
ecore_xcb_dpms.c \
ecore_xcb_drawable.c \
ecore_xcb_e.c \
ecore_xcb_events.c \
ecore_xcb_fixes.c \
ecore_xcb_gc.c \
ecore_xcb_icccm.c \
ecore_xcb_mwm.c \
ecore_xcb_netwm.c \
ecore_xcb_pixmap.c \
ecore_xcb_randr.c \
ecore_xcb_reply.c \
ecore_xcb_screensaver.c \
ecore_xcb_selection.c \
ecore_xcb_shape.c \
ecore_xcb_sync.c \
ecore_xcb_window.c \
ecore_xcb_window_prop.c \
ecore_xcb_xinerama.c \
ecore_xcb.c \
ecore_xcb_private.h \
ecore_x_atoms_decl.h
libecore_x_la_LIBADD = \
@XCB_DAMAGE_LIBS@ \
@XCB_COMPOSITE_LIBS@ \
@XCB_DPMS_LIBS@ \
@XCB_RANDR_LIBS@ \
@XCB_RENDER_LIBS@ \
@XCB_SCREENSAVER_LIBS@ \
@XCB_SHAPE_LIBS@ \
@XCB_SYNC_LIBS@ \
@XCB_XFIXES_LIBS@ \
@XCB_XINERAMA_LIBS@ \
@XCB_XPRINT_LIBS@ \
@XCB_XTEST_LIBS@ \
@XCB_LIBS@ \
$(top_builddir)/src/lib/ecore/libecore.la \
$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
libecore_x_la_LDFLAGS = -version-info @version_info@
libecore_x_la_DEPENDENCIES = \
$(top_builddir)/src/lib/ecore/libecore.la \
$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
else
SUBDIRS = xlib xcb
if BUILD_ECORE_X
if BUILD_ECORE_X_XCB
DEP = xcb/libecore_x_xcb.la
else
DEP = xlib/libecore_x_xlib.la
endif
AM_CPPFLAGS = \
-I$(top_srcdir)/src/lib/ecore \
-I$(top_srcdir)/src/lib/ecore_txt \
-I$(top_builddir)/src/lib/ecore \
-I$(top_builddir)/src/lib/ecore_txt
lib_LTLIBRARIES = libecore_x.la
libecore_x_la_SOURCES =
libecore_x_la_LIBADD = $(DEP)
libecore_x_la_LDFLAGS = -version-info @version_info@
libecore_x_la_DEPENDENCIES = $(DEP)
include_HEADERS = \
Ecore_X.h \
Ecore_X_Atoms.h \
Ecore_X_Cursor.h
libecore_x_la_SOURCES = \
ecore_x.c \
ecore_x_dnd.c \
ecore_x_sync.c \
ecore_x_randr.c \
ecore_x_fixes.c \
ecore_x_damage.c \
ecore_x_composite.c \
ecore_x_error.c \
ecore_x_events.c \
ecore_x_icccm.c \
ecore_x_netwm.c \
ecore_x_mwm.c \
ecore_x_e.c \
ecore_x_selection.c \
ecore_x_window.c \
ecore_x_window_prop.c \
ecore_x_window_shape.c \
ecore_x_pixmap.c \
ecore_x_gc.c \
ecore_x_xinerama.c \
ecore_x_screensaver.c \
ecore_x_dpms.c \
ecore_x_drawable.c \
ecore_x_cursor.c \
ecore_x_test.c \
ecore_x_atoms.c \
ecore_x_private.h \
ecore_x_atoms_decl.h
libecore_x_la_LIBADD = \
@Xcursor_libs@ \
@XDAMAGE_LIBS@ \
@XCOMPOSITE_LIBS@ \
@XDPMS_LIBS@ \
@XFIXES_LIBS@ \
@XINERAMA_LIBS@ \
@XPRINT_LIBS@ \
@XRANDR_LIBS@ \
@XRENDER_LIBS@ \
@XSS_LIBS@ \
@XTEST_LIBS@ \
@x_libs@ \
$(top_builddir)/src/lib/ecore/libecore.la \
$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
libecore_x_la_LDFLAGS = -version-info @version_info@
libecore_x_la_DEPENDENCIES = \
$(top_builddir)/src/lib/ecore/libecore.la \
$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
endif
endif
EXTRA_DIST = \
Ecore_X.h \
Ecore_X_Atoms.h \
Ecore_X_Cursor.h \
ecore_x.c \
ecore_x_dnd.c \
ecore_x_sync.c \
ecore_x_randr.c \
ecore_x_fixes.c \
ecore_x_damage.c \
ecore_x_composite.c \
ecore_x_error.c \
ecore_x_events.c \
ecore_x_icccm.c \
ecore_x_netwm.c \
ecore_x_mwm.c \
ecore_x_e.c \
ecore_x_selection.c \
ecore_x_window.c \
ecore_x_window_prop.c \
ecore_x_window_shape.c \
ecore_x_pixmap.c \
ecore_x_gc.c \
ecore_x_xinerama.c \
ecore_x_screensaver.c \
ecore_x_dpms.c \
ecore_x_drawable.c \
ecore_x_cursor.c \
ecore_x_test.c \
ecore_x_atoms.c \
ecore_x_private.h \
ecore_x_atoms_decl.h
EXTRA_DIST = ecore_x_atoms_decl.h

View File

@ -0,0 +1,81 @@
MAINTAINERCLEANFILES = Makefile.in
if BUILD_ECORE_X_XCB
AM_CPPFLAGS = \
@XCB_DAMAGE_CFLAGS@ \
@XCB_COMPOSITE_CFLAGS@ \
@XCB_DPMS_CFLAGS@ \
@XCB_RANDR_CFLAGS@ \
@XCB_RENDER_CFLAGS@ \
@XCB_SCREENSAVER_CFLAGS@ \
@XCB_SHAPE_CFLAGS@ \
@XCB_SYNC_CFLAGS@ \
@XCB_XFIXES_CFLAGS@ \
@XCB_XINERAMA_CFLAGS@ \
@XCB_XPRINT_CFLAGS@ \
@XCB_XTEST_CFLAGS@ \
@XCB_CFLAGS@ \
-I$(top_srcdir)/src/lib/ecore \
-I$(top_srcdir)/src/lib/ecore_txt \
-I$(top_srcdir)/src/lib/ecore_x \
-I$(top_builddir)/src/lib/ecore \
-I$(top_builddir)/src/lib/ecore_txt \
-I$(top_builddir)/src/lib/ecore_x
noinst_LTLIBRARIES = libecore_x_xcb.la
libecore_x_xcb_la_SOURCES = \
ecore_xcb_atom.c \
ecore_xcb_cursor.c \
ecore_xcb_damage.c \
ecore_xcb_composite.c \
ecore_xcb_dnd.c \
ecore_xcb_dpms.c \
ecore_xcb_drawable.c \
ecore_xcb_e.c \
ecore_xcb_events.c \
ecore_xcb_fixes.c \
ecore_xcb_gc.c \
ecore_xcb_icccm.c \
ecore_xcb_mwm.c \
ecore_xcb_netwm.c \
ecore_xcb_pixmap.c \
ecore_xcb_randr.c \
ecore_xcb_reply.c \
ecore_xcb_screensaver.c \
ecore_xcb_selection.c \
ecore_xcb_shape.c \
ecore_xcb_sync.c \
ecore_xcb_window.c \
ecore_xcb_window_prop.c \
ecore_xcb_xinerama.c \
ecore_xcb.c
libecore_x_xcb_la_LIBADD = \
@XCB_DAMAGE_LIBS@ \
@XCB_COMPOSITE_LIBS@ \
@XCB_DPMS_LIBS@ \
@XCB_RANDR_LIBS@ \
@XCB_RENDER_LIBS@ \
@XCB_SCREENSAVER_LIBS@ \
@XCB_SHAPE_LIBS@ \
@XCB_SYNC_LIBS@ \
@XCB_XFIXES_LIBS@ \
@XCB_XINERAMA_LIBS@ \
@XCB_XPRINT_LIBS@ \
@XCB_XTEST_LIBS@ \
@XCB_LIBS@ \
$(top_builddir)/src/lib/ecore/libecore.la \
$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
libecore_x_xcb_la_LDFLAGS = -version-info @version_info@
libecore_x_xcb_la_DEPENDENCIES = \
$(top_builddir)/src/lib/ecore/libecore.la \
$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
endif
EXTRA_DIST = ecore_xcb_private.h

View File

@ -244,7 +244,9 @@ ecore_x_init(const char *name)
#ifdef ECORE_XCB_SYNC
xcb_prefetch_extension_data(_ecore_xcb_conn, &xcb_sync_id);
cookie_sync_init = xcb_sync_initialize_unchecked(_ecore_xcb_conn);
cookie_sync_init = xcb_sync_initialize_unchecked(_ecore_xcb_conn,
XCB_SYNC_MAJOR_VERSION,
XCB_SYNC_MINOR_VERSION);
#endif /* ECORE_XCB_SYNC */
#ifdef ECORE_XCB_FIXES

View File

@ -91,10 +91,10 @@ ecore_x_cursor_new(Ecore_X_Window window,
1, mask, draw,
1, 1);
image = xcb_image_create(_ecore_xcb_conn, 1,
XCB_IMAGE_FORMAT_Z_PIXMAP, 0,
NULL, w, h, 32, 0);
image->data = malloc(image->bytes_per_line * image->height);
image = xcb_image_create_native(_ecore_xcb_conn, w, h,
XCB_IMAGE_FORMAT_Z_PIXMAP,
32, NULL, ~0, NULL);
image->data = malloc(image->size);
fr = 0x00; fg = 0x00; fb = 0x00;
br = 0xff; bg = 0xff; bb = 0xff;
@ -167,7 +167,7 @@ ecore_x_cursor_new(Ecore_X_Window window,
draw = pixmap;
gc = xcb_generate_id(_ecore_xcb_conn);
xcb_create_gc(_ecore_xcb_conn, gc, draw, 0, NULL);
xcb_image_put(_ecore_xcb_conn, draw, gc, image, 0, 0, 0, 0, w, h);
xcb_image_put(_ecore_xcb_conn, draw, gc, image, 0, 0, 0);
xcb_free_gc(_ecore_xcb_conn, gc);
pix = (uint32_t *)pixels;
@ -187,7 +187,7 @@ ecore_x_cursor_new(Ecore_X_Window window,
draw = mask;
gc = xcb_generate_id(_ecore_xcb_conn);
xcb_create_gc (_ecore_xcb_conn, gc, draw, 0, NULL);
xcb_image_put(_ecore_xcb_conn, draw, gc, image, 0, 0, 0, 0, w, h);
xcb_image_put(_ecore_xcb_conn, draw, gc, image, 0, 0, 0);
xcb_free_gc(_ecore_xcb_conn, gc);
free(image->data);

View File

@ -350,6 +350,8 @@ _ecore_x_event_handle_button_press(xcb_generic_event_t *event)
e->win = ev->event;
e->event_win = ev->event;
e->same_screen = ev->same_screen;
e->root_win = ev->root;
e->time = ev->time;
_ecore_xcb_event_last_time = e->time;
_ecore_xcb_event_last_window = e->win;
@ -395,6 +397,8 @@ _ecore_x_event_handle_button_press(xcb_generic_event_t *event)
e->root.y = ev->root_y;
if (ev->child) e->win = ev->child;
else e->win = ev->event;
e->same_screen = ev->same_screen;
e->root_win = ev->root;
e->event_win = ev->event;
e->time = ev->time;
_ecore_xcb_event_last_time = e->time;
@ -426,6 +430,8 @@ _ecore_x_event_handle_button_press(xcb_generic_event_t *event)
e->root.y = ev->root_y;
if (ev->child) e->win = ev->child;
else e->win = ev->event;
e->same_screen = ev->same_screen;
e->root_win = ev->root;
e->event_win = ev->event;
e->time = ev->time;
if (e->win == e->event_win)
@ -521,6 +527,8 @@ _ecore_x_event_handle_button_release(xcb_generic_event_t *event)
e->root.y = ev->root_y;
if (ev->child) e->win = ev->child;
else e->win = ev->event;
e->same_screen = ev->same_screen;
e->root_win = ev->root;
e->event_win = ev->event;
e->time = ev->time;
_ecore_xcb_event_last_time = e->time;
@ -542,6 +550,8 @@ _ecore_x_event_handle_button_release(xcb_generic_event_t *event)
e->root.y = ev->root_y;
if (ev->child) e->win = ev->child;
else e->win = ev->event;
e->same_screen = ev->same_screen;
e->root_win = ev->root;
e->event_win = ev->event;
e->time = ev->time;
_ecore_xcb_mouse_up_count++;
@ -589,6 +599,8 @@ _ecore_x_event_handle_motion_notify(xcb_generic_event_t *event)
e->root.y = ev->root_y;
if (ev->child) e->win = ev->child;
else e->win = ev->event;
e->same_screen = ev->same_screen;
e->root_win = ev->root;
e->event_win = ev->event;
e->time = ev->time;
_ecore_xcb_event_last_time = e->time;
@ -597,7 +609,7 @@ _ecore_x_event_handle_motion_notify(xcb_generic_event_t *event)
_ecore_xcb_event_last_root_y = e->root.y;
/* Xdnd handling */
_ecore_x_dnd_drag(e->root.x, e->root.y);
_ecore_x_dnd_drag(e->root_win, e->root.x, e->root.y);
ecore_event_add(ECORE_X_EVENT_MOUSE_MOVE, e, NULL, NULL);
}
@ -621,6 +633,8 @@ _ecore_x_event_handle_enter_notify(xcb_generic_event_t *event)
e->root.y = ev->root_y;
if (ev->child) e->win = ev->child;
else e->win = ev->event;
e->same_screen = ev->same_screen_focus;
e->root_win = ev->root;
e->event_win = ev->event;
e->time = ev->time;
_ecore_xcb_event_last_time = e->time;
@ -641,6 +655,8 @@ _ecore_x_event_handle_enter_notify(xcb_generic_event_t *event)
e->root.y = ev->root_y;
if (ev->child) e->win = ev->child;
else e->win = ev->event;
e->same_screen = ev->same_screen_focus;
e->root_win = ev->root;
e->event_win = ev->event;
switch (ev->mode) {
case XCB_NOTIFY_MODE_NORMAL:
@ -700,6 +716,8 @@ _ecore_x_event_handle_leave_notify(xcb_generic_event_t *event)
e->root.y = ev->root_y;
if (ev->child) e->win = ev->child;
else e->win = ev->event;
e->same_screen = ev->same_screen_focus;
e->root_win = ev->root;
e->event_win = ev->event;
e->time = ev->time;
_ecore_xcb_event_last_time = e->time;
@ -720,6 +738,8 @@ _ecore_x_event_handle_leave_notify(xcb_generic_event_t *event)
e->root.y = ev->root_y;
if (ev->child) e->win = ev->child;
else e->win = ev->event;
e->same_screen = ev->same_screen_focus;
e->root_win = ev->root;
e->event_win = ev->event;
switch (ev->mode) {
case XCB_NOTIFY_MODE_NORMAL:
@ -1049,7 +1069,7 @@ _ecore_x_event_handle_configure_notify(xcb_generic_event_t *event)
e->border = ev->border_width;
e->override = ev->override_redirect;
/* send_event is bit 7 (0x80) of response_type */
e->from_wm = ev->response_type & 0x80;
e->from_wm = (ev->response_type & 0x80) ? 1 : 0;
e->time = _ecore_xcb_event_last_time;
ecore_event_add(ECORE_X_EVENT_WINDOW_CONFIGURE, e, NULL, NULL);
}

View File

@ -249,7 +249,8 @@ void _ecore_x_dnd_init (void);
void _ecore_x_dnd_shutdown (void);
Ecore_X_DND_Source *_ecore_x_dnd_source_get (void);
Ecore_X_DND_Target *_ecore_x_dnd_target_get (void);
void _ecore_x_dnd_drag (int x,
void _ecore_x_dnd_drag (Ecore_X_Window root,
int x,
int y);

View File

@ -28,7 +28,9 @@ _ecore_x_sync_init(const xcb_query_extension_reply_t *reply)
{
#ifdef ECORE_XCB_SYNC
if (reply && (reply->present))
_ecore_xcb_sync_init_cookie = xcb_sync_initialize_unchecked(_ecore_xcb_conn);
_ecore_xcb_sync_init_cookie = xcb_sync_initialize_unchecked(_ecore_xcb_conn,
XCB_SYNC_MAJOR_VERSION,
XCB_SYNC_MINOR_VERSION);
#endif /* ECORE_XCB_SYNC */
}

View File

@ -0,0 +1,80 @@
MAINTAINERCLEANFILES = Makefile.in
if BUILD_ECORE_X_XLIB
AM_CPPFLAGS = \
@Xcursor_cflags@ \
@XDAMAGE_CFLAGS@ \
@XCOMPOSITE_CFLAGS@ \
@XDPMS_CFLAGS@ \
@XFIXES_CFLAGS@ \
@XINERAMA_CFLAGS@ \
@XPRINT_CFLAGS@ \
@XRANDR_CFLAGS@ \
@XRENDER_CFLAGS@ \
@XSS_CFLAGS@ \
@XTEST_CFLAGS@ \
@x_cflags@ \
-I$(top_srcdir)/src/lib/ecore \
-I$(top_srcdir)/src/lib/ecore_txt \
-I$(top_srcdir)/src/lib/ecore_x \
-I$(top_builddir)/src/lib/ecore \
-I$(top_builddir)/src/lib/ecore_txt \
-I$(top_builddir)/src/lib/ecore_x
noinst_LTLIBRARIES = libecore_x_xlib.la
libecore_x_xlib_la_SOURCES = \
ecore_x.c \
ecore_x_dnd.c \
ecore_x_sync.c \
ecore_x_randr.c \
ecore_x_fixes.c \
ecore_x_damage.c \
ecore_x_composite.c \
ecore_x_error.c \
ecore_x_events.c \
ecore_x_icccm.c \
ecore_x_netwm.c \
ecore_x_mwm.c \
ecore_x_e.c \
ecore_x_selection.c \
ecore_x_window.c \
ecore_x_window_prop.c \
ecore_x_window_shape.c \
ecore_x_pixmap.c \
ecore_x_gc.c \
ecore_x_xinerama.c \
ecore_x_screensaver.c \
ecore_x_dpms.c \
ecore_x_drawable.c \
ecore_x_cursor.c \
ecore_x_test.c \
ecore_x_atoms.c
libecore_x_xlib_la_LIBADD = \
@Xcursor_libs@ \
@XDAMAGE_LIBS@ \
@XCOMPOSITE_LIBS@ \
@XDPMS_LIBS@ \
@XFIXES_LIBS@ \
@XINERAMA_LIBS@ \
@XPRINT_LIBS@ \
@XRANDR_LIBS@ \
@XRENDER_LIBS@ \
@XSS_LIBS@ \
@XTEST_LIBS@ \
@x_libs@ \
$(top_builddir)/src/lib/ecore/libecore.la \
$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
libecore_x_xlib_la_LDFLAGS = -version-info @version_info@
libecore_x_xlib_la_DEPENDENCIES = \
$(top_builddir)/src/lib/ecore/libecore.la \
$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
endif
EXTRA_DIST = ecore_x_private.h