forked from enlightenment/efl
* use ECORE_EVAS_CHECK_MODULE for Windows modules
(other modules will follow later) * update Windows ecore evas module accordingly * factorize win32 code before cedric changes :p * add warning for vc++ (patch from Dmitriy Mazovka) SVN revision: 35137
This commit is contained in:
parent
0b77c43fb8
commit
a7dcdaeb55
|
@ -490,6 +490,7 @@ if test "x$have_ecore_x" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$have_ecore_evas_x11" = "xyes" -o \
|
if test "x$have_ecore_evas_x11" = "xyes" -o \
|
||||||
"x$have_ecore_evas_x11_gl" = "yes" -o \
|
"x$have_ecore_evas_x11_gl" = "yes" -o \
|
||||||
"x$have_ecore_evas_xrender" = "yes" -o \
|
"x$have_ecore_evas_xrender" = "yes" -o \
|
||||||
|
@ -499,106 +500,57 @@ if test "x$have_ecore_x" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl ecore_win32
|
dnl ecore_win32
|
||||||
# TODO: We should first check if we have win32 available before checking for win32 evas
|
|
||||||
# TODO: Need to check if we have evas before testing win32 evas engines
|
|
||||||
PKG_CHECK_MODULES(EVAS_SOFTWARE_DDRAW, evas-software-ddraw >= 0.9.9.41,
|
|
||||||
[ have_ddraw="yes"
|
|
||||||
ddraw_libs="-lddraw -ldxguid" ],
|
|
||||||
[ have_ddraw="no" ]
|
|
||||||
)
|
|
||||||
AC_SUBST(ddraw_libs)
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(EVAS_SOFTWARE_16_DDRAW, evas-software-16-ddraw >= 0.9.9.41,
|
ECORE_CHECK_MODULE([Win32], [no], [yes],
|
||||||
[ have_ddraw_16="yes"
|
|
||||||
ddraw_16_libs="-lddraw -ldxguid" ],
|
|
||||||
[ have_ddraw_16="no" ]
|
|
||||||
)
|
|
||||||
AC_SUBST(ddraw_16_libs)
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(EVAS_DIRECT3D, evas-direct3d >= 0.9.9.41,
|
|
||||||
[ have_direct3d="yes"
|
|
||||||
direct3d_libs="-ld3d9 -ld3dx9d" ],
|
|
||||||
[ have_direct3d="no" ]
|
|
||||||
)
|
|
||||||
AC_SUBST(direct3d_libs)
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(EVAS_OPENGL_GLEW, evas-opengl-glew >= 0.9.9.41,
|
|
||||||
[ have_opengl_glew="yes"
|
|
||||||
glew_libs="-lglew32 -lgdi32" ],
|
|
||||||
[ have_opengl_glew="no" ]
|
|
||||||
)
|
|
||||||
AC_SUBST(glew_libs)
|
|
||||||
|
|
||||||
have_win32="no"
|
|
||||||
if test "x${have_ddraw}" = "xyes" -o "x${have_ddraw_16}" = "xyes" -o "x${have_direct3d}" = "xyes" -o "x${have_opengl_glew}" = "xyes"; then
|
|
||||||
have_win32="yes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
ECORE_CHECK_MODULE([Win32], [no], [$have_win32],
|
|
||||||
[ecore_win32_libs="-lgdi32"])
|
[ecore_win32_libs="-lgdi32"])
|
||||||
AC_SUBST(ecore_win32_libs)
|
AC_SUBST(ecore_win32_libs)
|
||||||
|
|
||||||
if test "x$have_ecore_win32" = "xyes"; then
|
want_ecore_evas_software_ddraw="yes"
|
||||||
|
ECORE_EVAS_CHECK_MODULE([software-ddraw],
|
||||||
|
[$want_ecore_evas_software_ddraw],
|
||||||
|
[Software DirectDraw],
|
||||||
|
$have_ecore_win32)
|
||||||
|
|
||||||
|
want_ecore_evas_direct3d="yes"
|
||||||
|
ECORE_EVAS_CHECK_MODULE([direct3d],
|
||||||
|
[$want_ecore_evas_direct3d],
|
||||||
|
[Direct3d],
|
||||||
|
$have_ecore_win32)
|
||||||
|
|
||||||
|
want_ecore_evas_opengl_glew="yes"
|
||||||
|
ECORE_EVAS_CHECK_MODULE([opengl-glew],
|
||||||
|
[$want_ecore_evas_opengl_glew],
|
||||||
|
[Glew OpenGL],
|
||||||
|
$have_ecore_win32)
|
||||||
|
|
||||||
|
want_ecore_evas_software_16_ddraw="yes"
|
||||||
|
ECORE_EVAS_CHECK_MODULE([software-16-ddraw],
|
||||||
|
[$want_ecore_evas_software_16_ddraw],
|
||||||
|
[16 bpp Software DirectDraw],
|
||||||
|
$have_ecore_win32)
|
||||||
|
|
||||||
|
if test "x$have_ecore_evas_software_ddraw" = "xyes" -o \
|
||||||
|
"x$have_ecore_evas_direct3d" = "yes" -o \
|
||||||
|
"x$have_ecore_evas_opengl_glew" = "yes" -o \
|
||||||
|
"x$have_ecore_evas_software_16_ddraw" = "yes"; then
|
||||||
|
AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
|
||||||
requirements_ecore_evas="$requirements_ecore_evas ecore-win32"
|
requirements_ecore_evas="$requirements_ecore_evas ecore-win32"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
have_ecore_evas_ddraw="no"
|
dnl ecore_wince
|
||||||
if test "x${have_ecore_win32}" = "xyes" -a "x${have_ddraw}" = "xyes"; then
|
|
||||||
AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_DIRECTDRAW, 1, [Support for DirectDraw Engine in Ecore_Evas])
|
|
||||||
have_ecore_evas_ddraw="yes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
have_ecore_evas_ddraw_16="no"
|
|
||||||
if test "x${have_ecore_win32}" = "xyes" -a "x${have_ddraw_16}" = "xyes"; then
|
|
||||||
AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_DIRECTDRAW_16, 1, [Support for 16 bpp DirectDraw Engine in Ecore_Evas])
|
|
||||||
have_ecore_evas_ddraw_16="yes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
have_ecore_evas_direct3d="no"
|
|
||||||
if test "x${have_ecore_win32}" = "xyes" -a "x${have_direct3d}" = "xyes"; then
|
|
||||||
AC_DEFINE(BUILD_ECORE_EVAS_DIRECT3D, 1, [Support for Direct3D Engine in Ecore_Evas])
|
|
||||||
have_ecore_evas_direct3d="yes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
have_ecore_evas_opengl_glew="no"
|
|
||||||
if test "x${have_ecore_win32}" = "xyes" -a "x${have_opengl_glew}" = "xyes"; then
|
|
||||||
AC_DEFINE(BUILD_ECORE_EVAS_GL_GLEW, 1, [Support for OpenGL with Glew Engine in Ecore_Evas])
|
|
||||||
have_ecore_evas_opengl_glew="yes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
ECORE_CHECK_MODULE([WinCE], [no])
|
ECORE_CHECK_MODULE([WinCE], [no])
|
||||||
|
|
||||||
if test "x$have_ecore_wince" = "xyes"; then
|
want_ecore_evas_software_16_wince="yes"
|
||||||
|
ECORE_EVAS_CHECK_MODULE([software-16-wince],
|
||||||
|
[$want_ecore_evas_software_16_wince],
|
||||||
|
[16 bpp Software Windows CE],
|
||||||
|
$have_ecore_wince)
|
||||||
|
|
||||||
|
if test "x$have_ecore_evas_software_16_wince" = "xyes"; then
|
||||||
requirements_ecore_evas="$requirements_ecore_evas ecore-wince"
|
requirements_ecore_evas="$requirements_ecore_evas ecore-wince"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
have_ecore_evas_software_16_wince="no"
|
|
||||||
if test "x$have_ecore_wince" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
|
|
||||||
want_ecore_evas_wince="yes"
|
|
||||||
AC_ARG_ENABLE(ecore-evas-software-16-wince,
|
|
||||||
AC_HELP_STRING(
|
|
||||||
[--enable-ecore-evas-software-16-wince],
|
|
||||||
[enable WinCE support in the ecore_evas module.]
|
|
||||||
),
|
|
||||||
[ want_ecore_evas_wince=$enableval ]
|
|
||||||
)
|
|
||||||
AC_MSG_CHECKING(whether ecore_evas WinCE support is to be built)
|
|
||||||
AC_MSG_RESULT($want_ecore_evas_wince)
|
|
||||||
|
|
||||||
if test "x$want_ecore_evas_wince" = "xyes"; then
|
|
||||||
PKG_CHECK_MODULES(EVAS_SOFTWARE_16_WINCE, evas-software-16-wince, [
|
|
||||||
AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_16_WINCE, 1, [Support for WinCE Engine in Ecore_Evas])
|
|
||||||
have_ecore_evas_software_16_wince="yes";
|
|
||||||
], [
|
|
||||||
have_ecore_evas_software_16_wince="no";
|
|
||||||
])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$have_ecore_evas_software_16_wince" = "xyes"; then
|
|
||||||
requirements_ecore_evas="$requirements_ecore_evas ecore-wince"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl ecore_dfb
|
dnl ecore_dfb
|
||||||
PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.16,
|
PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.16,
|
||||||
[ have_directfb="yes" ],
|
[ have_directfb="yes" ],
|
||||||
|
@ -911,9 +863,10 @@ echo " Ecore_Evas XRender Support...: $have_ecore_evas_xrender"
|
||||||
echo " Ecore_Evas X11 16bpp Support.: $have_ecore_evas_x11_16"
|
echo " Ecore_Evas X11 16bpp Support.: $have_ecore_evas_x11_16"
|
||||||
|
|
||||||
echo " Ecore_Win32..................: $have_ecore_win32"
|
echo " Ecore_Win32..................: $have_ecore_win32"
|
||||||
echo " Ecore_Evas DirectDraw Support: $have_ecore_evas_ddraw"
|
echo " Ecore_Evas DirectDraw Support: $have_ecore_evas_software_ddraw"
|
||||||
echo " Ecore_Evas Direct3D Support..: $have_ecore_evas_direct3d"
|
echo " Ecore_Evas Direct3D Support..: $have_ecore_evas_direct3d"
|
||||||
echo " Ecore_Evas GL Glew Support...: $have_ecore_evas_opengl_glew"
|
echo " Ecore_Evas GL Glew Support...: $have_ecore_evas_opengl_glew"
|
||||||
|
echo " Ecore_Evas DirectDraw 16bpp Support: $have_ecore_evas_software_16_ddraw"
|
||||||
echo " Ecore_WinCE..................: $have_ecore_wince"
|
echo " Ecore_WinCE..................: $have_ecore_wince"
|
||||||
echo " Ecore_Evas WinCE Support.....: $have_ecore_evas_software_16_wince"
|
echo " Ecore_Evas WinCE Support.....: $have_ecore_evas_software_16_wince"
|
||||||
echo " Ecore_DFB....................: $have_ecore_directfb"
|
echo " Ecore_DFB....................: $have_ecore_directfb"
|
||||||
|
|
|
@ -76,11 +76,11 @@ typedef enum _Ecore_Evas_Engine_Type
|
||||||
ECORE_EVAS_ENGINE_DIRECTFB,
|
ECORE_EVAS_ENGINE_DIRECTFB,
|
||||||
ECORE_EVAS_ENGINE_SOFTWARE_X11_16,
|
ECORE_EVAS_ENGINE_SOFTWARE_X11_16,
|
||||||
ECORE_EVAS_ENGINE_SOFTWARE_DDRAW,
|
ECORE_EVAS_ENGINE_SOFTWARE_DDRAW,
|
||||||
ECORE_EVAS_ENGINE_SOFTWARE_DDRAW_16,
|
ECORE_EVAS_ENGINE_SOFTWARE_16_DDRAW,
|
||||||
ECORE_EVAS_ENGINE_DIRECT3D,
|
ECORE_EVAS_ENGINE_DIRECT3D,
|
||||||
ECORE_EVAS_ENGINE_GL_GLEW,
|
ECORE_EVAS_ENGINE_OPENGL_GLEW,
|
||||||
ECORE_EVAS_ENGINE_SDL,
|
ECORE_EVAS_ENGINE_SDL,
|
||||||
ECORE_EVAS_ENGINE_SOFTWARE_WINCE,
|
ECORE_EVAS_ENGINE_SOFTWARE_16_WINCE,
|
||||||
} Ecore_Evas_Engine_Type;
|
} Ecore_Evas_Engine_Type;
|
||||||
|
|
||||||
typedef enum _Ecore_Evas_Avoid_Damage_Type
|
typedef enum _Ecore_Evas_Avoid_Damage_Type
|
||||||
|
@ -165,30 +165,26 @@ EAPI Ecore_Evas *ecore_evas_software_ddraw_new(Ecore_Win32_Window *parent,
|
||||||
int width,
|
int width,
|
||||||
int height);
|
int height);
|
||||||
|
|
||||||
EAPI Ecore_Win32_Window *ecore_evas_software_ddraw_window_get(Ecore_Evas *ee);
|
|
||||||
|
|
||||||
EAPI Ecore_Evas *ecore_evas_software_ddraw_16_new(Ecore_Win32_Window *parent,
|
EAPI Ecore_Evas *ecore_evas_software_ddraw_16_new(Ecore_Win32_Window *parent,
|
||||||
int x,
|
int x,
|
||||||
int y,
|
int y,
|
||||||
int width,
|
int width,
|
||||||
int height);
|
int height);
|
||||||
|
|
||||||
EAPI Ecore_Win32_Window *ecore_evas_software_ddraw_16_window_get(Ecore_Evas *ee);
|
|
||||||
|
|
||||||
EAPI Ecore_Evas *ecore_evas_direct3d_new(Ecore_Win32_Window *parent,
|
EAPI Ecore_Evas *ecore_evas_direct3d_new(Ecore_Win32_Window *parent,
|
||||||
int x,
|
int x,
|
||||||
int y,
|
int y,
|
||||||
int width,
|
int width,
|
||||||
int height);
|
int height);
|
||||||
|
|
||||||
EAPI Ecore_Win32_Window *ecore_evas_direct3d_window_get(Ecore_Evas *ee);
|
|
||||||
|
|
||||||
EAPI Ecore_Evas *ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
|
EAPI Ecore_Evas *ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
|
||||||
int x,
|
int x,
|
||||||
int y,
|
int y,
|
||||||
int width,
|
int width,
|
||||||
int height);
|
int height);
|
||||||
|
|
||||||
|
EAPI Ecore_Win32_Window *ecore_evas_win32_window_get(Ecore_Evas *ee);
|
||||||
|
|
||||||
EAPI Ecore_Evas *ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha);
|
EAPI Ecore_Evas *ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha);
|
||||||
|
|
||||||
EAPI Ecore_Evas *ecore_evas_software_wince_new(Ecore_WinCE_Window *parent,
|
EAPI Ecore_Evas *ecore_evas_software_wince_new(Ecore_WinCE_Window *parent,
|
||||||
|
|
|
@ -67,7 +67,7 @@ ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
case ECORE_EVAS_ENGINE_SOFTWARE_DDRAW:
|
case ECORE_EVAS_ENGINE_SOFTWARE_DDRAW:
|
||||||
#ifdef BUILD_ECORE_EVAS_DIRECTDRAW
|
#ifdef BUILD_ECORE_EVAS_SOFTWARE_DDRAW
|
||||||
return 1;
|
return 1;
|
||||||
#else
|
#else
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -78,8 +78,8 @@ ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
|
||||||
#else
|
#else
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
case ECORE_EVAS_ENGINE_GL_GLEW:
|
case ECORE_EVAS_ENGINE_OPENGL_GLEW:
|
||||||
#ifdef BUILD_ECORE_EVAS_GL_GLEW
|
#ifdef BUILD_ECORE_EVAS_OPENGL_GLEW
|
||||||
return 1;
|
return 1;
|
||||||
#else
|
#else
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -90,8 +90,14 @@ ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
|
||||||
#else
|
#else
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
case ECORE_EVAS_ENGINE_SOFTWARE_WINCE:
|
case ECORE_EVAS_ENGINE_SOFTWARE_16_DDRAW:
|
||||||
#ifdef BUILD_ECORE_EVAS_WINCE
|
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW
|
||||||
|
return 1;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
case ECORE_EVAS_ENGINE_SOFTWARE_16_WINCE:
|
||||||
|
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
|
||||||
return 1;
|
return 1;
|
||||||
#else
|
#else
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -65,18 +65,18 @@
|
||||||
#ifdef BUILD_ECORE_EVAS_BUFFER
|
#ifdef BUILD_ECORE_EVAS_BUFFER
|
||||||
# include <Evas_Engine_Buffer.h>
|
# include <Evas_Engine_Buffer.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef BUILD_ECORE_WIN32
|
#ifdef BUILD_ECORE_EVAS_WIN32
|
||||||
# include "Ecore_Win32.h"
|
# include "Ecore_Win32.h"
|
||||||
# ifdef BUILD_ECORE_EVAS_SOFTWARE_DIRECTDRAW
|
# ifdef BUILD_ECORE_EVAS_SOFTWARE_DDRAW
|
||||||
# include <Evas_Engine_Software_DDraw.h>
|
# include <Evas_Engine_Software_DDraw.h>
|
||||||
# endif
|
# endif
|
||||||
# ifdef BUILD_ECORE_EVAS_SOFTWARE_DIRECTDRAW_16
|
# ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW
|
||||||
# include <Evas_Engine_Software_16_DDraw.h>
|
# include <Evas_Engine_Software_16_DDraw.h>
|
||||||
# endif
|
# endif
|
||||||
# ifdef BUILD_ECORE_EVAS_DIRECT3D
|
# ifdef BUILD_ECORE_EVAS_DIRECT3D
|
||||||
# include <Evas_Engine_Direct3D.h>
|
# include <Evas_Engine_Direct3D.h>
|
||||||
# endif
|
# endif
|
||||||
# ifdef BUILD_ECORE_EVAS_GL_GLEW
|
# ifdef BUILD_ECORE_EVAS_OPENGL_GLEW
|
||||||
# include <Evas_Engine_GL_Glew.h>
|
# include <Evas_Engine_GL_Glew.h>
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -194,7 +194,7 @@ struct _Ecore_Evas_Engine
|
||||||
Ecore_DirectFB_Window *window;
|
Ecore_DirectFB_Window *window;
|
||||||
} directfb;
|
} directfb;
|
||||||
#endif
|
#endif
|
||||||
#ifdef BUILD_ECORE_WIN32
|
#ifdef BUILD_ECORE_EVAS_WIN32
|
||||||
struct {
|
struct {
|
||||||
Ecore_Win32_Window *parent;
|
Ecore_Win32_Window *parent;
|
||||||
Ecore_Win32_Window *window;
|
Ecore_Win32_Window *window;
|
||||||
|
@ -303,7 +303,7 @@ void _ecore_evas_buffer_render(Ecore_Evas *ee);
|
||||||
#ifdef BUILD_ECORE_EVAS_DIRECTFB
|
#ifdef BUILD_ECORE_EVAS_DIRECTFB
|
||||||
int _ecore_evas_directfb_shutdown(void);
|
int _ecore_evas_directfb_shutdown(void);
|
||||||
#endif
|
#endif
|
||||||
#ifdef BUILD_ECORE_WIN32
|
#ifdef BUILD_ECORE_EVAS_WIN32
|
||||||
int _ecore_evas_win32_shutdown(void);
|
int _ecore_evas_win32_shutdown(void);
|
||||||
#endif
|
#endif
|
||||||
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
|
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
|
||||||
|
|
|
@ -2,20 +2,24 @@
|
||||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
# include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdlib.h> /* for NULL */
|
#include <stdlib.h> /* for NULL */
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
#include "Ecore.h"
|
#include "Ecore.h"
|
||||||
#include "ecore_private.h"
|
#include "ecore_private.h"
|
||||||
#include "ecore_evas_private.h"
|
#ifdef BUILD_ECORE_EVAS_WIN32
|
||||||
#include "Ecore_Evas.h"
|
|
||||||
#ifdef BUILD_ECORE_WIN32
|
|
||||||
# include "Ecore_Win32.h"
|
# include "Ecore_Win32.h"
|
||||||
# include "ecore_win32_private.h"
|
# include "ecore_win32_private.h"
|
||||||
#endif /* BUILD_ECORE_WIN32 */
|
#endif /* BUILD_ECORE_EVAS_WIN32 */
|
||||||
|
|
||||||
|
#include "ecore_evas_private.h"
|
||||||
|
#include "Ecore_Evas.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef BUILD_ECORE_WIN32
|
#ifdef BUILD_ECORE_EVAS_WIN32
|
||||||
|
|
||||||
#define ECORE_EVAS_EVENT_COUNT 14
|
#define ECORE_EVAS_EVENT_COUNT 14
|
||||||
|
|
||||||
|
@ -416,7 +420,11 @@ _ecore_evas_win32_event_window_damage(void *data __UNUSED__, int type __UNUSED__
|
||||||
|
|
||||||
if (ee->prop.avoid_damage)
|
if (ee->prop.avoid_damage)
|
||||||
{
|
{
|
||||||
#warning [ECORE] [WIN32] No Region code
|
#ifdef _MSC_VER
|
||||||
|
# pragma message ("[ECORE] [WIN32] No Region code")
|
||||||
|
#else
|
||||||
|
# warning [ECORE] [WIN32] No Region code
|
||||||
|
#endif /* ! _MSC_VER */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -682,8 +690,10 @@ _ecore_evas_win32_rotation_set(Ecore_Evas *ee, int rotation)
|
||||||
if (ee->rotation == rotation) return;
|
if (ee->rotation == rotation) return;
|
||||||
rot_dif = ee->rotation - rotation;
|
rot_dif = ee->rotation - rotation;
|
||||||
if (rot_dif < 0) rot_dif = -rot_dif;
|
if (rot_dif < 0) rot_dif = -rot_dif;
|
||||||
|
|
||||||
if (!strcmp(ee->driver, "software_ddraw"))
|
if (!strcmp(ee->driver, "software_ddraw"))
|
||||||
{
|
{
|
||||||
|
#ifdef BUILD_ECORE_EVAS_SOFTWARE_DDRAW
|
||||||
Evas_Engine_Info_Software_DDraw *einfo;
|
Evas_Engine_Info_Software_DDraw *einfo;
|
||||||
|
|
||||||
einfo = (Evas_Engine_Info_Software_DDraw *)evas_engine_info_get(ee->evas);
|
einfo = (Evas_Engine_Info_Software_DDraw *)evas_engine_info_get(ee->evas);
|
||||||
|
@ -743,6 +753,7 @@ _ecore_evas_win32_rotation_set(Ecore_Evas *ee, int rotation)
|
||||||
evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
|
evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
|
||||||
else
|
else
|
||||||
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
|
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
|
||||||
|
#endif /* BUILD_ECORE_EVAS_SOFTWARE_DDRAW */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -917,19 +928,20 @@ _ecore_evas_win32_fullscreen_set(Ecore_Evas *ee, int on)
|
||||||
/* else */
|
/* else */
|
||||||
/* _ecore_evas_win32_state_update(ee); */
|
/* _ecore_evas_win32_state_update(ee); */
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
#endif /* BUILD_ECORE_EVAS_WIN32 */
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
_ecore_evas_win32_window_get(Ecore_Evas *ee)
|
_ecore_evas_win32_window_get(Ecore_Evas *ee)
|
||||||
{
|
{
|
||||||
#ifdef BUILD_ECORE_WIN32
|
#ifdef BUILD_ECORE_EVAS_WIN32
|
||||||
return ee->engine.win32.window;
|
return ee->engine.win32.window;
|
||||||
#else
|
#else
|
||||||
return NULL;
|
return NULL;
|
||||||
#endif /* BUILD_ECORE_WIN32 */
|
#endif /* BUILD_ECORE_EVAS_WIN32 */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef BUILD_ECORE_WIN32
|
#ifdef BUILD_ECORE_EVAS_WIN32
|
||||||
static const Ecore_Evas_Engine_Func _ecore_win32_engine_func =
|
static const Ecore_Evas_Engine_Func _ecore_win32_engine_func =
|
||||||
{
|
{
|
||||||
_ecore_evas_win32_free,
|
_ecore_evas_win32_free,
|
||||||
|
@ -980,294 +992,59 @@ static const Ecore_Evas_Engine_Func _ecore_win32_engine_func =
|
||||||
_ecore_evas_win32_window_get
|
_ecore_evas_win32_window_get
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* BUILD_ECORE_WIN32 */
|
#endif /* BUILD_ECORE_EVAS_WIN32 */
|
||||||
|
|
||||||
/* API */
|
/* API */
|
||||||
|
|
||||||
EAPI Ecore_Evas *
|
static int
|
||||||
ecore_evas_software_ddraw_new(Ecore_Win32_Window *parent,
|
_ecore_evas_engine_software_ddraw_init(Ecore_Evas *ee)
|
||||||
int x,
|
|
||||||
int y,
|
|
||||||
int width,
|
|
||||||
int height)
|
|
||||||
{
|
{
|
||||||
#ifdef BUILD_ECORE_EVAS_SOFTWARE_DIRECTDRAW
|
#ifdef BUILD_ECORE_EVAS_SOFTWARE_DDRAW
|
||||||
Evas_Engine_Info_Software_DDraw *einfo;
|
Evas_Engine_Info_Software_DDraw *einfo;
|
||||||
Ecore_Evas *ee;
|
const char *driver;
|
||||||
int rmethod;
|
int rmethod;
|
||||||
|
|
||||||
rmethod = evas_render_method_lookup("software_ddraw");
|
driver = "software_ddraw";
|
||||||
|
|
||||||
|
rmethod = evas_render_method_lookup(driver);
|
||||||
if (!rmethod)
|
if (!rmethod)
|
||||||
return NULL;
|
return 0;
|
||||||
|
|
||||||
printf ("ecore_evas_software_ddraw_new : ecore_win32_init\n");
|
ee->driver = driver;
|
||||||
if (!ecore_win32_init())
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ee = calloc(1, sizeof(Ecore_Evas));
|
|
||||||
if (!ee)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ECORE_MAGIC_SET(ee, ECORE_MAGIC_EVAS);
|
|
||||||
|
|
||||||
_ecore_evas_win32_init();
|
|
||||||
|
|
||||||
ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_win32_engine_func;
|
|
||||||
|
|
||||||
ee->driver = "software_ddraw";
|
|
||||||
|
|
||||||
if (width < 1) width = 1;
|
|
||||||
if (height < 1) height = 1;
|
|
||||||
ee->x = x;
|
|
||||||
ee->y = y;
|
|
||||||
ee->w = width;
|
|
||||||
ee->h = height;
|
|
||||||
|
|
||||||
ee->prop.max.w = 32767;
|
|
||||||
ee->prop.max.h = 32767;
|
|
||||||
ee->prop.layer = 4;
|
|
||||||
ee->prop.request_pos = 0;
|
|
||||||
ee->prop.sticky = 0;
|
|
||||||
/* FIXME: sticky to add */
|
|
||||||
|
|
||||||
/* init evas here */
|
|
||||||
printf ("ecore_evas_software_ddraw_new : evas_new\n");
|
|
||||||
ee->evas = evas_new();
|
|
||||||
evas_data_attach_set(ee->evas, ee);
|
|
||||||
printf ("ecore_evas_software_ddraw_new : evas_output_method_set\n");
|
|
||||||
evas_output_method_set(ee->evas, rmethod);
|
evas_output_method_set(ee->evas, rmethod);
|
||||||
printf ("ecore_evas_software_ddraw_new : evas_output_size_set\n");
|
|
||||||
evas_output_size_set(ee->evas, width, height);
|
|
||||||
printf ("ecore_evas_software_ddraw_new : evas_output_viewport_set\n");
|
|
||||||
evas_output_viewport_set(ee->evas, 0, 0, width, height);
|
|
||||||
|
|
||||||
ee->engine.win32.parent = parent;
|
|
||||||
printf ("ecore_evas_software_ddraw_new : ecore_win32_window_new\n");
|
|
||||||
ee->engine.win32.window = ecore_win32_window_new(parent, x, y, width, height);
|
|
||||||
if (!ee->engine.win32.window)
|
|
||||||
{
|
|
||||||
_ecore_evas_win32_shutdown();
|
|
||||||
free(ee);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("ecore_evas_software_ddraw_new : evas_engine_info_get\n");
|
|
||||||
einfo = (Evas_Engine_Info_Software_DDraw *)evas_engine_info_get(ee->evas);
|
einfo = (Evas_Engine_Info_Software_DDraw *)evas_engine_info_get(ee->evas);
|
||||||
if (einfo)
|
if (einfo)
|
||||||
{
|
{
|
||||||
/* FIXME: REDRAW_DEBUG missing for now */
|
/* FIXME: REDRAW_DEBUG missing for now */
|
||||||
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
||||||
einfo->info.depth = ecore_win32_screen_depth_get();;
|
|
||||||
einfo->info.rotation = 0;
|
|
||||||
printf ("ecore_evas_software_ddraw_new : evas_engine_info_set\n");
|
|
||||||
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
evas_key_modifier_add(ee->evas, "Shift");
|
|
||||||
evas_key_modifier_add(ee->evas, "Control");
|
|
||||||
evas_key_modifier_add(ee->evas, "Alt");
|
|
||||||
evas_key_modifier_add(ee->evas, "Meta");
|
|
||||||
evas_key_modifier_add(ee->evas, "Hyper");
|
|
||||||
evas_key_modifier_add(ee->evas, "Super");
|
|
||||||
evas_key_lock_add(ee->evas, "Caps_Lock");
|
|
||||||
evas_key_lock_add(ee->evas, "Num_Lock");
|
|
||||||
evas_key_lock_add(ee->evas, "Scroll_Lock");
|
|
||||||
|
|
||||||
ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
|
|
||||||
ecore_evases_hash = evas_hash_add(ecore_evases_hash, _ecore_evas_win32_winid_str_get(ee->engine.win32.window), ee);
|
|
||||||
|
|
||||||
return ee;
|
|
||||||
#else
|
|
||||||
return NULL;
|
|
||||||
parent = NULL;
|
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
width = 0;
|
|
||||||
height = 0;
|
|
||||||
#endif /* BUILD_ECORE_EVAS_SOFTWARE_DIRECTDRAW */
|
|
||||||
}
|
|
||||||
|
|
||||||
EAPI Ecore_Win32_Window *
|
|
||||||
ecore_evas_software_ddraw_window_get(Ecore_Evas *ee)
|
|
||||||
{
|
|
||||||
return (Ecore_Win32_Window *) _ecore_evas_win32_window_get(ee);
|
|
||||||
}
|
|
||||||
|
|
||||||
EAPI Ecore_Evas *
|
|
||||||
ecore_evas_software_ddraw_16_new(Ecore_Win32_Window *parent,
|
|
||||||
int x,
|
|
||||||
int y,
|
|
||||||
int width,
|
|
||||||
int height)
|
|
||||||
{
|
|
||||||
#ifdef BUILD_ECORE_EVAS_SOFTWARE_DIRECTDRAW_16
|
|
||||||
Evas_Engine_Info_Software_16_DDraw *einfo;
|
|
||||||
Ecore_Evas *ee;
|
|
||||||
int rmethod;
|
|
||||||
|
|
||||||
rmethod = evas_render_method_lookup("software_16_ddraw");
|
|
||||||
if (!rmethod)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
if (!ecore_win32_init())
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ee = calloc(1, sizeof(Ecore_Evas));
|
|
||||||
if (!ee)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ECORE_MAGIC_SET(ee, ECORE_MAGIC_EVAS);
|
|
||||||
|
|
||||||
_ecore_evas_win32_init();
|
|
||||||
|
|
||||||
ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_win32_engine_func;
|
|
||||||
|
|
||||||
ee->driver = "software_16_ddraw";
|
|
||||||
|
|
||||||
if (width < 1) width = 1;
|
|
||||||
if (height < 1) height = 1;
|
|
||||||
ee->x = x;
|
|
||||||
ee->y = y;
|
|
||||||
ee->w = width;
|
|
||||||
ee->h = height;
|
|
||||||
|
|
||||||
ee->prop.max.w = 32767;
|
|
||||||
ee->prop.max.h = 32767;
|
|
||||||
ee->prop.layer = 4;
|
|
||||||
ee->prop.request_pos = 0;
|
|
||||||
ee->prop.sticky = 0;
|
|
||||||
/* FIXME: sticky to add */
|
|
||||||
|
|
||||||
/* init evas here */
|
|
||||||
ee->evas = evas_new();
|
|
||||||
evas_data_attach_set(ee->evas, ee);
|
|
||||||
evas_output_method_set(ee->evas, rmethod);
|
|
||||||
evas_output_size_set(ee->evas, width, height);
|
|
||||||
evas_output_viewport_set(ee->evas, 0, 0, width, height);
|
|
||||||
|
|
||||||
ee->engine.win32.parent = parent;
|
|
||||||
ee->engine.win32.window = ecore_win32_window_new(parent, x, y, width, height);
|
|
||||||
if (!ee->engine.win32.window)
|
|
||||||
{
|
|
||||||
_ecore_evas_win32_shutdown();
|
|
||||||
free(ee);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ecore_win32_screen_depth_get() != 16)
|
|
||||||
{
|
|
||||||
ecore_win32_window_del(ee->engine.win32.window);
|
|
||||||
_ecore_evas_win32_shutdown();
|
|
||||||
free(ee);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
einfo = (Evas_Engine_Info_Software_16_DDraw *)evas_engine_info_get(ee->evas);
|
|
||||||
if (einfo)
|
|
||||||
{
|
|
||||||
/* FIXME: REDRAW_DEBUG missing for now */
|
|
||||||
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
|
||||||
/* einfo->info.object = ecore_win32_ddraw_object_get(ee->engine.win32.window); */
|
|
||||||
/* einfo->info.surface_primary = ecore_win32_ddraw_surface_primary_get(ee->engine.win32.window); */
|
|
||||||
/* einfo->info.surface_back = ecore_win32_ddraw_surface_back_get(ee->engine.win32.window); */
|
|
||||||
/* einfo->info.surface_source = ecore_win32_ddraw_surface_source_get(ee->engine.win32.window); */
|
|
||||||
/* einfo->info.depth = ecore_win32_ddraw_depth_get(ee->engine.win32.window); */
|
|
||||||
einfo->info.depth = ecore_win32_screen_depth_get();
|
einfo->info.depth = ecore_win32_screen_depth_get();
|
||||||
printf ("ecore_evas_software_ddraw_16_new depth : %d\n", einfo->info.depth);
|
|
||||||
einfo->info.rotation = 0;
|
einfo->info.rotation = 0;
|
||||||
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
evas_key_modifier_add(ee->evas, "Shift");
|
return 1;
|
||||||
evas_key_modifier_add(ee->evas, "Control");
|
|
||||||
evas_key_modifier_add(ee->evas, "Alt");
|
|
||||||
evas_key_modifier_add(ee->evas, "Meta");
|
|
||||||
evas_key_modifier_add(ee->evas, "Hyper");
|
|
||||||
evas_key_modifier_add(ee->evas, "Super");
|
|
||||||
evas_key_lock_add(ee->evas, "Caps_Lock");
|
|
||||||
evas_key_lock_add(ee->evas, "Num_Lock");
|
|
||||||
evas_key_lock_add(ee->evas, "Scroll_Lock");
|
|
||||||
|
|
||||||
ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
|
|
||||||
ecore_evases_hash = evas_hash_add(ecore_evases_hash, _ecore_evas_win32_winid_str_get(ee->engine.win32.window), ee);
|
|
||||||
|
|
||||||
return ee;
|
|
||||||
#else
|
#else
|
||||||
return NULL;
|
return 0;
|
||||||
parent = NULL;
|
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_DDRAW */
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
width = 0;
|
|
||||||
height = 0;
|
|
||||||
#endif /* BUILD_ECORE_EVAS_SOFTWARE_DIRECTDRAW_16 */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Ecore_Win32_Window *
|
static int
|
||||||
ecore_evas_software_ddraw_16_window_get(Ecore_Evas *ee)
|
_ecore_evas_engine_direct3d_init(Ecore_Evas *ee)
|
||||||
{
|
|
||||||
return (Ecore_Win32_Window *) _ecore_evas_win32_window_get(ee);
|
|
||||||
}
|
|
||||||
|
|
||||||
EAPI Ecore_Evas *
|
|
||||||
ecore_evas_direct3d_new(Ecore_Win32_Window *parent,
|
|
||||||
int x,
|
|
||||||
int y,
|
|
||||||
int width,
|
|
||||||
int height)
|
|
||||||
{
|
{
|
||||||
#ifdef BUILD_ECORE_EVAS_DIRECT3D
|
#ifdef BUILD_ECORE_EVAS_DIRECT3D
|
||||||
Evas_Engine_Info_Direct3D *einfo;
|
Evas_Engine_Info_Direct3D *einfo;
|
||||||
Ecore_Evas *ee;
|
const char *driver;
|
||||||
int rmethod;
|
int rmethod;
|
||||||
|
|
||||||
rmethod = evas_render_method_lookup("direct3d");
|
driver = "direct3d";
|
||||||
|
|
||||||
|
rmethod = evas_render_method_lookup(driver);
|
||||||
if (!rmethod)
|
if (!rmethod)
|
||||||
return NULL;
|
return 0;
|
||||||
|
|
||||||
if (!ecore_win32_init())
|
ee->driver = driver;
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ee = calloc(1, sizeof(Ecore_Evas));
|
|
||||||
if (!ee)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ECORE_MAGIC_SET(ee, ECORE_MAGIC_EVAS);
|
|
||||||
|
|
||||||
_ecore_evas_win32_init();
|
|
||||||
|
|
||||||
ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_win32_engine_func;
|
|
||||||
|
|
||||||
ee->driver = "direct3d";
|
|
||||||
|
|
||||||
if (width < 1) width = 1;
|
|
||||||
if (height < 1) height = 1;
|
|
||||||
ee->x = x;
|
|
||||||
ee->y = y;
|
|
||||||
ee->w = width;
|
|
||||||
ee->h = height;
|
|
||||||
|
|
||||||
ee->prop.max.w = 32767;
|
|
||||||
ee->prop.max.h = 32767;
|
|
||||||
ee->prop.layer = 4;
|
|
||||||
ee->prop.request_pos = 0;
|
|
||||||
ee->prop.sticky = 0;
|
|
||||||
/* FIXME: sticky to add */
|
|
||||||
|
|
||||||
/* init evas here */
|
|
||||||
ee->evas = evas_new();
|
|
||||||
evas_data_attach_set(ee->evas, ee);
|
|
||||||
evas_output_method_set(ee->evas, rmethod);
|
evas_output_method_set(ee->evas, rmethod);
|
||||||
evas_output_size_set(ee->evas, width, height);
|
|
||||||
evas_output_viewport_set(ee->evas, 0, 0, width, height);
|
|
||||||
|
|
||||||
ee->engine.win32.parent = parent;
|
|
||||||
ee->engine.win32.window = ecore_win32_window_new(parent, x, y, width, height);
|
|
||||||
if (!ee->engine.win32.window)
|
|
||||||
{
|
|
||||||
_ecore_evas_win32_shutdown();
|
|
||||||
free(ee);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
einfo = (Evas_Engine_Info_Direct3D *)evas_engine_info_get(ee->evas);
|
einfo = (Evas_Engine_Info_Direct3D *)evas_engine_info_get(ee->evas);
|
||||||
if (einfo)
|
if (einfo)
|
||||||
|
@ -1279,51 +1056,88 @@ ecore_evas_direct3d_new(Ecore_Win32_Window *parent,
|
||||||
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
evas_key_modifier_add(ee->evas, "Shift");
|
return 1;
|
||||||
evas_key_modifier_add(ee->evas, "Control");
|
|
||||||
evas_key_modifier_add(ee->evas, "Alt");
|
|
||||||
evas_key_modifier_add(ee->evas, "Meta");
|
|
||||||
evas_key_modifier_add(ee->evas, "Hyper");
|
|
||||||
evas_key_modifier_add(ee->evas, "Super");
|
|
||||||
evas_key_lock_add(ee->evas, "Caps_Lock");
|
|
||||||
evas_key_lock_add(ee->evas, "Num_Lock");
|
|
||||||
evas_key_lock_add(ee->evas, "Scroll_Lock");
|
|
||||||
|
|
||||||
ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
|
|
||||||
ecore_evases_hash = evas_hash_add(ecore_evases_hash, _ecore_evas_win32_winid_str_get(ee->engine.win32.window), ee);
|
|
||||||
|
|
||||||
return ee;
|
|
||||||
#else
|
#else
|
||||||
return NULL;
|
return 0;
|
||||||
parent = NULL;
|
#endif /* ! BUILD_ECORE_EVAS_DIRECT3D */
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
width = 0;
|
|
||||||
height = 0;
|
|
||||||
#endif /* BUILD_ECORE_EVAS_DIRECT3D */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Ecore_Win32_Window *
|
static int
|
||||||
ecore_evas_direct3d_window_get(Ecore_Evas *ee)
|
_ecore_evas_engine_opengl_glew_init(Ecore_Evas *ee)
|
||||||
{
|
{
|
||||||
return (Ecore_Win32_Window *) _ecore_evas_win32_window_get(ee);
|
#ifdef BUILD_ECORE_EVAS_OPENGL_GLEW
|
||||||
}
|
|
||||||
|
|
||||||
EAPI Ecore_Evas *
|
|
||||||
ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
|
|
||||||
int x,
|
|
||||||
int y,
|
|
||||||
int width,
|
|
||||||
int height)
|
|
||||||
{
|
|
||||||
#ifdef BUILD_ECORE_EVAS_GL_GLEW
|
|
||||||
Evas_Engine_Info_GL_Glew *einfo;
|
Evas_Engine_Info_GL_Glew *einfo;
|
||||||
Ecore_Evas *ee;
|
const char *driver;
|
||||||
int rmethod;
|
int rmethod;
|
||||||
|
|
||||||
rmethod = evas_render_method_lookup("gl_glew");
|
driver = "gl_glew";
|
||||||
|
|
||||||
|
rmethod = evas_render_method_lookup(driver);
|
||||||
if (!rmethod)
|
if (!rmethod)
|
||||||
return NULL;
|
return 0;
|
||||||
|
|
||||||
|
ee->driver = driver;
|
||||||
|
evas_output_method_set(ee->evas, rmethod);
|
||||||
|
|
||||||
|
einfo = (Evas_Engine_Info_GL_Glew *)evas_engine_info_get(ee->evas);
|
||||||
|
if (einfo)
|
||||||
|
{
|
||||||
|
/* FIXME: REDRAW_DEBUG missing for now */
|
||||||
|
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
||||||
|
einfo->info.depth = ecore_win32_screen_depth_get();
|
||||||
|
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif /* ! BUILD_ECORE_EVAS_OPENGL_GLEW */
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
_ecore_evas_engine_software_16_ddraw_init(Ecore_Evas *ee)
|
||||||
|
{
|
||||||
|
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DIRECTDRAW
|
||||||
|
Evas_Engine_Info_Software_DDraw *einfo;
|
||||||
|
const char *driver;
|
||||||
|
int rmethod;
|
||||||
|
|
||||||
|
driver = "software_16_ddraw";
|
||||||
|
|
||||||
|
rmethod = evas_render_method_lookup(driver);
|
||||||
|
if (!rmethod)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
ee->driver = driver;
|
||||||
|
evas_output_method_set(ee->evas, rmethod);
|
||||||
|
|
||||||
|
if (ecore_win32_screen_depth_get() != 16)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
einfo = (Evas_Engine_Info_Software_16_DDraw *)evas_engine_info_get(ee->evas);
|
||||||
|
if (einfo)
|
||||||
|
{
|
||||||
|
/* FIXME: REDRAW_DEBUG missing for now */
|
||||||
|
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
||||||
|
einfo->info.depth = ecore_win32_screen_depth_get();
|
||||||
|
einfo->info.rotation = 0;
|
||||||
|
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_DIRECTDRAW */
|
||||||
|
}
|
||||||
|
|
||||||
|
static Ecore_Evas *
|
||||||
|
_ecore_evas_win32_new_internal(int (*_ecore_evas_engine_init)(Ecore_Evas *ee),
|
||||||
|
Ecore_Win32_Window *parent,
|
||||||
|
int x,
|
||||||
|
int y,
|
||||||
|
int width,
|
||||||
|
int height)
|
||||||
|
{
|
||||||
|
#ifdef BUILD_ECORE_EVAS_WIN32
|
||||||
|
Ecore_Evas *ee;
|
||||||
|
|
||||||
if (!ecore_win32_init())
|
if (!ecore_win32_init())
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -1338,8 +1152,6 @@ ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
|
||||||
|
|
||||||
ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_win32_engine_func;
|
ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_win32_engine_func;
|
||||||
|
|
||||||
ee->driver = "gl_glew";
|
|
||||||
|
|
||||||
if (width < 1) width = 1;
|
if (width < 1) width = 1;
|
||||||
if (height < 1) height = 1;
|
if (height < 1) height = 1;
|
||||||
ee->x = x;
|
ee->x = x;
|
||||||
|
@ -1357,7 +1169,6 @@ ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
|
||||||
/* init evas here */
|
/* init evas here */
|
||||||
ee->evas = evas_new();
|
ee->evas = evas_new();
|
||||||
evas_data_attach_set(ee->evas, ee);
|
evas_data_attach_set(ee->evas, ee);
|
||||||
evas_output_method_set(ee->evas, rmethod);
|
|
||||||
evas_output_size_set(ee->evas, width, height);
|
evas_output_size_set(ee->evas, width, height);
|
||||||
evas_output_viewport_set(ee->evas, 0, 0, width, height);
|
evas_output_viewport_set(ee->evas, 0, 0, width, height);
|
||||||
|
|
||||||
|
@ -1370,13 +1181,11 @@ ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
einfo = (Evas_Engine_Info_GL_Glew *)evas_engine_info_get(ee->evas);
|
if (!_ecore_evas_engine_init(ee))
|
||||||
if (einfo)
|
|
||||||
{
|
{
|
||||||
/* FIXME: REDRAW_DEBUG missing for now */
|
_ecore_evas_win32_shutdown();
|
||||||
einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
|
free(ee);
|
||||||
einfo->info.depth = ecore_win32_screen_depth_get();
|
return NULL;
|
||||||
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
evas_key_modifier_add(ee->evas, "Shift");
|
evas_key_modifier_add(ee->evas, "Shift");
|
||||||
|
@ -1400,5 +1209,112 @@ ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
|
||||||
y = 0;
|
y = 0;
|
||||||
width = 0;
|
width = 0;
|
||||||
height = 0;
|
height = 0;
|
||||||
#endif /* BUILD_ECORE_EVAS_GL_GLEW */
|
#endif /* ! BUILD_ECORE_EVAS_WIN32 */
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Ecore_Evas *
|
||||||
|
ecore_evas_software_ddraw_new(Ecore_Win32_Window *parent,
|
||||||
|
int x,
|
||||||
|
int y,
|
||||||
|
int width,
|
||||||
|
int height)
|
||||||
|
{
|
||||||
|
#ifdef BUILD_ECORE_EVAS_SOFTWARE_DDRAW
|
||||||
|
return _ecore_evas_win32_new_internal(_ecore_evas_engine_software_ddraw_init,
|
||||||
|
parent,
|
||||||
|
x,
|
||||||
|
y,
|
||||||
|
width,
|
||||||
|
height);
|
||||||
|
#else
|
||||||
|
return NULL;
|
||||||
|
parent = NULL;
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
width = 0;
|
||||||
|
height = 0;
|
||||||
|
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_DDRAW */
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Ecore_Evas *
|
||||||
|
ecore_evas_software_16_ddraw_new(Ecore_Win32_Window *parent,
|
||||||
|
int x,
|
||||||
|
int y,
|
||||||
|
int width,
|
||||||
|
int height)
|
||||||
|
{
|
||||||
|
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DIRECTDRAW
|
||||||
|
return _ecore_evas_win32_new_internal(_ecore_evas_engine_software_16_ddraw_init,
|
||||||
|
parent,
|
||||||
|
x,
|
||||||
|
y,
|
||||||
|
width,
|
||||||
|
height);
|
||||||
|
#else
|
||||||
|
return NULL;
|
||||||
|
parent = NULL;
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
width = 0;
|
||||||
|
height = 0;
|
||||||
|
#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_DIRECTDRAW */
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Ecore_Evas *
|
||||||
|
ecore_evas_direct3d_new(Ecore_Win32_Window *parent,
|
||||||
|
int x,
|
||||||
|
int y,
|
||||||
|
int width,
|
||||||
|
int height)
|
||||||
|
{
|
||||||
|
#ifdef BUILD_ECORE_EVAS_DIRECT3D
|
||||||
|
return _ecore_evas_win32_new_internal(_ecore_evas_engine_direct3d_init,
|
||||||
|
parent,
|
||||||
|
x,
|
||||||
|
y,
|
||||||
|
width,
|
||||||
|
height);
|
||||||
|
#else
|
||||||
|
return NULL;
|
||||||
|
parent = NULL;
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
width = 0;
|
||||||
|
height = 0;
|
||||||
|
#endif /* ! BUILD_ECORE_EVAS_DIRECT3D */
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Ecore_Evas *
|
||||||
|
ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
|
||||||
|
int x,
|
||||||
|
int y,
|
||||||
|
int width,
|
||||||
|
int height)
|
||||||
|
{
|
||||||
|
#ifdef BUILD_ECORE_EVAS_OPENGL_GLEW
|
||||||
|
return _ecore_evas_win32_new_internal(_ecore_evas_engine_opengl_glew_init,
|
||||||
|
parent,
|
||||||
|
x,
|
||||||
|
y,
|
||||||
|
width,
|
||||||
|
height);
|
||||||
|
#else
|
||||||
|
return NULL;
|
||||||
|
parent = NULL;
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
width = 0;
|
||||||
|
height = 0;
|
||||||
|
#endif /* BUILD_ECORE_EVAS_OPENGL_GLEW */
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Ecore_Win32_Window *
|
||||||
|
ecore_evas_win32_window_get(Ecore_Evas *ee)
|
||||||
|
{
|
||||||
|
#ifdef BUILD_ECORE_EVAS_WIN32
|
||||||
|
return (Ecore_Win32_Window *) _ecore_evas_win32_window_get(ee);
|
||||||
|
#else
|
||||||
|
return NULL;
|
||||||
|
ee = NULL;
|
||||||
|
#endif /* BUILD_ECORE_EVAS_WIN32 */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue