diff --git a/Makefile.am b/Makefile.am index ca5745818..a6b75f95a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -30,6 +30,7 @@ EXTRA_DIST = \ README.MacOSX \ README.MiNT \ README.NanoX \ + README.PicoGUI \ README.QNX \ README.Qtopia \ README.WinCE \ diff --git a/README.PicoGUI b/README.PicoGUI new file mode 100644 index 000000000..cdb6bedae --- /dev/null +++ b/README.PicoGUI @@ -0,0 +1,50 @@ + ======================== + Using SDL with PicoGUI + ======================== + +- Originally contributed by Micah Dowty + +PicoGUI is a scalable GUI system with a unique architecture, primarily focused +on scalability to various embedded systems. You can find more information +including a FAQ at http://picogui.org + +To use the patch: + + 1. When compiling, add the "--enable-video-picogui" switch to ./configure + + 2. When running your program, ensure that the picogui driver for SDL + is in use by setting the SDL_VIDEODRIVER environment variable + to "picogui". + + 3. The program must also be linked to the C client library for PicoGUI + (libpgui.so). If the program is being compiled with a patched SDL + installed this should be done automatically. If you want to use an + existing binary with PicoGUI, you can set the LD_PRELOAD environment + variable to the path of your libpgui.so file. + +Capabilities: + + So far only basic functionality is provided on true color (linear16/24/32) + devices. Accessing a memory mapped bitmap, updating the display, and handling + mouse/keyboard input. This functionality has been tested with several + applications, including mplayer, Xine, sldroids, and Abuse. + +TODO list: + + - YUV overlays will be helpful for watching video on set top boxes or other + embedded devices that have some graphics acceleration hardware + + - Account for rotated bitmap storage in pgserver + + - Support for hiding or changing the cursor + + - The display should be centered when the SDL application is smaller + than the PicoGUI panel + + - Fullscreen or any other special modes + + - Support for indexed and grayscale modes + + - Probably much more... + +--- The End --- diff --git a/configure.in b/configure.in index 4dcc30ad7..718b962e5 100644 --- a/configure.in +++ b/configure.in @@ -1470,6 +1470,32 @@ CheckQtopia() fi } +dnl Set up the PicoGUI video driver if enabled +CheckPicoGUI() +{ + AC_ARG_ENABLE(video-picogui, +[ --enable-video-picogui use PicoGUI video driver [default=no]], + , enable_video_picogui=no) + if test x$enable_video = xyes -a x$enable_video_picogui = xyes; then + AC_MSG_CHECKING(for PicoGUI support) + video_picogui=no + AC_TRY_COMPILE([ + #include + ],[ + ],[ + video_picogui=yes + ]) + AC_MSG_RESULT($video_picogui) + if test x$video_picogui = xyes; then + SDL_LIBS="$SDL_LIBS -lpgui" + CFLAGS="$CFLAGS -DENABLE_PICOGUI" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS picogui" + VIDEO_DRIVERS="$VIDEO_DRIVERS picogui/libvideo_picogui.la" + fi + AC_LANG_C + fi +} + dnl Set up the Mac toolbox video driver for Mac OS 7-9 CheckTOOLBOX() { @@ -1676,6 +1702,7 @@ case "$target" in CheckSVGA CheckAAlib CheckQtopia + CheckPicoGUI CheckOpenGL CheckInputEvents CheckPTHREAD @@ -2602,6 +2629,7 @@ src/video/ataricommon/Makefile src/video/xbios/Makefile src/video/gem/Makefile src/video/qtopia/Makefile +src/video/picogui/Makefile src/events/Makefile src/joystick/Makefile src/joystick/amigaos/Makefile diff --git a/docs.html b/docs.html index e84e9a405..72b4ef623 100644 --- a/docs.html +++ b/docs.html @@ -16,6 +16,7 @@ be found at the main SDL page. Major changes since SDL 1.0.0: