fix ecore_evas_engine_type_supported_get and ecore_time_get on windows

SVN revision: 31552
This commit is contained in:
doursse 2007-08-27 10:20:12 +00:00 committed by doursse
parent 8a6ac30215
commit b50328b469
3 changed files with 69 additions and 6 deletions

View File

@ -328,6 +328,13 @@ fi
ECORE_CHECK_MODULE([Win32], [no], [$have_win32],
[ecore_win32_libs="$ecore_win32_libs $ddraw_libs $direct3d_libs"])
if test "x${have_ecore_win32}" = "xyes" -a "x${have_ddraw}" = "xyes"; then
AC_DEFINE(BUILD_ECORE_EVAS_DIRECTDRAW, 1, [Support for DirectDraw Engine in Ecore_Evas])
fi
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])
fi
ECORE_CHECK_MODULE([Job], [yes])

View File

@ -15,7 +15,56 @@ EAPI double
ecore_time_get(void)
{
#ifdef _WIN32
return (double)GetTickCount() / 1000.0;
SYSTEMTIME st;
double time;
int days_nbr = 0;
int i;
GetSystemTime(&st);
for (i = 1; i < st.wMonth; i++)
{
if ((i == 1) ||
(i == 3) ||
(i == 5) ||
(i == 7) ||
(i == 8) ||
(i == 10) ||
(i == 12))
days_nbr += 31;
else if ((i == 4) ||
(i == 6) ||
(i == 5) ||
(i == 9) ||
(i == 11))
days_nbr += 30;
else
{
/* need to fix that... */
if ((st.wYear % 4) == 0)
{
if ((st.wYear % 400) == 0)
{
if ((st.wYear % 1000) == 0)
days_nbr += 29;
else
days_nbr += 28;
}
else
days_nbr += 29;
}
else
days_nbr += 28;
}
}
time =
(double)st.wMilliseconds / 1000.0 +
(double)st.wSecond +
(double)st.wMinute * 60.0 +
(double)st.wHour * 3600.0 +
(double)(st.wDay + days_nbr) * 86400.0 +
(double)(st.wYear - 1970) * 31536000.0;
return time;
#else
# ifdef HAVE_GETTIMEOFDAY
struct timeval timev;

View File

@ -25,21 +25,18 @@ ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
#else
return 0;
#endif
break;
case ECORE_EVAS_ENGINE_SOFTWARE_FB:
#ifdef BUILD_ECORE_EVAS_FB
return 1;
#else
return 0;
#endif
break;
case ECORE_EVAS_ENGINE_GL_X11:
#ifdef BUILD_ECORE_EVAS_GL
return 1;
#else
return 0;
#endif
break;
case ECORE_EVAS_ENGINE_XRENDER_X11:
#ifdef BUILD_ECORE_EVAS_XRENDER
return 1;
@ -53,19 +50,29 @@ ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
#else
return 0;
#endif
break;
case ECORE_EVAS_ENGINE_SOFTWARE_BUFFER:
#ifdef BUILD_ECORE_EVAS_BUFFER
return 1;
#else
return 0;
#endif
break;
case ECORE_EVAS_ENGINE_DIRECTFB:
#ifdef BUILD_ECORE_EVAS_DIRECTFB
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_SOFTWARE_DDRAW:
#ifdef BUILD_ECORE_EVAS_DIRECTDRAW
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_DIRECT3D:
#ifdef BUILD_ECORE_EVAS_DIRECT3D
return 1;
#else
return 0;
#endif
case ECORE_EVAS_ENGINE_SDL:
#ifdef BUILD_ECORE_EVAS_SDL