add fb to expedite

SVN revision: 32554
This commit is contained in:
Carsten Haitzler 2007-11-10 23:23:08 +00:00
parent 7dd2be8ac9
commit 4eb1a715eb
6 changed files with 78 additions and 0 deletions

View File

@ -97,6 +97,16 @@ PKG_CHECK_EXISTS(evas-software-16-x11,
)
AM_CONDITIONAL(BUILD_SOFTWARE_16_X11, test "x$have_software_16_x11" = "xyes")
dnl FB
PKG_CHECK_EXISTS(evas-framebuffer,
[
AC_DEFINE(HAVE_EVAS_FB, 1, [Evas FB Engine Support])
have_fb="yes"
],
[ have_fb="no" ]
)
AM_CONDITIONAL(BUILD_FB, test "x$have_fb" = "xyes")
# TODO: Check availability of libs
dnl DirectDraw
PKG_CHECK_EXISTS(evas-software-ddraw,
@ -188,6 +198,7 @@ echo " Software DirectDraw..........: ${have_software_ddraw}"
echo " Software DirectDraw 16 bits..: ${have_software_16_ddraw}"
echo " Direct3D.....................: ${have_direct3d}"
echo " Software SDL.................: ${have_software_sdl}"
echo " FB...........................: ${have_fb}"
echo
echo " Installation:"
echo " prefix.......................: ${prefix}"

View File

@ -99,3 +99,9 @@ if BUILD_SOFTWARE_SDL
expedite_SOURCES += \
engine_software_sdl.c engine_software_sdl.h
endif
if BUILD_FB
expedite_SOURCES += \
engine_fb.c engine_fb.h
endif

44
src/bin/engine_fb.c Normal file
View File

@ -0,0 +1,44 @@
#include "main.h"
#include <Evas_Engine_FB.h>
int
engine_fb_args(int argc, char **argv)
{
Evas_Engine_Info_FB *einfo;
int i;
int ok = 0;
for (i = 1; i < argc; i++)
{
if ((!strcmp(argv[i], "-e")) && (i < (argc - 1)))
{
i++;
if (!strcmp(argv[i], "fb")) ok = 1;
}
}
if (!ok) return 0;
evas_output_method_set(evas, evas_render_method_lookup("fb"));
einfo = (Evas_Engine_Info_FB *)evas_engine_info_get(evas);
if (!einfo)
{
printf("Evas does not support the FB Engine\n");
return 0;
}
einfo->info.virtual_terminal = 0;
einfo->info.device_number = 0;
einfo->info.device_number = 0;
einfo->info.refresh = 0;
einfo->info.rotation = 0;
evas_engine_info_set(evas, (Evas_Engine_Info *) einfo);
return 1;
}
void
engine_fb_loop(void)
{
return;
}

7
src/bin/engine_fb.h Normal file
View File

@ -0,0 +1,7 @@
#ifndef ENGINE_FB_H
#define ENGINE_FB_H
int engine_fb_args(int argc, char **argv);
void engine_fb_loop(void);
#endif

View File

@ -1171,6 +1171,10 @@ _engine_args(int argc, char **argv)
#if HAVE_EVAS_DIRECT3D
if (engine_direct3d_args(argc, argv))
loop_func = engine_direct3d_loop;
#endif
#if HAVE_EVAS_FB
if (engine_fb_args(argc, argv))
loop_func = engine_fb_loop;
#endif
if ((!loop_func) || (!profile_ok))
{
@ -1209,6 +1213,9 @@ _engine_args(int argc, char **argv)
#endif
#if HAVE_EVAS_SOFTWARE_SDL
" sdl"
#endif
#if HAVE_EVAS_FB
" fb"
#endif
"\n"
"Where PROFILE can be one of:\n"

View File

@ -41,6 +41,9 @@
#if HAVE_EVAS_SOFTWARE_SDL
#include "engine_software_sdl.h"
#endif
#if HAVE_EVAS_FB
#include "engine_fb.h"
#endif
#include "ui.h"
#include "about.h"