add ecore_evas for wince

SVN revision: 34759
This commit is contained in:
doursse 2008-06-06 13:57:03 +00:00 committed by doursse
parent fb34ce418d
commit 6456e1f6b7
6 changed files with 1185 additions and 37 deletions

View File

@ -563,33 +563,32 @@ if test "x$have_ecore_wince" = "xyes"; then
requirements_ecore_evas="$requirements_ecore_evas ecore-wince" requirements_ecore_evas="$requirements_ecore_evas ecore-wince"
fi fi
dnl ecore_evas_wince have_ecore_evas_software_16_wince="no"
dnl have_ecore_evas_software_16_wince="no" if test "x$have_ecore_wince" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
dnl if test "x$have_ecore_wince" = "xyes" -a "x$have_ecore_evas" = "xyes"; then want_ecore_evas_wince="yes"
dnl want_ecore_evas_wince=yes AC_ARG_ENABLE(ecore-evas-software-16-wince,
dnl AC_ARG_ENABLE(ecore-evas-software-16-wince, AC_HELP_STRING(
dnl AC_HELP_STRING( [--enable-ecore-evas-software-16-wince],
dnl [--enable-ecore-evas-software-16-wince], [enable WinCE support in the ecore_evas module.]
dnl [enable WinCE support in the ecore_evas module.] ),
dnl ), [ want_ecore_evas_wince=$enableval ]
dnl [ want_ecore_evas_wince=$enableval ] )
dnl ) AC_MSG_CHECKING(whether ecore_evas WinCE support is to be built)
dnl AC_MSG_CHECKING(whether ecore_evas WinCE support is to be built) AC_MSG_RESULT($want_ecore_evas_wince)
dnl AC_MSG_RESULT($want_ecore_evas_wince)
dnl if test "x$want_ecore_evas_wince" = "xyes"; then if test "x$want_ecore_evas_wince" = "xyes"; then
dnl PKG_CHECK_MODULES(EVAS_SOFTWARE_16_WINCE, evas-software-16-wince, [ PKG_CHECK_MODULES(EVAS_SOFTWARE_16_WINCE, evas-software-16-wince, [
dnl AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_16_WINCE, 1, [Support for WinCE Engine in Ecore_Evas]) AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_16_WINCE, 1, [Support for WinCE Engine in Ecore_Evas])
dnl have_ecore_evas_software_16_wince="yes"; have_ecore_evas_software_16_wince="yes";
dnl ], [ ], [
dnl have_ecore_evas_software_16_wince="no"; have_ecore_evas_software_16_wince="no";
dnl ]) ])
dnl fi fi
dnl if test "x$have_ecore_evas_software_16_wince" = "xyes"; then if test "x$have_ecore_evas_software_16_wince" = "xyes"; then
dnl requirements_ecore_evas="$requirements_ecore_evas ecore-wince" requirements_ecore_evas="$requirements_ecore_evas ecore-wince"
dnl fi fi
dnl fi fi
dnl ecore_dfb dnl ecore_dfb
PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.16, PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.16,
@ -904,7 +903,7 @@ echo " Ecore_Evas X11 16bpp Support.: $have_ecore_evas_x11_16"
echo " Ecore_Win32..................: $have_ecore_win32 (DirectDraw: ${have_ddraw}) (16bpp DirectDraw: ${have_ddraw_16}) (Direct3D: ${have_direct3d}) (OpenGL Glew: ${have_opengl_glew})" echo " Ecore_Win32..................: $have_ecore_win32 (DirectDraw: ${have_ddraw}) (16bpp DirectDraw: ${have_ddraw_16}) (Direct3D: ${have_direct3d}) (OpenGL Glew: ${have_opengl_glew})"
echo " Ecore_WinCE..................: $have_ecore_wince" echo " Ecore_WinCE..................: $have_ecore_wince"
dnl 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"
echo " Ecore_Evas DFB Support.......: $have_ecore_evas_dfb" echo " Ecore_Evas DFB Support.......: $have_ecore_evas_dfb"
echo " Ecore_FB.....................: $have_ecore_fb" echo " Ecore_FB.....................: $have_ecore_fb"

View File

@ -64,6 +64,7 @@ extern "C" {
#define HAVE_ECORE_EVAS_DIRECTFB 1 #define HAVE_ECORE_EVAS_DIRECTFB 1
#define HAVE_ECORE_EVAS_WIN32 1 #define HAVE_ECORE_EVAS_WIN32 1
#define HAVE_ECORE_EVAS_SDL 1 #define HAVE_ECORE_EVAS_SDL 1
#define HAVE_ECORE_EVAS_WINCE 1
typedef enum _Ecore_Evas_Engine_Type typedef enum _Ecore_Evas_Engine_Type
{ {
@ -77,7 +78,8 @@ typedef enum _Ecore_Evas_Engine_Type
ECORE_EVAS_ENGINE_SOFTWARE_DDRAW, ECORE_EVAS_ENGINE_SOFTWARE_DDRAW,
ECORE_EVAS_ENGINE_SOFTWARE_DDRAW_16, ECORE_EVAS_ENGINE_SOFTWARE_DDRAW_16,
ECORE_EVAS_ENGINE_DIRECT3D, ECORE_EVAS_ENGINE_DIRECT3D,
ECORE_EVAS_ENGINE_SDL ECORE_EVAS_ENGINE_SDL,
ECORE_EVAS_ENGINE_SOFTWARE_WINCE,
} Ecore_Evas_Engine_Type; } Ecore_Evas_Engine_Type;
typedef enum _Ecore_Evas_Avoid_Damage_Type typedef enum _Ecore_Evas_Avoid_Damage_Type
@ -101,6 +103,10 @@ typedef struct _Ecore_DirectFB_Window Ecore_DirectFB_Window;
typedef void Ecore_Win32_Window; typedef void Ecore_Win32_Window;
#endif #endif
#ifndef __ECORE_WINCE_H__
typedef void Ecore_WinCE_Window;
#endif
#ifndef _ECORE_EVAS_PRIVATE_H #ifndef _ECORE_EVAS_PRIVATE_H
/* basic data types */ /* basic data types */
typedef struct _Ecore_Evas Ecore_Evas; typedef struct _Ecore_Evas Ecore_Evas;
@ -178,6 +184,32 @@ EAPI Ecore_Win32_Window *ecore_evas_direct3d_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,
int x,
int y,
int width,
int height);
EAPI Ecore_Evas *ecore_evas_software_wince_fb_new(Ecore_WinCE_Window *parent,
int x,
int y,
int width,
int height);
EAPI Ecore_Evas *ecore_evas_software_wince_gapi_new(Ecore_WinCE_Window *parent,
int x,
int y,
int width,
int height);
EAPI Ecore_Evas *ecore_evas_software_wince_ddraw_new(Ecore_WinCE_Window *parent,
int x,
int y,
int width,
int height);
EAPI Ecore_WinCE_Window *ecore_evas_software_wince_window_get(Ecore_Evas *ee);
/* generic manipulation calls */ /* generic manipulation calls */
EAPI Ecore_Evas *ecore_evas_ecore_evas_get(Evas *e); EAPI Ecore_Evas *ecore_evas_ecore_evas_get(Evas *e);
EAPI void ecore_evas_free(Ecore_Evas *ee); EAPI void ecore_evas_free(Ecore_Evas *ee);

View File

@ -40,6 +40,14 @@ ECORE_SDL_INC =
ECORE_SDL_LIB = ECORE_SDL_LIB =
endif endif
if BUILD_ECORE_WINCE
ECORE_WINCE_INC = -I$(top_srcdir)/src/lib/ecore_wince
ECORE_WINCE_LIB = $(top_builddir)/src/lib/ecore_wince/libecore_wince.la
else
ECORE_WINCE_INC =
ECORE_WINCE_LIB =
endif
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-I$(top_srcdir)/src/lib/ecore \ -I$(top_srcdir)/src/lib/ecore \
-I$(top_srcdir)/src/lib/ecore_evas \ -I$(top_srcdir)/src/lib/ecore_evas \
@ -50,6 +58,7 @@ $(ECORE_FB_INC) \
$(ECORE_DIRECTFB_INC) \ $(ECORE_DIRECTFB_INC) \
$(ECORE_WIN32_INC) \ $(ECORE_WIN32_INC) \
$(ECORE_SDL_INC) \ $(ECORE_SDL_INC) \
$(ECORE_WINCE_INC) \
@EVAS_CFLAGS@ \ @EVAS_CFLAGS@ \
@XCB_CFLAGS@ @XCB_CFLAGS@
@ -63,13 +72,13 @@ Ecore_Evas.h
libecore_evas_la_SOURCES = \ libecore_evas_la_SOURCES = \
ecore_evas.c \ ecore_evas.c \
ecore_evas_private.h \
ecore_evas_x.c \ ecore_evas_x.c \
ecore_evas_fb.c \ ecore_evas_fb.c \
ecore_evas_buffer.c \ ecore_evas_buffer.c \
ecore_evas_directfb.c \ ecore_evas_directfb.c \
ecore_evas_win32.c \ ecore_evas_win32.c \
ecore_evas_sdl.c ecore_evas_sdl.c \
ecore_evas_wince.c
libecore_evas_la_LIBADD = \ libecore_evas_la_LIBADD = \
$(ECORE_X_LIB) \ $(ECORE_X_LIB) \
@ -77,6 +86,7 @@ $(ECORE_FB_LIB) \
$(ECORE_DIRECTFB_LIB) \ $(ECORE_DIRECTFB_LIB) \
$(ECORE_WIN32_LIB) \ $(ECORE_WIN32_LIB) \
$(ECORE_SDL_LIB) \ $(ECORE_SDL_LIB) \
$(ECORE_WINCE_LIB) \
$(top_builddir)/src/lib/ecore/libecore.la \ $(top_builddir)/src/lib/ecore/libecore.la \
@EVAS_LIBS@ \ @EVAS_LIBS@ \
@XCB_LIBS@ \ @XCB_LIBS@ \
@ -91,16 +101,10 @@ $(ECORE_FB_LIB) \
$(ECORE_DIRECTFB_LIB) \ $(ECORE_DIRECTFB_LIB) \
$(ECORE_WIN32_LIB) \ $(ECORE_WIN32_LIB) \
$(ECORE_SDL_LIB) \ $(ECORE_SDL_LIB) \
$(ECORE_WINCE_LIB) \
$(top_builddir)/src/lib/ecore/libecore.la $(top_builddir)/src/lib/ecore/libecore.la
endif endif
EXTRA_DIST = \ EXTRA_DIST = \
ecore_evas.c \ ecore_evas_private.h
ecore_evas_private.h \
ecore_evas_x.c \
ecore_evas_fb.c \
ecore_evas_buffer.c \
ecore_evas_directfb.c \
ecore_evas_win32.c \
ecore_evas_sdl.c

View File

@ -83,6 +83,12 @@ ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
return 1; return 1;
#else #else
return 0; return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_WINCE:
#ifdef BUILD_ECORE_EVAS_WINCE
return 1;
#else
return 0;
#endif #endif
default: default:
return 0; return 0;
@ -128,6 +134,9 @@ ecore_evas_shutdown(void)
#endif #endif
#ifdef BUILD_ECORE_EVAS_DIRECTFB #ifdef BUILD_ECORE_EVAS_DIRECTFB
while (_ecore_evas_directfb_shutdown()); while (_ecore_evas_directfb_shutdown());
#endif
#ifdef BUILD_ECORE_EVAS_WINCE
while (_ecore_evas_wince_shutdown());
#endif #endif
evas_shutdown(); evas_shutdown();
} }

View File

@ -77,6 +77,10 @@
# include <Evas_Engine_Direct3D.h> # include <Evas_Engine_Direct3D.h>
# endif # endif
#endif #endif
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
# include "Ecore_WinCE.h"
# include <Evas_Engine_Software_16_WinCE.h>
#endif
#define IDLE_FLUSH_TIME 0.5 #define IDLE_FLUSH_TIME 0.5
@ -195,6 +199,11 @@ struct _Ecore_Evas_Engine
} state; } state;
} win32; } win32;
#endif #endif
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
struct {
Ecore_WinCE_Window *window;
} wince;
#endif
Ecore_Timer *idle_flush_timer; Ecore_Timer *idle_flush_timer;
}; };
@ -293,6 +302,9 @@ int _ecore_evas_directfb_shutdown(void);
#ifdef BUILD_ECORE_WIN32 #ifdef BUILD_ECORE_WIN32
int _ecore_evas_win32_shutdown(void); int _ecore_evas_win32_shutdown(void);
#endif #endif
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
int _ecore_evas_wince_shutdown(void);
#endif
void _ecore_evas_fps_debug_init(void); void _ecore_evas_fps_debug_init(void);
void _ecore_evas_fps_debug_shutdown(void); void _ecore_evas_fps_debug_shutdown(void);

File diff suppressed because it is too large Load Diff