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"
fi
dnl ecore_evas_wince
dnl have_ecore_evas_software_16_wince="no"
dnl if test "x$have_ecore_wince" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
dnl want_ecore_evas_wince=yes
dnl AC_ARG_ENABLE(ecore-evas-software-16-wince,
dnl AC_HELP_STRING(
dnl [--enable-ecore-evas-software-16-wince],
dnl [enable WinCE support in the ecore_evas module.]
dnl ),
dnl [ want_ecore_evas_wince=$enableval ]
dnl )
dnl AC_MSG_CHECKING(whether ecore_evas WinCE support is to be built)
dnl AC_MSG_RESULT($want_ecore_evas_wince)
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)
dnl if test "x$want_ecore_evas_wince" = "xyes"; then
dnl 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])
dnl have_ecore_evas_software_16_wince="yes";
dnl ], [
dnl have_ecore_evas_software_16_wince="no";
dnl ])
dnl fi
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
dnl if test "x$have_ecore_evas_software_16_wince" = "xyes"; then
dnl requirements_ecore_evas="$requirements_ecore_evas ecore-wince"
dnl fi
dnl 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
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_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_Evas DFB Support.......: $have_ecore_evas_dfb"
echo " Ecore_FB.....................: $have_ecore_fb"

View File

@ -64,6 +64,7 @@ extern "C" {
#define HAVE_ECORE_EVAS_DIRECTFB 1
#define HAVE_ECORE_EVAS_WIN32 1
#define HAVE_ECORE_EVAS_SDL 1
#define HAVE_ECORE_EVAS_WINCE 1
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_16,
ECORE_EVAS_ENGINE_DIRECT3D,
ECORE_EVAS_ENGINE_SDL
ECORE_EVAS_ENGINE_SDL,
ECORE_EVAS_ENGINE_SOFTWARE_WINCE,
} Ecore_Evas_Engine_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;
#endif
#ifndef __ECORE_WINCE_H__
typedef void Ecore_WinCE_Window;
#endif
#ifndef _ECORE_EVAS_PRIVATE_H
/* basic data types */
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_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 */
EAPI Ecore_Evas *ecore_evas_ecore_evas_get(Evas *e);
EAPI void ecore_evas_free(Ecore_Evas *ee);

View File

@ -40,6 +40,14 @@ ECORE_SDL_INC =
ECORE_SDL_LIB =
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 = \
-I$(top_srcdir)/src/lib/ecore \
-I$(top_srcdir)/src/lib/ecore_evas \
@ -50,6 +58,7 @@ $(ECORE_FB_INC) \
$(ECORE_DIRECTFB_INC) \
$(ECORE_WIN32_INC) \
$(ECORE_SDL_INC) \
$(ECORE_WINCE_INC) \
@EVAS_CFLAGS@ \
@XCB_CFLAGS@
@ -63,13 +72,13 @@ Ecore_Evas.h
libecore_evas_la_SOURCES = \
ecore_evas.c \
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
ecore_evas_sdl.c \
ecore_evas_wince.c
libecore_evas_la_LIBADD = \
$(ECORE_X_LIB) \
@ -77,6 +86,7 @@ $(ECORE_FB_LIB) \
$(ECORE_DIRECTFB_LIB) \
$(ECORE_WIN32_LIB) \
$(ECORE_SDL_LIB) \
$(ECORE_WINCE_LIB) \
$(top_builddir)/src/lib/ecore/libecore.la \
@EVAS_LIBS@ \
@XCB_LIBS@ \
@ -91,16 +101,10 @@ $(ECORE_FB_LIB) \
$(ECORE_DIRECTFB_LIB) \
$(ECORE_WIN32_LIB) \
$(ECORE_SDL_LIB) \
$(ECORE_WINCE_LIB) \
$(top_builddir)/src/lib/ecore/libecore.la
endif
EXTRA_DIST = \
ecore_evas.c \
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
ecore_evas_private.h

View File

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

View File

@ -77,6 +77,10 @@
# include <Evas_Engine_Direct3D.h>
# 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
@ -195,6 +199,11 @@ struct _Ecore_Evas_Engine
} state;
} win32;
#endif
#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
struct {
Ecore_WinCE_Window *window;
} wince;
#endif
Ecore_Timer *idle_flush_timer;
};
@ -293,6 +302,9 @@ int _ecore_evas_directfb_shutdown(void);
#ifdef BUILD_ECORE_WIN32
int _ecore_evas_win32_shutdown(void);
#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_shutdown(void);

File diff suppressed because it is too large Load Diff