diff options
author | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
---|---|---|
committer | Denys Dmytriyenko <denis@denix.org> | 2009-03-17 14:32:59 -0400 |
commit | 709c4d66e0b107ca606941b988bad717c0b45d9b (patch) | |
tree | 37ee08b1eb308f3b2b6426d5793545c38396b838 /packages/obsolete/libsdl/libsdl-qpe-1.2.7 | |
parent | fa6cd5a3b993f16c27de4ff82b42684516d433ba (diff) |
rename packages/ to recipes/ per earlier agreement
See links below for more details:
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326
http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Acked-by: Mike Westerhof <mwester@dls.net>
Acked-by: Philip Balister <philip@balister.org>
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Marcin Juszkiewicz <hrw@openembedded.org>
Acked-by: Koen Kooi <koen@openembedded.org>
Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'packages/obsolete/libsdl/libsdl-qpe-1.2.7')
9 files changed, 0 insertions, 3286 deletions
diff --git a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/SDL-Akita.patch b/packages/obsolete/libsdl/libsdl-qpe-1.2.7/SDL-Akita.patch deleted file mode 100644 index b47a127398..0000000000 --- a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/SDL-Akita.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- SDL-1.2.7/src/video/qtopia/SDL_sysvideo.cc.orig 2005-07-23 14:31:20.060123510 +0200 -+++ SDL-1.2.7/src/video/qtopia/SDL_sysvideo.cc 2005-07-23 14:38:49.000000000 +0200 -@@ -109,6 +109,7 @@ - MACHINE_SHARP_SLC760, - MACHINE_SHARP_SLC860, - MACHINE_SHARP_SL6000, -+ MACHINE_SHARP_SLC1000, - MACHINE_IPAQ, - MACHINE_MAX - } machine_t; -@@ -123,6 +124,7 @@ - { "Sharp", "SL-C760", 0 }, - { "Sharp", "SL-C860", 0 }, - { "Sharp", "SL-6000", 0 }, -+ { "Sharp", "SL-C1000", 0 }, - { "HP", "HP IPAQ", 0 }, - }; - -@@ -428,6 +430,8 @@ - machine = MACHINE_SHARP_SLC760; - else if (strstr(buf, "SHARP Boxer") != NULL) - machine = MACHINE_SHARP_SLC860; -+ else if (strstr(buf, "SHARP Akita") != NULL) -+ machine = MACHINE_SHARP_SLC1000; - else if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) - machine = MACHINE_IPAQ; - else -@@ -523,7 +527,8 @@ - machine == MACHINE_SHARP_SLC750 || - machine == MACHINE_SHARP_SLC760 || - machine == MACHINE_SHARP_SLC860 || // ¾Ü¤·¤¤¤³¤È¤ï¤«¤é¤ó¤±¤É¤È¤ê¤¢¤¨¤º -- machine == MACHINE_SHARP_SL6000 ) { // ¾Ü¤·¤¤¤³¤È¤ï¤«¤é¤ó¤±¤É¤È¤ê¤¢¤¨¤º -+ machine == MACHINE_SHARP_SL6000 || -+ machine == MACHINE_SHARP_SLC1000 ) { // ¾Ü¤·¤¤¤³¤È¤ï¤«¤é¤ó¤±¤É¤È¤ê¤¢¤¨¤º - is_VGA_machine = true; - }else { - is_VGA_machine = false; diff --git a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/acinclude.m4 b/packages/obsolete/libsdl/libsdl-qpe-1.2.7/acinclude.m4 deleted file mode 100644 index ca2df9d5e5..0000000000 --- a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/acinclude.m4 +++ /dev/null @@ -1,189 +0,0 @@ -# Local macros for the SDL configure.in script - -dnl Function to link an architecture specific file -dnl LINK_ARCH_SRC(source_dir, arch, source_file) -AC_DEFUN([COPY_ARCH_SRC], -[ - old="$srcdir/$1/$2/$3" - new="$1/$3" - if test ! -d $1; then - echo "Creating directory $1" - mkdir -p $1 - fi - echo "Copying $old -> $new" - cat >$new <<__EOF__ -/* WARNING: This file was automatically generated! - * Original: $old - */ -__EOF__ - cat >>$new <$old -]) - -# -# --- esd.m4 --- -# -# Configure paths for ESD -# Manish Singh 98-9-30 -# stolen back from Frank Belew -# stolen from Manish Singh -# Shamelessly stolen from Owen Taylor - -dnl AM_PATH_ESD([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) -dnl Test for ESD, and define ESD_CFLAGS and ESD_LIBS -dnl -AC_DEFUN([AM_PATH_ESD], -[dnl -dnl Get the cflags and libraries from the esd-config script -dnl -AC_ARG_WITH(esd-prefix,[ --with-esd-prefix=PFX Prefix where ESD is installed (optional)], - esd_prefix="$withval", esd_prefix="") -AC_ARG_WITH(esd-exec-prefix,[ --with-esd-exec-prefix=PFX Exec prefix where ESD is installed (optional)], - esd_exec_prefix="$withval", esd_exec_prefix="") -AC_ARG_ENABLE(esdtest, [ --disable-esdtest Do not try to compile and run a test ESD program], - , enable_esdtest=yes) - - if test x$esd_exec_prefix != x ; then - esd_args="$esd_args --exec-prefix=$esd_exec_prefix" - if test x${ESD_CONFIG+set} != xset ; then - ESD_CONFIG=$esd_exec_prefix/bin/esd-config - fi - fi - if test x$esd_prefix != x ; then - esd_args="$esd_args --prefix=$esd_prefix" - if test x${ESD_CONFIG+set} != xset ; then - ESD_CONFIG=$esd_prefix/bin/esd-config - fi - fi - - AC_PATH_PROG(ESD_CONFIG, esd-config, no) - min_esd_version=ifelse([$1], ,0.2.7,$1) - AC_MSG_CHECKING(for ESD - version >= $min_esd_version) - no_esd="" - if test "$ESD_CONFIG" = "no" ; then - no_esd=yes - else - ESD_CFLAGS=`$ESD_CONFIG $esdconf_args --cflags` - ESD_LIBS=`$ESD_CONFIG $esdconf_args --libs` - - esd_major_version=`$ESD_CONFIG $esd_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - esd_minor_version=`$ESD_CONFIG $esd_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - esd_micro_version=`$ESD_CONFIG $esd_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_esdtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $ESD_CFLAGS" - LIBS="$LIBS $ESD_LIBS" -dnl -dnl Now check if the installed ESD is sufficiently new. (Also sanity -dnl checks the results of esd-config to some extent -dnl - rm -f conf.esdtest - AC_TRY_RUN([ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <esd.h> - -char* -my_strdup (char *str) -{ - char *new_str; - - if (str) - { - new_str = malloc ((strlen (str) + 1) * sizeof(char)); - strcpy (new_str, str); - } - else - new_str = NULL; - - return new_str; -} - -int main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.esdtest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = my_strdup("$min_esd_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_esd_version"); - exit(1); - } - - if (($esd_major_version > major) || - (($esd_major_version == major) && ($esd_minor_version > minor)) || - (($esd_major_version == major) && ($esd_minor_version == minor) && ($esd_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** 'esd-config --version' returned %d.%d.%d, but the minimum version\n", $esd_major_version, $esd_minor_version, $esd_micro_version); - printf("*** of ESD required is %d.%d.%d. If esd-config is correct, then it is\n", major, minor, micro); - printf("*** best to upgrade to the required version.\n"); - printf("*** If esd-config was wrong, set the environment variable ESD_CONFIG\n"); - printf("*** to point to the correct copy of esd-config, and remove the file\n"); - printf("*** config.cache before re-running configure\n"); - return 1; - } -} - -],, no_esd=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_esd" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$ESD_CONFIG" = "no" ; then - echo "*** The esd-config script installed by ESD could not be found" - echo "*** If ESD was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the ESD_CONFIG environment variable to the" - echo "*** full path to esd-config." - else - if test -f conf.esdtest ; then - : - else - echo "*** Could not run ESD test program, checking why..." - CFLAGS="$CFLAGS $ESD_CFLAGS" - LIBS="$LIBS $ESD_LIBS" - AC_TRY_LINK([ -#include <stdio.h> -#include <esd.h> -], [ return 0; ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding ESD or finding the wrong" - echo "*** version of ESD. If it is not finding ESD, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means ESD was incorrectly installed" - echo "*** or that you have moved ESD since it was installed. In the latter case, you" - echo "*** may want to edit the esd-config script: $ESD_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - ESD_CFLAGS="" - ESD_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(ESD_CFLAGS) - AC_SUBST(ESD_LIBS) - rm -f conf.esdtest -]) - diff --git a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/agawa-piro-mickey.patch b/packages/obsolete/libsdl/libsdl-qpe-1.2.7/agawa-piro-mickey.patch deleted file mode 100644 index 7f3622ea4c..0000000000 --- a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/agawa-piro-mickey.patch +++ /dev/null @@ -1,2065 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - -Index: SDL-1.2.7/src/video/qtopia/SDL_QWin.cc -=================================================================== ---- SDL-1.2.7.orig/src/video/qtopia/SDL_QWin.cc 2005-03-02 22:24:43.457491622 +0100 -+++ SDL-1.2.7/src/video/qtopia/SDL_QWin.cc 2005-03-02 22:24:46.867009932 +0100 -@@ -1,3 +1,4 @@ -+ - /* - SDL - Simple DirectMedia Layer - Copyright (C) 1997-2004 Sam Lantinga -@@ -27,15 +28,24 @@ - - #include "SDL_QWin.h" - #include <qapplication.h> -+#include <qpe/qpeapplication.h> - #include <qdirectpainter_qws.h> - -+extern int fb_hwrot; -+extern int fb_direct; -+extern bool is_VGA_machine; -+static int mouse_button_mode=1; -+ - screenRotationT screenRotation = SDL_QT_NO_ROTATION; - - SDL_QWin::SDL_QWin(const QSize& size) - : QWidget(0, "SDL_main"), my_painter(0), my_image(0), - my_inhibit_resize(false), my_mouse_pos(-1,-1), my_flags(0), -- my_has_fullscreen(false), my_locked(0) -+ my_has_fullscreen(false), my_locked(0), -+ rotation_(0), qteRotation_(0), keyRotation_(0), qteKeyRotation_(0), -+ isSLA300InputFix_(0) - { -+ for (int i = 0; i < 5; i++) curAxis_[i] = 0; - setBackgroundMode(NoBackground); - } - -@@ -84,6 +94,7 @@ - } - - void SDL_QWin::setMousePos(const QPoint &pos) { -+#if 0 - if(my_image->width() == height()) { - if (screenRotation == SDL_QT_ROTATION_90) - my_mouse_pos = QPoint(height()-pos.y(), pos.x()); -@@ -92,6 +103,66 @@ - } else { - my_mouse_pos = pos; - } -+#else -+ QPoint realPos; -+ -+ if (is_VGA_machine) { -+ realPos = pos; -+ my_mouse_pos = realPos; -+ }else { -+ switch (qteRotation_) { -+ case 0: -+ realPos = pos; -+ break; -+ case 1: -+ realPos.setX(pos.y()); -+ realPos.setY(fbSize_.height() - 1 - pos.x()); -+ break; -+ case 2: -+ realPos.setX(fbSize_.width() - 1 - pos.x()); -+ realPos.setY(fbSize_.height() - 1 - pos.y()); -+ break; -+ case 3: -+ realPos.setX(fbSize_.width() - 1 - pos.y()); -+ realPos.setY(pos.x()); -+ break; -+ }; -+ -+ // fprintf(stderr, "setMousePos: realPos(%d, %d)\n", realPos.x(), realPos.y()); -+ -+ int borderWidth = (fbSize_.width() - my_image->width()) >> 1; -+ int borderHeight = (fbSize_.height() - my_image->height()) >> 1; -+ if ( rotation_ & 1 ){ -+ borderWidth = (fbSize_.height() - my_image->width()) >> 1; -+ borderHeight = (fbSize_.width() - my_image->height()) >> 1; -+ } -+ realPos.setX(realPos.x() - borderWidth); -+ realPos.setY(realPos.y() - borderHeight); -+ -+ fprintf(stderr, "setMousePos: realPos2(%d, %d)\n", realPos.x(), realPos.y()); -+ -+ switch (rotation_) { -+ case 0: -+ my_mouse_pos = realPos; -+ break; -+ case 1: -+ my_mouse_pos.setX(realPos.y()); -+ my_mouse_pos.setY(my_image->height() - 1 - realPos.x()); -+ break; -+ case 2: -+ my_mouse_pos.setX(my_image->width() - 1 - realPos.x()); -+ my_mouse_pos.setY(my_image->height() - 1 - realPos.y()); -+ break; -+ case 3: -+ my_mouse_pos.setX(realPos.y());//my_image->width() - 1 - realPos.y()); -+ my_mouse_pos.setY(my_image->height() - realPos.x()); -+ break; -+ } -+ } -+ -+// fprintf(stderr, "setMousePos: mymousePos(%d, %d)\n", (short)my_mouse_pos.x(), (short)my_mouse_pos.y()); -+ -+#endif - } - - void SDL_QWin::mouseMoveEvent(QMouseEvent *e) { -@@ -113,269 +184,318 @@ - void SDL_QWin::mousePressEvent(QMouseEvent *e) { - mouseMoveEvent(e); - Qt::ButtonState button = e->button(); -- SDL_PrivateMouseButton(SDL_PRESSED, -- (button & Qt::LeftButton) ? 1 : -- ((button & Qt::RightButton) ? 2 : 3), -+ SDL_PrivateMouseButton(SDL_PRESSED,mouse_button_mode, - my_mouse_pos.x(), my_mouse_pos.y()); - } - - void SDL_QWin::mouseReleaseEvent(QMouseEvent *e) { - setMousePos(e->pos()); - Qt::ButtonState button = e->button(); -- SDL_PrivateMouseButton(SDL_RELEASED, -- (button & Qt::LeftButton) ? 1 : -- ((button & Qt::RightButton) ? 2 : 3), -+ SDL_PrivateMouseButton(SDL_RELEASED,mouse_button_mode, - my_mouse_pos.x(), my_mouse_pos.y()); - my_mouse_pos = QPoint(-1, -1); - } - --static inline void --gs_fastRotateBlit_3 ( unsigned short *fb, -- unsigned short *bits, -- const QRect& rect ) -+#ifndef __i386__ -+ -+static void -+blitRotate3(Uint16 *dstBits, const QSize& dstSize, -+ const Uint16 *srcBits, const QSize& srcSize, -+ const QRect& srcBlitRect); -+ -+static void -+blitRotate0(Uint16 *dstBits, const QSize& dstSize, -+ const Uint16 *srcBits, const QSize& srcSize, -+ const QRect& srcBlitRect) - { -- // FIXME: this only works correctly for 240x320 displays -- int startx, starty; -- int width, height; -- -- startx = rect.left() >> 1; -- starty = rect.top() >> 1; -- width = ((rect.right() - rect.left()) >> 1) + 2; -- height = ((rect.bottom() - rect.top()) >> 1) + 2; -- -- if((startx+width) > 120) { -- width = 120 - startx; // avoid horizontal overflow -- } -- if((starty+height) > 160) { -- height = 160 - starty; // avoid vertical overflow -- } -- -- ulong *sp1, *sp2, *dp1, *dp2; -- ulong stop, sbot, dtop, dbot; -- -- sp1 = (ulong*)bits + startx + starty*240; -- sp2 = sp1 + 120; -- dp1 = (ulong *)fb + (159 - starty) + startx*320; -- dp2 = dp1 + 160; -- int rowadd = (-320*width) - 1; -- int rowadd2 = 240 - width; -- // transfer in cells of 2x2 pixels in words -- for (int y=0; y<height; y++) { -- for (int x=0; x<width; x++) { -- // read source pixels -- stop = *sp1; -- sbot = *sp2; -- // rotate pixels -- dtop = (sbot & 0xffff) + ((stop & 0xffff)<<16); -- dbot = ((sbot & 0xffff0000)>>16) + (stop & 0xffff0000); -- // write to framebuffer -- *dp1 = dtop; -- *dp2 = dbot; -- // update source ptrs -- sp1++; sp2++; -- // update dest ptrs - 2 pix at a time -- dp1 += 320; -- dp2 += 320; -- } -- // adjust src ptrs - skip a row as we work in pairs -- sp1 += rowadd2; -- sp2 += rowadd2; -- // adjust dest ptrs for rotation -- dp1 += rowadd; -- dp2 += rowadd; -+ srcBits += srcBlitRect.left() + srcBlitRect.top() * srcSize.width(); -+ dstBits += ((dstSize.width() - srcSize.width()) >> 1) -+ + (((dstSize.height() - srcSize.height()) >> 1) * dstSize.width()); -+ dstBits += srcBlitRect.left() + srcBlitRect.top() * dstSize.width(); -+ int w = srcBlitRect.width() << 1; -+ int h = srcBlitRect.height(); -+ -+ while (h--) { -+ memcpy(dstBits, srcBits, w); -+ dstBits += dstSize.width(); -+ srcBits += srcSize.width(); - } - } - --static inline void --gs_fastRotateBlit_1 ( unsigned short *fb, -- unsigned short *bits, -- const QRect& rect ) { -- // FIXME: this only works correctly for 240x320 displays -- int startx, starty; -- int width, height; -- -- startx = rect.left() >> 1; -- starty = rect.top() >> 1; -- width = ((rect.right() - rect.left()) >> 1) + 2; -- height = ((rect.bottom() - rect.top()) >> 1) + 2; -- -- if((startx+width) > 120) { -- width = 120 - startx; // avoid horizontal overflow -- } -- if((starty+height) > 160) { -- height = 160 - starty; // avoid vertical overflow -- } -- -- ulong *sp1, *sp2, *dp1, *dp2; -- ulong stop, sbot, dtop, dbot; -- fb += 320*239; // Move "fb" to top left corner -- sp1 = (ulong*)bits + startx + starty*240; -- sp2 = sp1 + 120; -- dp1 = (ulong*)fb - startx * 320 - starty; -- dp2 = dp1 - 160; -- int rowadd = (320*width) + 1; -- int rowadd2 = 240 - width; -- // transfer in cells of 2x2 pixels in words -- for (int y=0; y<height; y++) { -- for (int x=0; x<width; x++) { -- // read -- stop = *sp1; -- sbot = *sp2; -- // rotate -- dtop = (stop & 0xffff) + ((sbot & 0xffff)<<16); -- dbot = ((stop & 0xffff0000)>>16) + (sbot & 0xffff0000); -- // write -- *dp1 = dtop; -- *dp2 = dbot; -- // update source ptrs -- sp1++; sp2++; -- // update dest ptrs - 2 pix at a time -- dp1 -= 320; -- dp2 -= 320; -- } -- // adjust src ptrs - skip a row as we work in pairs -- sp1 += rowadd2; -- sp2 += rowadd2; -- // adjust dest ptrs for rotation -- dp1 += rowadd; -- dp2 += rowadd; -- } -+static void -+blitRotate1(Uint16 *dstBits, const QSize& dstSize, -+ const Uint16 *srcBits, const QSize& srcSize, -+ const QRect& srcBlitRect) -+{ -+// fprintf(stdout, "SDL_QT_ROTATION (1) is not implemented.\n"); -+ blitRotate3(dstBits, dstSize, srcBits, srcSize, srcBlitRect); - } - --// desktop, SL-A300 etc --bool SDL_QWin::repaintRotation0(const QRect& rect) { -- if(my_image->width() == width()) { -- uchar *fb = (uchar*)my_painter->frameBuffer(); -- uchar *buf = (uchar*)my_image->bits(); -- if(rect == my_image->rect()) { -- memcpy(fb, buf, width()*height()*2); -- } else { -- int h = rect.height(); -- int wd = rect.width()<<1; -- int fblineadd = my_painter->lineStep(); -- int buflineadd = my_image->bytesPerLine(); -- fb += (rect.left()<<1) + rect.top() * my_painter->lineStep(); -- buf += (rect.left()<<1) + rect.top() * my_image->bytesPerLine(); -- while(h--) { -- memcpy(fb, buf, wd); -- fb += fblineadd; -- buf += buflineadd; -- } -+static void -+blitRotate2(Uint16 *dstBits, const QSize& dstSize, -+ const Uint16 *srcBits, const QSize& srcSize, -+ QRect srcBlitRect) -+{ -+// if (srcBlitRect.left() & 1) -+// srcBlitRect.setLeft(srcBlitRect.left() - 1); -+// if (srcBlitRect.right() & 1) -+// srcBlitRect.setRight(srcBlitRect.right() - 1); -+ -+ int dstBorderLeftRight = (dstSize.width() - srcSize.width()) >>1; -+ int dstBorderTopBottom = (dstSize.height() - srcSize.height()) >>1; -+ int dstStartOffsetX = dstSize.width() - dstBorderLeftRight - 2; -+ int dstStartOffsetY = dstSize.height() - dstBorderTopBottom - 1; -+ int left = srcBlitRect.left() & ~(int)1; // to be 32bit aligned -+ srcBits += left + srcBlitRect.top() * srcSize.width(); -+ dstBits += dstStartOffsetY * dstSize.width() + dstStartOffsetX; -+ dstBits -= left; -+ dstBits -= srcBlitRect.top() * dstSize.width(); -+ -+ Uint32 *pSrc = (Uint32 *)srcBits; -+ Uint32 *pDst = (Uint32 *)dstBits; -+ -+ int width = srcBlitRect.width(), width2 = srcBlitRect.width(), w; -+ if ( srcBlitRect.left() & 1 ){ -+ width--; width2++; -+ } -+ if ( (srcBlitRect.left()+srcBlitRect.width()) & 1 ){ -+ width--; width2++; -+ } -+ width >>= 1; -+ int height = srcBlitRect.height(); -+ int srcYAdd = srcSize.width() - width2; -+ int dstYSub = dstSize.width() - width2; -+ -+ while (height--) { -+ w = width; -+ if (srcBlitRect.left() & 1){ -+ *((Uint16 *)pDst) = *(((Uint16 *)pSrc) + 1); -+ pDst--; pSrc++; - } -- } else { -- return false; // FIXME: Landscape -+ while (w--) { -+ *pDst-- = (*pSrc << 16) | (*pSrc >> 16); -+ ++pSrc; -+ } -+ if ((srcBlitRect.left()+srcBlitRect.width()) & 1){ -+ *(((Uint16 *)pDst) + 1) = *((Uint16 *)pSrc); -+ pDst--; pSrc++; -+ } -+ pSrc += srcYAdd; -+ pDst -= dstYSub; - } --#ifdef __i386__ -- my_painter->fillRect( rect, QBrush( Qt::NoBrush ) ); --#endif -- return true; - } - -- --// Sharp Zaurus SL-5500 etc --bool SDL_QWin::repaintRotation3(const QRect& rect) { -- if(my_image->width() == width()) { -- ushort *fb = (ushort*)my_painter->frameBuffer(); -- ushort *buf = (ushort*)my_image->bits(); -- gs_fastRotateBlit_3(fb, buf, rect); -+#define BLIT_ROTATE_3_MOV32 -+ -+static void -+blitRotate3(Uint16 *dstBits, const QSize& dstSize, -+ const Uint16 *srcBits, const QSize& srcSize, -+ const QRect& srcBlitRect) -+{ -+ if (srcBlitRect.width() != dstSize.height() || -+ srcBlitRect.height() != dstSize.width()) { -+ // partial update -+ const Uint16 *pSrc = srcBits + -+ (srcBlitRect.left() + srcBlitRect.top() * srcSize.width()); -+ -+ int dstBorderLeftRight = (dstSize.width() - srcSize.height()) >>1; -+ int dstBorderTopBottom = (dstSize.height() - srcSize.width()) >>1; -+ int dstStartOffsetX = dstSize.width() - dstBorderLeftRight - 1; -+ int dstStartOffsetY = dstBorderTopBottom; -+ Uint16 *pDst = dstBits + -+ (dstStartOffsetY * dstSize.width() + dstStartOffsetX); -+ pDst += srcBlitRect.left() * dstSize.width(); -+ pDst -= srcBlitRect.top(); -+ -+ int width = srcBlitRect.width(), height = srcBlitRect.height(), w; -+ int srcYAdd = srcSize.width() - srcBlitRect.width(); -+ int dstXAdd = dstSize.width(); -+ int dstYSub = (dstSize.width() * srcBlitRect.width()) + 1; -+ -+#if 0 -+ fprintf(stderr, "---- Blit begin\n"); -+ fprintf(stderr, "srcSize.width: %d srcSize.height:%d\n", -+ srcSize.width(), srcSize.height()); -+ fprintf(stderr, "srcBlitRect.left:%d srcBlitRect.right:%d srcBlitRect.top:%d srcBlitRect.bottom:%d srcBlitRect.width:%d srcBlitRect.height:%d\n", -+ srcBlitRect.left(), srcBlitRect.right(), srcBlitRect.top(), srcBlitRect.bottom(), srcBlitRect.width(), srcBlitRect.height()); -+ -+ fprintf(stderr, "dstSize.width: %d dstSize.height:%d\n", -+ dstSize.width(), dstSize.height()); -+ fprintf(stderr, "dstBorderLeftRight:%d dstBorderTopBottom:%d dstStartOffsetX:%d dstStartOffsetY:%d\n", -+ dstBorderLeftRight, dstBorderTopBottom, dstStartOffsetX, dstStartOffsetY); -+ fprintf(stderr, "srcYAdd:%d dstXAdd:%d dstYSub:%d\n", srcYAdd, dstXAdd, dstYSub); -+#endif -+ -+ while (height--) { -+ w = width; -+ while (w--) { -+ *pDst = *pSrc ++; -+ pDst += dstXAdd; -+ } -+ pSrc += srcYAdd; -+ pDst -= dstYSub; -+ } -+ // fprintf(stderr, "---- Blit end\n"); - } else { -- // landscape mode -- if (screenRotation == SDL_QT_ROTATION_90) { -- uchar *fb = (uchar*)my_painter->frameBuffer(); -- uchar *buf = (uchar*)my_image->bits(); -- if(rect == my_image->rect()) { -- memcpy(fb, buf, width()*height()*2); -- } else { -- int h = rect.height(); -- int wd = rect.width()<<1; -- int fblineadd = my_painter->lineStep(); -- int buflineadd = my_image->bytesPerLine(); -- fb += (rect.left()<<1) + rect.top() * my_painter->lineStep(); -- buf += (rect.left()<<1) + rect.top() * my_image->bytesPerLine(); -- while(h--) { -- memcpy(fb, buf, wd); -- fb += fblineadd; -- buf += buflineadd; -- } -+ // full update -+#if !defined(BLIT_ROTATE_3_MOV32) -+ const Uint16 *src = srcBits; -+ Uint16 *dst = dstBits + (dstSize.width() - 1); -+ int w = srcBlitRect.width(); -+ int h = srcBlitRect.height(); -+ int i, dstSub = dstSize.width() * w + 1; -+ int dstAdd = dstSize.width(); -+ -+ while (h--) { -+ i = w; -+ while (i--) { -+ *dst = *src ++; -+ dst += dstAdd; - } -- } else if (screenRotation == SDL_QT_ROTATION_270) { -- int h = rect.height(); -- int wd = rect.width(); -- int fblineadd = my_painter->lineStep() - (rect.width() << 1); -- int buflineadd = my_image->bytesPerLine() - (rect.width() << 1); -- int w; -- -- uchar *fb = (uchar*)my_painter->frameBuffer(); -- uchar *buf = (uchar*)my_image->bits(); -- -- fb += ((my_painter->width() - (rect.top() + rect.height())) * -- my_painter->lineStep()) + ((my_painter->height() - ((rect.left() + -- rect.width()))) << 1); -- -- buf += my_image->bytesPerLine() * (rect.top() + rect.height()) - -- (((my_image->width() - (rect.left() + rect.width())) << 1) + 2); -- -- while(h--) { -- w = wd; -- while(w--) *((unsigned short*)fb)++ = *((unsigned short*)buf)--; -- fb += fblineadd; -- buf -= buflineadd; -+ dst -= dstSub; -+ } -+#else // BLIT_ROTATE_3_MOV32 -+ Uint32 *src1 = (Uint32 *)(srcBits); -+ Uint32 *src2 = (Uint32 *)(srcBits + srcSize.width()); -+ Uint32 *dst1 = (Uint32 *)(dstBits + (dstSize.width() - 2)); -+ Uint32 *dst2 = (Uint32 *)(dstBits + (dstSize.width() + dstSize.width() - 2)); -+ int w = srcBlitRect.width() >> 3; -+ int h = srcBlitRect.height() >> 1; -+ int i, dstSub = ((dstSize.width() * srcBlitRect.width()) >> 1) + 1; -+ int dstAdd = dstSize.width(); -+ -+ Uint32 a, b; -+ while (h--) { -+ i = w; -+ while (i--) { -+ a = *src1 ++; -+ b = *src2 ++; -+ *dst1 = (a << 16) | (b & 0xFFFF); -+ *dst2 = (a & 0xFFFF0000) | (b >> 16); -+ dst1 += dstAdd; -+ dst2 += dstAdd; -+ -+ a = *src1 ++; -+ b = *src2 ++; -+ *dst1 = (a << 16) | (b & 0xFFFF); -+ *dst2 = (a & 0xFFFF0000) | (b >> 16); -+ dst1 += dstAdd; -+ dst2 += dstAdd; -+ -+ a = *src1 ++; -+ b = *src2 ++; -+ *dst1 = (a << 16) | (b & 0xFFFF); -+ *dst2 = (a & 0xFFFF0000) | (b >> 16); -+ dst1 += dstAdd; -+ dst2 += dstAdd; -+ -+ a = *src1 ++; -+ b = *src2 ++; -+ *dst1 = (a << 16) | (b & 0xFFFF); -+ *dst2 = (a & 0xFFFF0000) | (b >> 16); -+ dst1 += dstAdd; -+ dst2 += dstAdd; - } -+ src1 += srcSize.width() >> 1; -+ src2 += srcSize.width() >> 1; -+ dst1 -= dstSub; -+ dst2 -= dstSub; - } -+#endif // BLIT_ROTATE_3_MOV32 - } -- return true; - } - --// ipaq 3800... --bool SDL_QWin::repaintRotation1(const QRect& rect) { -- if(my_image->width() == width()) { -- ushort *fb = (ushort*)my_painter->frameBuffer(); -- ushort *buf = (ushort*)my_image->bits(); -- gs_fastRotateBlit_1(fb, buf, rect); -- } else { -- return false; // FIXME: landscape mode -- } -- return true; --} -+#endif // __i386__ - - void SDL_QWin::repaintRect(const QRect& rect) { - if(!my_painter || !rect.width() || !rect.height()) { - return; - } -- -- if(QPixmap::defaultDepth() == 16) { -- switch(my_painter->transformOrientation()) { -- case 3: -- if(repaintRotation3(rect)) { return; } -+#ifndef __i386__ -+ if (QPixmap::defaultDepth() == 16 && my_painter->numRects() >= 0) { -+ Uint16 *fb = (Uint16*)my_painter->frameBuffer(); -+ Uint16 *buf = (Uint16*)my_image->bits(); -+ switch (rotation_) { -+ case 0: -+ blitRotate0(fb, fbSize_, -+ buf, QSize(my_image->width(), my_image->height()), -+ rect); - break; - case 1: -- if(repaintRotation1(rect)) { return; } -+ blitRotate1(fb, fbSize_, -+ buf, QSize(my_image->width(), my_image->height()), -+ rect); - break; -- case 0: -- if(repaintRotation0(rect)) { return; } -+ case 2: -+ blitRotate2(fb, fbSize_, -+ buf, QSize(my_image->width(), my_image->height()), -+ rect); -+ break; -+ case 3: -+ blitRotate3(fb, fbSize_, -+ buf, QSize(my_image->width(), my_image->height()), -+ rect); - break; - } -- } -- my_painter->drawImage(rect.topLeft(), *my_image, rect); -+ } else { -+#endif // __i386__ -+ QDirectPainter pp(this); -+ pp.drawImage(rect.topLeft(), *my_image, rect); -+// pp.end(); -+#ifndef __i386__ -+ } -+#endif // __i386__ - } - - // This paints the current buffer to the screen, when desired. - void SDL_QWin::paintEvent(QPaintEvent *ev) { -- if(my_image) { -+ if(my_image && isVisible() && isActiveWindow()) { -+ // TODO: better handling - lockScreen(true); - repaintRect(ev->rect()); - unlockScreen(); - } - } - -+int SDL_QWin::ApplyKeyRotation(int key) -+{ -+ int c; -+ int sdlScancode[] = { SDLK_LEFT, SDLK_DOWN, SDLK_RIGHT, SDLK_UP }; -+ -+ switch (key) { -+ case Qt::Key_Left: -+ c = 0; -+ break; -+ case Qt::Key_Down: -+ c = 1; -+ break; -+ case Qt::Key_Right: -+ c = 2; -+ break; -+ case Qt::Key_Up: -+ c = 3; -+ break; -+ default: -+ return 0; -+ } -+ -+// c = (c + qteKeyRotation_) & 3; -+// return sdlScancode[(c - keyRotation_) & 3]; -+ return sdlScancode[(c + qteKeyRotation_ - keyRotation_) & 3]; -+} -+ - /* Function to translate a keyboard transition and queue the key event - * This should probably be a table although this method isn't exactly - * slow. - */ - void SDL_QWin::QueueKey(QKeyEvent *e, int pressed) --{ -+{ -+ if (e->isAutoRepeat()) -+ return; -+ - SDL_keysym keysym; - int scancode = e->key(); -+ - /* Set the keysym information */ - if(scancode >= 'A' && scancode <= 'Z') { - // Qt sends uppercase, SDL wants lowercase -@@ -396,26 +516,12 @@ - case Qt::Key_Home: scancode = SDLK_HOME; break; - case Qt::Key_End: scancode = SDLK_END; break; - // We want the control keys to rotate with the screen -- case Qt::Key_Left: -- if (screenRotation == SDL_QT_ROTATION_90) scancode = SDLK_UP; -- else if (screenRotation == SDL_QT_ROTATION_270) scancode = SDLK_DOWN; -- else scancode = SDLK_LEFT; -- break; -- case Qt::Key_Up: -- if (screenRotation == SDL_QT_ROTATION_90) scancode = SDLK_RIGHT; -- else if (screenRotation == SDL_QT_ROTATION_270) scancode = SDLK_LEFT; -- else scancode = SDLK_UP; -- break; -- case Qt::Key_Right: -- if (screenRotation == SDL_QT_ROTATION_90) scancode = SDLK_DOWN; -- else if (screenRotation == SDL_QT_ROTATION_270) scancode = SDLK_UP; -- else scancode = SDLK_RIGHT; -- break; -+ case Qt::Key_Left: -+ case Qt::Key_Up: -+ case Qt::Key_Right: - case Qt::Key_Down: -- if (screenRotation == SDL_QT_ROTATION_90) scancode = SDLK_LEFT; -- else if (screenRotation == SDL_QT_ROTATION_270) scancode = SDLK_RIGHT; -- else scancode = SDLK_DOWN; -- break; -+ scancode = ApplyKeyRotation(scancode); -+ break; - case Qt::Key_Prior: scancode = SDLK_PAGEUP; break; - case Qt::Key_Next: scancode = SDLK_PAGEDOWN; break; - case Qt::Key_Shift: scancode = SDLK_LSHIFT; break; -@@ -434,9 +540,18 @@ - case Qt::Key_F7: scancode = SDLK_F7; break; - case Qt::Key_F8: scancode = SDLK_F8; break; - case Qt::Key_F9: scancode = SDLK_F9; break; -- case Qt::Key_F10: scancode = SDLK_F10; break; -- case Qt::Key_F11: scancode = SDLK_F11; break; -- case Qt::Key_F12: scancode = SDLK_F12; break; -+ case Qt::Key_F10: -+ scancode = SDLK_F10; -+ mouse_button_mode=1; -+ break; -+ case Qt::Key_F11: -+ scancode = SDLK_F11; -+ mouse_button_mode=3; -+ break; -+ case Qt::Key_F12: -+ scancode = SDLK_F12; -+ mouse_button_mode=2; -+ break; - case Qt::Key_F13: scancode = SDLK_F13; break; - case Qt::Key_F14: scancode = SDLK_F14; break; - case Qt::Key_F15: scancode = SDLK_F15; break; -@@ -452,13 +567,14 @@ - // david@hedbor.org - scancode = SDLK_RETURN; - break; -+ - default: - scancode = SDLK_UNKNOWN; - break; - } -- keysym.sym = static_cast<SDLKey>(scancode); -+ keysym.sym = static_cast<SDLKey>(scancode); - } else { -- keysym.sym = static_cast<SDLKey>(scancode); -+ keysym.sym = static_cast<SDLKey>(scancode); - } - keysym.scancode = scancode; - keysym.mod = KMOD_NONE; -@@ -478,11 +594,82 @@ - // pressed = 1; - // } - -+ if (isSLA300InputFix_ && -+ (keysym.sym == SDLK_SPACE || (keysym.sym >= 273 && keysym.sym <= 276))) { -+ if (keysym.sym >= 273) curAxis_[keysym.sym-273] = pressed; -+ else curAxis_[4] = pressed; -+ } -+ - /* Queue the key event */ - if ( pressed ) { -- SDL_PrivateKeyboard(SDL_PRESSED, &keysym); -+ /* fprintf(stderr, "press %d\n", keysym.sym); */ -+ SDL_PrivateKeyboard(SDL_PRESSED, &keysym); -+ if (isSLA300InputFix_ && -+ (keysym.sym >= 273 && keysym.sym <= 276)) { -+ if (keysym.sym == SDLK_UP) { -+ if (curAxis_[1]) { -+ keysym.sym = SDLK_DOWN; -+ keysym.scancode = Qt::Key_Down; -+ curAxis_[1] = 0; -+ /* fprintf(stderr, "force release %d\n", keysym.sym); */ -+ SDL_PrivateKeyboard(SDL_RELEASED, &keysym); -+ } -+ } -+ else if (keysym.sym == SDLK_DOWN) { -+ if (curAxis_[0]) { -+ keysym.sym = SDLK_UP; -+ keysym.scancode = Qt::Key_Up; -+ curAxis_[0] = 0; -+ /* fprintf(stderr, "force release %d\n", keysym.sym); */ -+ SDL_PrivateKeyboard(SDL_RELEASED, &keysym); -+ } -+ } -+ else if (keysym.sym == SDLK_RIGHT) { -+ if (curAxis_[3]) { -+ keysym.sym = SDLK_LEFT; -+ keysym.scancode = Qt::Key_Left; -+ curAxis_[3] = 0; -+ /* fprintf(stderr, "force release %d\n", keysym.sym); */ -+ SDL_PrivateKeyboard(SDL_RELEASED, &keysym); -+ } -+ } -+ else if (keysym.sym == SDLK_LEFT) { -+ if (curAxis_[2]) { -+ keysym.sym = SDLK_RIGHT; -+ keysym.scancode = Qt::Key_Right; -+ curAxis_[2] = 0; -+ /* fprintf(stderr, "force release %d\n", keysym.sym); */ -+ SDL_PrivateKeyboard(SDL_RELEASED, &keysym); -+ } -+ } -+ } - } else { -- SDL_PrivateKeyboard(SDL_RELEASED, &keysym); -+ /* fprintf(stderr, "release %d\n", keysym.sym); */ -+ SDL_PrivateKeyboard(SDL_RELEASED, &keysym); -+ -+ if (isSLA300InputFix_ && -+ (keysym.sym == SDLK_SPACE || -+ (keysym.sym >= 273 && keysym.sym <= 276))) { -+ for (int i = 0; i < 4; i++) { -+ if (curAxis_[i]) { -+ int sym = i+273; -+ keysym.sym = static_cast<SDLKey>(sym); -+ if (sym == SDLK_UP) keysym.scancode = Qt::Key_Up; -+ else if (sym == SDLK_RIGHT) keysym.scancode = Qt::Key_Right; -+ else if (sym == SDLK_DOWN) keysym.scancode = Qt::Key_Down; -+ else if (sym == SDLK_LEFT) keysym.scancode = Qt::Key_Left; -+ curAxis_[i] = 0; -+ /* fprintf(stderr, "force release %d\n", keysym.sym); */ -+ SDL_PrivateKeyboard(SDL_RELEASED, &keysym); -+ } -+ } -+ if (curAxis_[4]) { -+ keysym.scancode = keysym.sym = SDLK_SPACE; -+ curAxis_[4] = 0; -+ /* fprintf(stderr, "force release %d\n", keysym.sym); */ -+ SDL_PrivateKeyboard(SDL_RELEASED, &keysym); -+ } -+ } - } - } - -@@ -524,7 +711,7 @@ - my_locked--; // decrease lock refcount; - } - if(!my_locked && my_painter) { -- my_painter->end(); -+// my_painter->end(); - delete my_painter; - my_painter = 0; - } -Index: SDL-1.2.7/src/video/qtopia/SDL_QWin.h -=================================================================== ---- SDL-1.2.7.orig/src/video/qtopia/SDL_QWin.h 2005-03-02 22:24:43.457491622 +0100 -+++ SDL-1.2.7/src/video/qtopia/SDL_QWin.h 2005-03-02 22:24:46.868009791 +0100 -@@ -1,3 +1,4 @@ -+ - /* - SDL - Simple DirectMedia Layer - Copyright (C) 1997-2004 Sam Lantinga -@@ -52,6 +53,7 @@ - class SDL_QWin : public QWidget - { - void QueueKey(QKeyEvent *e, int pressed); -+ int ApplyKeyRotation(int key); - public: - SDL_QWin(const QSize& size); - virtual ~SDL_QWin(); -@@ -71,7 +73,7 @@ - y = my_offset.y(); - } - QImage *image(void) { return my_image; } -- -+ - void setWFlags(WFlags flags) { - QWidget::setWFlags(flags); - my_flags = flags; -@@ -83,6 +85,15 @@ - bool lockScreen(bool force=false); - void unlockScreen(); - void repaintRect(const QRect& rect); -+ void setScreenRotation(int sdlr, int qter) { -+ rotation_ = sdlr; qteRotation_ = qter; -+ } -+ void setKeyRotation(int sdlr, int qter) { -+ keyRotation_ = sdlr; qteKeyRotation_ = qter; -+ } -+ void setFBSize(QSize& s) { fbSize_ = s; } -+// void setSLC700InputFix(bool isEnable) { isSLC700InputFix_ = isEnable; } -+ void setSLA300InputFix(bool isEnable) { isSLA300InputFix_ = isEnable; } - protected: - /* Handle resizing of the window */ - virtual void resizeEvent(QResizeEvent *e); -@@ -95,10 +106,8 @@ - void paintEvent(QPaintEvent *ev); - void keyPressEvent(QKeyEvent *e) { QueueKey(e, 1); } - void keyReleaseEvent(QKeyEvent *e) { QueueKey(e, 0); } -+ - private: -- bool repaintRotation0(const QRect& rect); -- bool repaintRotation1(const QRect& rect); -- bool repaintRotation3(const QRect& rect); - void enableFullscreen(); - QDirectPainter *my_painter; - QImage *my_image; -@@ -108,6 +117,12 @@ - WFlags my_flags; - WFlags my_has_fullscreen; - unsigned int my_locked; -+ int rotation_, qteRotation_; -+ int keyRotation_, qteKeyRotation_; -+ QSize fbSize_; -+// bool isSLC700InputFix_; -+ bool isSLA300InputFix_; -+ int curAxis_[5]; // 0: up, 1: down, 2: right, 3: left, 4: center - }; - - #endif /* _SDL_QWin_h */ -Index: SDL-1.2.7/src/video/qtopia/SDL_sysmouse.cc -=================================================================== ---- SDL-1.2.7.orig/src/video/qtopia/SDL_sysmouse.cc 2005-03-02 22:24:43.457491622 +0100 -+++ SDL-1.2.7/src/video/qtopia/SDL_sysmouse.cc 2005-03-02 22:24:46.868009791 +0100 -@@ -60,6 +60,7 @@ - void QT_WarpWMCursor(_THIS, Uint16 x, Uint16 y) - { - SDL_Win->setMousePos(QPoint(x, y)); -+ SDL_PrivateMouseMotion( 0, 0, x, y ); - } - - }; /* Extern C */ -Index: SDL-1.2.7/src/video/qtopia/SDL_sysvideo.cc -=================================================================== ---- SDL-1.2.7.orig/src/video/qtopia/SDL_sysvideo.cc 2005-03-02 22:24:43.458491481 +0100 -+++ SDL-1.2.7/src/video/qtopia/SDL_sysvideo.cc 2005-03-02 22:24:46.873009084 +0100 -@@ -1,3 +1,4 @@ -+ - /* - SDL - Simple DirectMedia Layer - Copyright (C) 1997-2004 Sam Lantinga -@@ -29,17 +30,32 @@ - - #include <stdlib.h> - #include <string.h> -+#include <stdarg.h> -+#include <fcntl.h> -+#include <sys/ioctl.h> - - #include <stdio.h> - #include <unistd.h> -+#include <sys/types.h> -+#include <sys/wait.h> -+#include <linux/fb.h> -+#include <sys/mman.h> -+#include <asm/page.h> - - #include <qapplication.h> - #include <qpe/qpeapplication.h> -+#include <qpe/qcopenvelope_qws.h> -+#include <qgfx_qws.h> -+#include <qwindowsystem_qws.h> -+#include <qwidget.h> -+#include <qwidgetlist.h> -+#include <qdirectpainter_qws.h> - - #include "SDL.h" - #include "SDL_timer.h" - - #include "SDL_QWin.h" -+#include "SDL_sysvideo.h" - - extern "C" { - -@@ -51,14 +67,67 @@ - #include "SDL_lowvideo.h" - - //#define QTOPIA_DEBUG -+#define QTOPIA_LOG - #define QT_HIDDEN_SIZE 32 /* starting hidden window size */ - -+#ifdef QTOPIA_LOG -+ static FILE *st_logfp = NULL; -+#endif -+ static inline void LOG(char *fmt, ...) -+ { -+#ifdef QTOPIA_LOG -+ va_list ap; -+ -+ va_start(ap, fmt); -+ vfprintf(st_logfp, fmt, ap); -+ if (st_logfp != stderr) { -+ fflush(st_logfp); -+ vfprintf(stderr, fmt, ap); -+ } -+ va_end(ap); -+#endif -+ } -+ -+ typedef struct machine_spec { -+ const char *manif; -+ const char *name; -+ int qpe_server_rotation; -+ int init_screen_rot; -+ int init_key_rot; -+ } machine_spec_t; -+ -+ typedef enum { -+ MACHINE_SHARP_SL5000D, -+ MACHINE_SHARP_SL5500, -+ MACHINE_SHARP_SLA300, -+ MACHINE_SHARP_SLB500, -+ MACHINE_SHARP_SLC700, -+ MACHINE_SHARP_SLC750, -+ MACHINE_SHARP_SLC760, -+ MACHINE_SHARP_SLC860, -+ MACHINE_SHARP_SL6000, -+ MACHINE_MAX -+ } machine_t; -+ -+ static const machine_spec_t st_machine_spec[] = { -+ { "Sharp", "SL-5000D", 0 }, -+ { "Sharp", "SL-5500", 0 }, -+ { "Sharp", "SL-A300", 0 }, -+ { "Sharp", "SL-B500", 0 }, -+ { "Sharp", "SL-C700", 0 }, -+ { "Sharp", "SL-C750", 0 }, -+ { "Sharp", "SL-C760", 0 }, -+ { "Sharp", "SL-C860", 0 }, -+ { "Sharp", "SL-6000", 0 }, -+ }; -+ - /* Name of the environment variable used to invert the screen rotation or not: - Possible values: -- !=0 : Screen is 270° rotated -- 0: Screen is 90° rotated*/ --#define SDL_QT_ROTATION_ENV_NAME "SDL_QT_INVERT_ROTATION" -- -+ !=0 : Screen is 270- rotated -+ 0: Screen is 90- rotated*/ -+#define SDL_QT_ROTATION_ENV_NAME "SDL_QT_ROTATION" -+#define SDL_QT_INVERT_ROTATION_ENV_NAME "SDL_QT_INVERT_ROTATION" -+ - /* Initialization/Query functions */ - static int QT_VideoInit(_THIS, SDL_PixelFormat *vformat); - static SDL_Rect **QT_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags); -@@ -78,6 +147,20 @@ - static int QT_IconifyWindow(_THIS); - static SDL_GrabMode QT_GrabInput(_THIS, SDL_GrabMode mode); - -+ static int console_fd; -+ struct fb_var_screeninfo saved_vinfo; -+ int fb_hwrot; -+ int fb_direct; -+ static int isKHloaded; -+ bool is_VGA_machine; -+ -+#define W100FB_CONFIG 0x57415200 /* WAL\00 */ -+#define W100INIT_ITEM 0 -+#define W100INIT_ALL 1 -+#define W100INIT_ITEM_WITH_VAL 2 -+#define W100FB_CONFIG_EX 0x57415202 /* WAL\02 */ -+ -+ - /* FB driver bootstrap functions */ - - static int QT_Available(void) -@@ -222,13 +305,34 @@ - - int QT_VideoInit(_THIS, SDL_PixelFormat *vformat) - { -- /* Initialize the QPE Application */ -+ const char *SDL_fbdev; -+ struct fb_var_screeninfo vinfo; -+ -+ /* Initialize the QPE Application */ - /* Determine the screen depth */ - vformat->BitsPerPixel = QPixmap::defaultDepth(); - - // For now we hardcode the current depth because anything else - // might as well be emulated by SDL rather than by Qtopia. -- -+ -+ //frame buffer device open. -+ SDL_fbdev = getenv("SDL_FBDEV"); -+ if ( SDL_fbdev == NULL ) { -+ SDL_fbdev = "/dev/fb0"; -+ } -+ console_fd = open(SDL_fbdev, O_RDWR, 0); -+ if ( console_fd < 0 ) { -+ SDL_SetError("Unable to open %s", SDL_fbdev); -+ return(-1); -+ } -+ -+ if ( ioctl(console_fd, FBIOGET_VSCREENINFO, &vinfo) < 0 ) { -+ SDL_SetError("Couldn't get console pixel format"); -+ QT_VideoQuit(_this); -+ return(-1); -+ } -+ saved_vinfo = vinfo; -+ - QSize desktop_size = qApp->desktop()->size(); - QT_AddMode(_this, ((vformat->BitsPerPixel+7)/8)-1, - desktop_size.width(), desktop_size.height()); -@@ -241,7 +345,24 @@ - /* Fill in some window manager capabilities */ - _this->info.wm_available = 0; - -- /* We're done! */ -+#ifdef QTOPIA_LOG -+ st_logfp = fopen("/tmp/sdl-qt-debug", "w"); -+ if (!st_logfp) -+ st_logfp = stderr; -+#endif -+ -+ QT_GrabInput(_this, SDL_GRAB_ON); -+/* -+ { -+ QCopEnvelope e("QPE/KeyHelper", "repeater(int)"); -+ e << 2; -+ } -+*/ -+ isKHloaded=(fopen("/home/zaurus/Settings/keyhelper_SDL.xml","r") != NULL) ? 1 : 0; -+ if (isKHloaded) { -+ system("qcop QPE/KeyHelper \"reload(QString)\" keyhelper_SDL.xml"); //QcopEnvelope can't use. -+ LOG("keyhelper_SDL.xml loaded\n"); -+ } - return(0); - } - -@@ -264,6 +385,7 @@ - - /* Various screen update functions available */ - static void QT_NormalUpdate(_THIS, int numrects, SDL_Rect *rects); -+ static void QT_DirectUpdate(_THIS, int numrects, SDL_Rect *rects); - - - static int QT_SetFullScreen(_THIS, SDL_Surface *screen, int fullscreen) -@@ -276,47 +398,428 @@ - return -1; - } - -+ static machine_t QT_GetMachine(_THIS) -+ { -+ FILE *fp; -+ machine_t machine = MACHINE_SHARP_SL5000D; -+ char buf[1024]; -+ -+ -+ fp = fopen("/proc/cpuinfo", "rb"); -+ if (fp) { -+ if (fread(buf, 1, sizeof(buf), fp) > 0) { -+ LOG("QT_GetMachine: /proc/cpuinfo is %s\n", buf); -+ if (strstr(buf, "SHARP Tosa") != NULL) -+ machine = MACHINE_SHARP_SL6000; -+ else if (strstr(buf, "Collie") != NULL) -+ machine = MACHINE_SHARP_SL5500; -+ else if (strstr(buf, "SHARP Poodle") != NULL) -+ machine = MACHINE_SHARP_SLB500; -+ else if (strstr(buf, "SHARP Corgi") !=NULL) -+ machine = MACHINE_SHARP_SLC700; -+ else if (strstr(buf, "SHARP Shepherd") !=NULL) -+ machine = MACHINE_SHARP_SLC750; -+ else if (strstr(buf, "SHARP Husky") !=NULL) -+ machine = MACHINE_SHARP_SLC760; -+ else if (strstr(buf, "SHARP Boxer") != NULL) -+ machine = MACHINE_SHARP_SLC860; -+ } -+ fclose(fp); -+ } else { -+ LOG("QT_GetMachine: Couldn't read /proc/deviceinfo/product.\n"); -+ LOG(" Now set machine variable to default (SL-5000D)\n"); -+ } -+ -+ LOG(" detected machine is '%s %s'\n", -+ st_machine_spec[machine].manif, st_machine_spec[machine].name); -+ return machine; -+ } -+ -+ static void QT_GetQteServerSpec(_THIS, int *rotation, bool *isQvga) -+ { -+ const char *user; -+ char buf[FILENAME_MAX]; -+ FILE *fp; -+ int rot = 0, is_qvga = 0; -+ -+ user = getenv("USER"); -+ snprintf(buf, sizeof(buf), "/tmp/qtembedded-%s/QtEmbedded-0.spec", -+ user ? user : "root"); -+ LOG("QT_GetRotation: Read spec from '%s'\n", buf); -+ -+ fp = fopen(buf, "rb"); -+ if (fp) { -+ int size; -+ if ((size = fread(buf, 1, sizeof(buf) - 1, fp)) > 0) { -+ buf[size] = '\0'; -+ LOG(" spec is '%s'\n", buf); -+ // get rotation value -+ if (strstr(buf, "Rot")) { -+ rot = atoi(strstr(buf, "Rot") + 3); -+ rot /= 90; -+ if (rot < 0 || rot > 3) { -+ rot = 0; -+ } -+ } else -+ rot = 0; -+ -+ // get qvga mode in SL-C700 -+ if (strstr(buf, "Qvga")) -+ is_qvga = 1; -+ } -+ fclose(fp); -+ } -+ -+ LOG(" Rot=%d, Qvga=%d\n", rot, is_qvga); -+ -+ if (rotation) -+ *rotation = rot; -+ if (isQvga) -+ *isQvga = is_qvga; -+ } -+ - /* FIXME: check return values and cleanup here */ - SDL_Surface *QT_SetVideoMode(_THIS, SDL_Surface *current, - int width, int height, int bpp, Uint32 flags) - { -- - QImage *qimage; -- QSize desktop_size = qApp->desktop()->size(); -+ QSize qteSize = qApp->desktop()->size(); -+ QSize fbSize; -+ QSize userSize; -+ int fb_xres; -+ int fb_yres; -+ struct fb_var_screeninfo vinfo; -+ struct fb_fix_screeninfo finfo; -+ int tmp_ioctl_data; -+ char fb_size_fix = ' '; -+ bool isW100patch_kernel = false; -+ int numFb_Size; -+ -+ int mapped_memlen; -+ int mapped_offset; -+ void *mapped_mem; -+ int fb_offset; -+ -+ -+ machine_t machine = QT_GetMachine(_this); -+ machine_spec_t machineSpec = st_machine_spec[machine]; -+ int qteRotation, userRotation, sdlRotation; -+ int qteKeyRotation, sdlKeyRotation; -+ bool isQteQvga; -+ -+ if (machine == MACHINE_SHARP_SLC700 || -+ machine == MACHINE_SHARP_SLC750 || -+ machine == MACHINE_SHARP_SLC760 || -+ machine == MACHINE_SHARP_SLC860 || // ¾Ü¤·¤¤¤³¤È¤ï¤«¤é¤ó¤±¤É¤È¤ê¤¢¤¨¤º -+ machine == MACHINE_SHARP_SL6000 ) { // ¾Ü¤·¤¤¤³¤È¤ï¤«¤é¤ó¤±¤É¤È¤ê¤¢¤¨¤º -+ is_VGA_machine = true; -+ }else { -+ is_VGA_machine = false; -+ } -+ -+ // qte ¤Ç¤Î²óž³ÑÅÙ¤ò¼èÆÀ -+ QT_GetQteServerSpec(_this, &qteRotation, &isQteQvga); -+ -+ // SL-C700 ¤Î¥¹¥¿¥¤¥ë -+ bool isInputStyle = false; -+ if (is_VGA_machine) { -+ int status = system("/home/QtPalmtop/bin/chkhinge"); -+ if (WEXITSTATUS(status) != 2) -+ isInputStyle = true; -+ LOG("QT_SetVideoMode: SL-C700 Style is %s\n", -+ isInputStyle ? "Input style" : "View style"); -+ } - - -- current->flags = 0; //SDL_FULLSCREEN; // We always run fullscreen. -+ // specity screen setting -+ if (is_VGA_machine) { -+ -+ // w100 rotation pached kernel check -+ isW100patch_kernel = (fopen("/proc/driver/w100/rotation","r") != NULL) ? true : false; -+ LOG("Your Kernel is %s\n",isW100patch_kernel ? "Special Kernel" : "Normal Kernel"); -+ -+ const char *envFb_Size = getenv("SDL_FB_SIZE"); -+ if (envFb_Size !=NULL) { -+ numFb_Size=sscanf(envFb_Size,"%dx%d%c",&fb_xres,&fb_yres,&fb_size_fix); -+ } else { -+ numFb_Size=0; -+ } - -- if(width <= desktop_size.width() -- && height <= desktop_size.height()) { -- current->w = desktop_size.width(); -- current->h = desktop_size.height(); -- } else if(width <= desktop_size.height() && height <= desktop_size.width()) { -- // Landscape mode -- char * envString = getenv(SDL_QT_ROTATION_ENV_NAME); -- int envValue = envString ? atoi(envString) : 0; -- screenRotation = envValue ? SDL_QT_ROTATION_270 : SDL_QT_ROTATION_90; -- current->h = desktop_size.width(); -- current->w = desktop_size.height(); -+ if (numFb_Size >=2) { -+ -+ // specity screen mode -+ if ( ioctl(console_fd, FBIOGET_VSCREENINFO, &vinfo) < 0 ) { -+ SDL_SetError("Couldn't get console pixel format"); -+ QT_VideoQuit(_this); -+ return(NULL); -+ } -+ -+ vinfo.xres = fb_xres; -+ vinfo.xres_virtual = fb_xres; -+ vinfo.yres = fb_yres; -+ vinfo.yres_virtual = fb_yres; -+ -+ if (fb_size_fix == '@') { -+ width = fb_xres; -+ height = fb_yres; -+ } -+ -+ if ( ioctl(console_fd, FBIOPUT_VSCREENINFO, &vinfo) < 0 ) { -+ SDL_SetError("Couldn't set console screen info"); -+ return(NULL); -+ } -+ -+ -+ if (isW100patch_kernel) { -+ qteSize.setWidth(vinfo.xres); -+ qteSize.setHeight(vinfo.yres); -+ qteRotation=0; -+ }else if(vinfo.xres == 320){ -+ qteSize.setWidth(vinfo.xres); -+ qteSize.setHeight(vinfo.yres); -+ qteRotation=2; -+ }else { -+ qteSize.setWidth(vinfo.yres); -+ qteSize.setHeight(vinfo.xres); -+ qteRotation=3; -+ } -+ -+ if (isW100patch_kernel && (vinfo.xres == 320) && (vinfo.yres == 240)) { -+ tmp_ioctl_data=121; -+ ioctl(console_fd, W100FB_CONFIG_EX, &tmp_ioctl_data); -+ fb_hwrot=1; -+ } -+ -+ LOG("FBVideoMode: %dx%d%c\n", vinfo.xres, vinfo.yres,fb_size_fix ); -+ -+ }else { -+ -+ // auto screen mode -+ if ( ioctl(console_fd, FBIOGET_VSCREENINFO, &vinfo) < 0 ) { -+ SDL_SetError("Couldn't get console pixel format"); -+ QT_VideoQuit(_this); -+ return(NULL); -+ } -+ -+ if (isW100patch_kernel && (isInputStyle == false) && (vinfo.xres == 240) && (vinfo.yres == 320)) { -+ vinfo.xres = 240; -+ vinfo.xres_virtual = 240; -+ vinfo.yres = 320; -+ vinfo.yres_virtual = 320; -+ qteRotation=0; -+ }else if ((width <= 320) && (height <= 240)) { -+ vinfo.xres = 320; -+ vinfo.xres_virtual = 320; -+ vinfo.yres = 240; -+ vinfo.yres_virtual = 240; -+ }else if (isW100patch_kernel && (isInputStyle == true)){ -+ vinfo.xres = 640; -+ vinfo.xres_virtual = 640; -+ vinfo.yres = 480; -+ vinfo.yres_virtual = 480; -+ qteRotation=0; -+ }else { -+ vinfo.xres = 480; -+ vinfo.xres_virtual = 480; -+ vinfo.yres = 640; -+ vinfo.yres_virtual = 640; -+ } -+ -+ if ( ioctl(console_fd, FBIOPUT_VSCREENINFO, &vinfo) < 0 ) { -+ SDL_SetError("Couldn't set console screen info"); -+ return(NULL); -+ } -+ -+ if (isW100patch_kernel) { -+ qteSize.setWidth(vinfo.xres); -+ qteSize.setHeight(vinfo.yres); -+ qteRotation=0; -+ fb_direct=1; -+ }else if(vinfo.xres == 320){ -+ qteSize.setWidth(vinfo.xres); -+ qteSize.setHeight(vinfo.yres); -+ qteRotation=2; -+ }else { -+ qteSize.setWidth(vinfo.yres); -+ qteSize.setHeight(vinfo.xres); -+ qteRotation=3; -+ } -+ -+ if (isW100patch_kernel && (vinfo.xres == 320) && (vinfo.yres == 240)) { -+ tmp_ioctl_data=121; -+ ioctl(console_fd, W100FB_CONFIG_EX, &tmp_ioctl_data); -+ fb_hwrot=1; -+ qteRotation=0; -+ } -+ -+ LOG("FBVideoMode: %dx%d%c\n", vinfo.xres, vinfo.yres,fb_size_fix ); -+ } -+ } -+ -+ // direct paint setting -+ const char *envFb_Direct = getenv("SDL_FB_DIRECT"); -+ if (envFb_Direct !=NULL) -+ fb_direct = envFb_Direct ? atoi(envFb_Direct) : -1; -+ -+ if (fb_direct == 1){ -+ if ( ioctl(console_fd, FBIOGET_FSCREENINFO, &finfo) < 0 ) { -+ SDL_SetError("Couldn't get console hardware info"); -+ QT_VideoQuit(_this); -+ return(NULL); -+ } -+ if ( ioctl(console_fd, FBIOGET_VSCREENINFO, &vinfo) < 0 ) { -+ SDL_SetError("Couldn't get console pixel format"); -+ QT_VideoQuit(_this); -+ return(NULL); -+ } -+ LOG("Direct paint mode\n"); -+ } -+ -+ // hack for SL-5500 -+ if (machine == MACHINE_SHARP_SL5500) -+ qteRotation = 3; -+ -+ // SL-B500 Íѥϥå¯(¤È¤ê¤¢¤¨¤º¡¢¤Í) -+ if (machine == MACHINE_SHARP_SLB500) -+ qteRotation = 3; -+ -+ // À¸¥Õ¥ì¡¼¥à¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤òÆÀ¤ë -+ if (qteRotation & 1) { -+ fbSize.setWidth(qteSize.height()); -+ fbSize.setHeight(qteSize.width()); -+ } else { -+ fbSize = qteSize; -+ } -+ -+ // -+ const char *envRotStr = getenv(SDL_QT_ROTATION_ENV_NAME); -+ userRotation = envRotStr ? atoi(envRotStr) : -1; -+ if ((userRotation >= 0 ? userRotation : qteRotation) & 1) { -+ userSize.setWidth(fbSize.height()); -+ userSize.setHeight(fbSize.width()); -+ } else { -+ userSize = fbSize; -+ } -+ -+ if (width <= userSize.width() && height <= userSize.height()) { -+ // ´Ä¶ÊÑ¿ô¤Ç²óž³ÑÅÙ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤ì¤òºÇÍ¥À褹¤ë -+ if (userRotation >= 0) -+ sdlRotation = userRotation; -+ else { -+ // ¤Ç¡¢¤½¤Î»ØÄ̵꤬¤¤¤Î¤Ç¤¢¤ì¤Ð qte ¤Î²óž³ÑÅ٤˹ç¤ï¤»¤ë¤À¤± -+ // ¤Ê¤ó¤À¤±¤É¡¢SL-C700 ¤Ç¤Ï¤Á¤ç¤¤Ê£»¨¡£ -+ if (is_VGA_machine && (fbSize.width() == 320) && (fbSize.height() == 240)) { -+ if (isInputStyle) -+ sdlRotation = 2; -+ else -+ sdlRotation = qteRotation; -+ } else { -+ sdlRotation = qteRotation; -+ } -+ } -+ } else if (width <= fbSize.width() && height <= fbSize.height()) { -+ sdlRotation = 0; -+ if (is_VGA_machine && (fbSize.width() == 320) && (fbSize.height() == 240) && isInputStyle) -+ sdlRotation = 2; -+ } else if (width <= fbSize.height() && height <= fbSize.width()) { -+ sdlRotation = 1; - } else { - SDL_SetError("Unsupported resolution, %dx%d\n", width, height); -+ return NULL; - } -+ -+ if (fb_hwrot == 1) -+ sdlRotation = 0; -+ -+ if (getenv(SDL_QT_INVERT_ROTATION_ENV_NAME) != NULL) { -+ sdlRotation = (sdlRotation + 2) & 3; -+ } -+ -+ LOG("QT_SetVideoMode: argSize=%dx%d\n", width, height); -+ LOG("QT_SetVideoMode: qteSize=%dx%d\n", -+ qteSize.width(), qteSize.height()); -+ LOG("QT_SetVideoMode: fbSize=%dx%d\n", -+ fbSize.width(), fbSize.height()); -+ LOG("QT_SetVideoMode: qteRotation=%d\n", qteRotation); -+ LOG("QT_SetVideoMode: userRotation=%d\n", userRotation); -+ LOG("QT_SetVideoMode: sdlRotation=%d\n", sdlRotation); -+ -+ current->flags = 0;//SDL_FULLSCREEN; // We always run fullscreen. -+ current->w = width; -+ current->h = height; -+ SDL_Win->setScreenRotation(sdlRotation, qteRotation); -+ SDL_Win->setFBSize(fbSize); -+ -+ if (machine == MACHINE_SHARP_SLA300) -+ SDL_Win->setSLA300InputFix(true); -+ -+ // keyboard rotation -+ qteKeyRotation = qteRotation; -+// fprintf(stderr, "%d\n", (machine == MACHINE_SHARP_SLC700)); -+// fprintf(stderr, "%d\n", isQteQvga); -+ if (isQteQvga && is_VGA_machine) -+ qteKeyRotation = 3; -+ else if (machine == MACHINE_SHARP_SLB500) -+ qteKeyRotation = 3; -+ -+ if (isQteQvga && fb_hwrot == 1) -+ qteKeyRotation = 1; -+ -+ sdlKeyRotation = sdlRotation; -+ -+ SDL_Win->setKeyRotation(sdlKeyRotation, qteKeyRotation); -+ -+ LOG("QT_SetVideoMode: qteKeyRotation=%d\n", qteKeyRotation); -+ LOG("QT_SetVideoMode: sdlKeyRotation=%d\n", sdlKeyRotation); -+ - if ( flags & SDL_OPENGL ) { - SDL_SetError("OpenGL not supported"); - return(NULL); -- } -+ } - /* Create the QImage framebuffer */ -- qimage = new QImage(current->w, current->h, bpp); -- if (qimage->isNull()) { -- SDL_SetError("Couldn't create screen bitmap"); -- delete qimage; -- return(NULL); -+ -+ // frame buffer memory mapping -+ if (fb_direct == 1) { -+ current->pitch = finfo.line_length; -+ current->flags = (SDL_FULLSCREEN|SDL_HWSURFACE); -+ mapped_offset = (((long)finfo.smem_start) - -+ (((long)finfo.smem_start)&~(PAGE_SIZE-1))); -+ mapped_memlen = finfo.smem_len+mapped_offset; -+ if(console_fd >0 ) { -+ mapped_mem = mmap(NULL, mapped_memlen,PROT_READ|PROT_WRITE, MAP_SHARED, console_fd, 0); -+ fb_offset=(vinfo.xres-width)+(vinfo.yres-height)*vinfo.xres; -+ current->pixels = (void *)((int )mapped_mem+fb_offset); -+ _this->UpdateRects = QT_DirectUpdate; -+ } else { -+ qimage = new QImage(current->w, current->h, bpp); -+ if (qimage->isNull()) { -+ SDL_SetError("Couldn't create screen bitmap"); -+ delete qimage; -+ return(NULL); -+ } -+ current->pixels = (void *)qimage->bits(); -+ _this->UpdateRects = QT_NormalUpdate; -+ SDL_Win->setImage(qimage); -+// SDL_Win->setFullscreen(true); //comment to non update taskbar -+ } -+ } else { -+ qimage = new QImage(current->w, current->h, bpp); -+ if (qimage->isNull()) { -+ SDL_SetError("Couldn't create screen bitmap"); -+ delete qimage; -+ return(NULL); -+ } -+ current->pitch = qimage->bytesPerLine(); -+ current->pixels = (void *)qimage->bits(); -+ _this->UpdateRects = QT_NormalUpdate; -+ SDL_Win->setImage(qimage); -+// SDL_Win->setFullscreen(true); //comment to non update taskbar -+ - } -- current->pitch = qimage->bytesPerLine(); -- current->pixels = (void *)qimage->bits(); -- SDL_Win->setImage(qimage); -- _this->UpdateRects = QT_NormalUpdate; -- SDL_Win->setFullscreen(true); -+ -+ -+ // fprintf(stderr,"QT_SetVideoMode() qImage:%dx%d %d\n", -+ // qimage->width(), qimage->height(), qimage->bytesPerLine()); - /* We're done */ - return(current); - } -@@ -361,13 +864,19 @@ - { - if(SDL_Win->lockScreen()) { - for(int i=0; i<numrects; ++i ) { -- QRect rect(rects[i].x, rects[i].y, -- rects[i].w, rects[i].h); -- SDL_Win->repaintRect(rect); -+ QRect rect(rects[i].x, rects[i].y, -+ rects[i].w, rects[i].h); -+ SDL_Win->repaintRect(rect); - } - SDL_Win->unlockScreen(); - } - } -+ -+ static void QT_DirectUpdate(_THIS, int numrects, SDL_Rect *rects) -+ { -+ -+ } -+ - /* Is the system palette settable? */ - int QT_SetColors(_THIS, int firstcolor, int ncolors, SDL_Color *colors) - { -@@ -383,10 +892,36 @@ - // -- David Hedbor - // delete SDL_Win; - // SDL_Win = 0; -+ -+ if ( console_fd > 0 ) { -+ /* Restore the original video mode and palette */ -+ if (fb_hwrot == 1) { -+ int tmp_ioctl_data=120; -+ ioctl(console_fd, W100FB_CONFIG_EX, &tmp_ioctl_data); -+ } -+ -+ ioctl(console_fd, FBIOPUT_VSCREENINFO, &saved_vinfo); -+ -+ /* We're all done with the framebuffer */ -+ close(console_fd); -+ console_fd = -1; -+ } -+ - _this->screen->pixels = NULL; - QT_GrabInput(_this, SDL_GRAB_OFF); -+/* -+ { -+ QCopEnvelope e("QPE/KeyHelper", "repeater(int)"); -+ e << 1; -+ } -+*/ -+ if (isKHloaded) -+ system("qcop QPE/KeyHelper \"reload()\""); //QcopEnvelope can't use. -+ - } - -+ -+ - static int QT_IconifyWindow(_THIS) { - SDL_Win->hide(); - -Index: SDL-1.2.7/src/video/fbcon/SDL_fbvideo.c -=================================================================== ---- SDL-1.2.7.orig/src/video/fbcon/SDL_fbvideo.c 2005-03-02 22:24:43.458491481 +0100 -+++ SDL-1.2.7/src/video/fbcon/SDL_fbvideo.c 2005-03-02 22:24:46.875008802 +0100 -@@ -51,7 +51,7 @@ - #include "SDL_fbmatrox.h" - #include "SDL_fbriva.h" - -- -+/* #define FBCON_DEBUG 1 */ - #if defined(i386) && defined(FB_TYPE_VGA_PLANES) - #define VGA16_FBCON_SUPPORT - #ifndef FB_AUX_VGA_PLANES_VGA4 -@@ -76,9 +76,11 @@ - { 0, 0, 720, 576 }, /* PAL */ - { 0, 0, 720, 480 }, /* NTSC */ - { 0, 0, 640, 480 }, /* 16 bpp: 0x111, or 273 */ -+ { 0, 0, 480, 640 }, - { 0, 0, 640, 400 }, /* 8 bpp: 0x100, or 256 */ - { 0, 0, 512, 384 }, - { 0, 0, 320, 240 }, -+ { 0, 0, 240, 320 }, - { 0, 0, 320, 200 } - }; - static const struct { -@@ -112,9 +114,11 @@ - */ - { 320, 200, 79440, 16, 16, 20, 4, 48, 1, 0, 2 }, /* 70 Hz */ - { 320, 240, 63492, 16, 16, 16, 4, 48, 2, 0, 2 }, /* 72 Hz */ -+ { 240, 320, 63492, 16, 16, 16, 4, 48, 3, 0, 2 }, /* 72 Hz */ - { 512, 384, 49603, 48, 16, 16, 1, 64, 3, 0, 0 }, /* 78 Hz */ - { 640, 400, 31746, 96, 32, 41, 1, 64, 3, 2, 0 }, /* 85 Hz */ - { 640, 480, 31746, 120, 16, 16, 1, 64, 3, 0, 0 }, /* 75 Hz */ -+ { 480, 640, 31746, 120, 16, 16, 1, 64, 4, 0, 0 }, /* 75 Hz */ - { 768, 576, 26101, 144, 16, 28, 6, 112, 4, 0, 0 }, /* 60 Hz */ - { 800, 600, 20000, 64, 56, 23, 37, 120, 6, 3, 0 }, /* 72 Hz */ - { 960, 720, 17686, 144, 24, 28, 8, 112, 4, 0, 0 }, /* 60 Hz */ -@@ -152,6 +156,10 @@ - struct fb_var_screeninfo *vinfo); - static void FB_RestorePalette(_THIS); - -+static char *console_fd_buf; -+static char *mapped_mem_fb; -+static int rotation_flag; -+ - /* FB driver bootstrap functions */ - - static int FB_Available(void) -@@ -241,18 +249,30 @@ - - mode_okay = 0; - vinfo->bits_per_pixel = (index+1)*8; -- vinfo->xres = *w; -- vinfo->xres_virtual = *w; -- vinfo->yres = *h; -- vinfo->yres_virtual = *h; -+ if ((rotation_flag == 0) || (rotation_flag == 2)) { -+ vinfo->xres = *w; -+ vinfo->xres_virtual = *w; -+ vinfo->yres = *h; -+ vinfo->yres_virtual = *h; -+ } else { -+ vinfo->xres = *h; -+ vinfo->xres_virtual = *h; -+ vinfo->yres = *w; -+ vinfo->yres_virtual = *w; -+ } - vinfo->activate = FB_ACTIVATE_TEST; - if ( ioctl(console_fd, FBIOPUT_VSCREENINFO, vinfo) == 0 ) { - #ifdef FBCON_DEBUG - fprintf(stderr, "Checked mode %dx%d at %d bpp, got mode %dx%d at %d bpp\n", *w, *h, (index+1)*8, vinfo->xres, vinfo->yres, vinfo->bits_per_pixel); - #endif - if ( (((vinfo->bits_per_pixel+7)/8)-1) == index ) { -- *w = vinfo->xres; -- *h = vinfo->yres; -+ if ((rotation_flag == 0) || (rotation_flag == 2)) { -+ *w = vinfo->xres; -+ *h = vinfo->yres; -+ } else { -+ *h = vinfo->xres; -+ *w = vinfo->yres; -+ } - mode_okay = 1; - } - } -@@ -332,6 +352,7 @@ - unsigned int current_w; - unsigned int current_h; - const char *SDL_fbdev; -+ const char *SDL_rot_flag; - - /* Initialize the library */ - SDL_fbdev = getenv("SDL_FBDEV"); -@@ -344,6 +365,14 @@ - return(-1); - } - -+ SDL_rot_flag = getenv("SDL_FBROT"); -+ if ( SDL_rot_flag == NULL ) { -+ rotation_flag = 0; -+ } else { -+ rotation_flag = atoi(SDL_rot_flag); -+ } -+ -+ - #ifndef DISABLE_THREADS - /* Create the hardware surface lock mutex */ - hw_lock = SDL_CreateMutex(); -@@ -407,13 +436,33 @@ - mapped_offset = (((long)finfo.smem_start) - - (((long)finfo.smem_start)&~(PAGE_SIZE-1))); - mapped_memlen = finfo.smem_len+mapped_offset; -- mapped_mem = mmap(NULL, mapped_memlen, -- PROT_READ|PROT_WRITE, MAP_SHARED, console_fd, 0); -- if ( mapped_mem == (char *)-1 ) { -- SDL_SetError("Unable to memory map the video hardware"); -- mapped_mem = NULL; -- FB_VideoQuit(this); -- return(-1); -+ if (rotation_flag == 0) { -+ mapped_mem = mmap(NULL, mapped_memlen, -+ PROT_READ|PROT_WRITE, MAP_SHARED, console_fd, 0); -+ if ( mapped_mem == (char *)-1 ) { -+ SDL_SetError("Unable to memory map the video hardware"); -+ mapped_mem = NULL; -+ FB_VideoQuit(this); -+ return(-1); -+ } -+ } else { -+ -+ console_fd_buf = (char *)malloc(640*480*2); -+ -+ if (console_fd_buf == NULL){ -+ SDL_SetError("Unable to memory for buffer"); -+ return(-1); -+ } -+ -+ mapped_mem_fb = mmap(NULL, mapped_memlen, -+ PROT_READ|PROT_WRITE, MAP_SHARED, console_fd, 0); -+ if ( mapped_mem_fb == (char *)-1 ) { -+ SDL_SetError("Unable to memory map the video hardware"); -+ mapped_mem_fb = NULL; -+ FB_VideoQuit(this); -+ return(-1); -+ } -+ mapped_mem = console_fd_buf; - } - - /* Determine the current screen depth */ -@@ -555,6 +604,7 @@ - - /* Various screen update functions available */ - static void FB_DirectUpdate(_THIS, int numrects, SDL_Rect *rects); -+static void FB_RotationUpdate(_THIS, int numrects, SDL_Rect *rects); - #ifdef VGA16_FBCON_SUPPORT - static void FB_VGA16Update(_THIS, int numrects, SDL_Rect *rects); - #endif -@@ -725,7 +775,7 @@ - Uint32 Bmask; - char *surfaces_mem; - int surfaces_len; -- -+ - /* Set the terminal into graphics mode */ - if ( FB_EnterGraphicsMode(this) < 0 ) { - return(NULL); -@@ -734,6 +784,8 @@ - /* Restore the original palette */ - FB_RestorePalette(this); - -+ flags &= ~SDL_DOUBLEBUF; -+ - /* Set the video mode and get the final screen format */ - if ( ioctl(console_fd, FBIOGET_VSCREENINFO, &vinfo) < 0 ) { - SDL_SetError("Couldn't get console screen info"); -@@ -748,13 +800,24 @@ - vinfo.activate = FB_ACTIVATE_NOW; - vinfo.accel_flags = 0; - vinfo.bits_per_pixel = bpp; -- vinfo.xres = width; -- vinfo.xres_virtual = width; -- vinfo.yres = height; -- if ( flags & SDL_DOUBLEBUF ) { -- vinfo.yres_virtual = height*2; -+ if ((rotation_flag == 0) || (rotation_flag == 2)) { -+ vinfo.xres = width; -+ vinfo.xres_virtual = width; -+ vinfo.yres = height; -+ if ( flags & SDL_DOUBLEBUF ) { -+ vinfo.yres_virtual = height*2; -+ } else { -+ vinfo.yres_virtual = height; -+ } - } else { -- vinfo.yres_virtual = height; -+ vinfo.xres = height; -+ vinfo.xres_virtual = height; -+ vinfo.yres = width; -+ if ( flags & SDL_DOUBLEBUF ) { -+ vinfo.yres_virtual = width*2; -+ } else { -+ vinfo.yres_virtual = width; -+ } - } - vinfo.xoffset = 0; - vinfo.yoffset = 0; -@@ -776,6 +839,15 @@ - return(NULL); - } - } -+ vinfo.xres = width; -+ vinfo.xres_virtual = width; -+ vinfo.yres = height; -+ if ( flags & SDL_DOUBLEBUF ) { -+ vinfo.yres_virtual = height*2; -+ } else { -+ vinfo.yres_virtual = height; -+ } -+ - } else { - int maxheight; - -@@ -821,7 +893,9 @@ - SDL_SetError("Couldn't get console hardware info"); - return(NULL); - } -- -+#ifdef FBCON_DEBUG -+ print_finfo(&finfo); -+#endif - /* Save hardware palette, if needed */ - FB_SavePalette(this, &finfo, &vinfo); - -@@ -829,7 +903,11 @@ - current->flags = (SDL_FULLSCREEN|SDL_HWSURFACE); - current->w = vinfo.xres; - current->h = vinfo.yres; -- current->pitch = finfo.line_length; -+ if ((rotation_flag == 0) || (rotation_flag == 2) ) { -+ current->pitch = finfo.line_length; -+ } else { -+ current->pitch = vinfo.xres*2; -+ } - current->pixels = mapped_mem+mapped_offset; - - /* Set up the information for hardware surfaces */ -@@ -863,7 +941,7 @@ - } - - /* Set the update rectangle function */ -- this->UpdateRects = FB_DirectUpdate; -+ this->UpdateRects = FB_RotationUpdate; - - /* We're done */ - return(current); -@@ -1123,6 +1201,89 @@ - return; - } - -+static void FB_RotationUpdate(_THIS, int numrects, SDL_Rect *rects) -+{ -+ unsigned short *pDst; -+ unsigned short *pSrc; -+ unsigned int width; -+ unsigned int height; -+ unsigned int srcYAdd; -+ unsigned int dstXAdd; -+ unsigned int dstYSub; -+ unsigned int i; -+ unsigned int dstH; -+ unsigned int dstW; -+ -+#ifdef FBCON_DEBUG -+ fprintf(stderr,"rotation_flag = %d \n",rotation_flag); -+#endif -+ switch (rotation_flag) { -+ case 0: -+ break; -+ case 1: -+ memcpy(mapped_mem_fb,mapped_mem,640*480*2); -+ break; -+ case 2: -+ memcpy(mapped_mem_fb,mapped_mem,640*480*2); -+ break; -+ case 3: -+ dstW=cache_vinfo.xres; -+ dstH=cache_vinfo.yres; -+#ifdef FBCON_DEBUG -+ fprintf(stderr,"dstH = %d : dstW = %d : rects->x = %d : rects->y = %d\n",dstH,dstW); -+ fprintf(stderr,"rects->x = %d : rects->y = %d : rects->w = %d : rects->h = %d\n",rects->x,rects->y,rects->w,rects->h); -+#endif -+ while (numrects) { -+ if (rects->w != dstW || rects->h != dstH) { -+ pSrc = mapped_mem + (rects->x + rects->y * dstW)*2; -+ pDst = mapped_mem_fb + (dstH-1+rects->x * dstH - rects->y)*2; -+ -+ width = rects->w; -+ height = rects->h; -+ -+ srcYAdd = dstW - rects->w; -+ dstXAdd = dstH; -+ dstYSub = (dstH * rects->w) + 1; -+ -+ while (height--) { -+ i = width; -+ while (i--) { -+ *pDst = *pSrc ++; -+ pDst += dstXAdd; -+ } -+ pSrc += srcYAdd; -+ pDst -= dstYSub; -+ } -+ -+ } else { -+ pDst=mapped_mem_fb+dstH*2-2; -+ pSrc=mapped_mem; -+ height=dstH; -+ width=dstW; -+ dstXAdd=height; -+ dstYSub=dstW*dstH+1; -+ -+ while (height--) { -+ i = width; -+ while (i--) { -+ *pDst = *pSrc ++; -+ pDst += dstXAdd; -+ } -+ pDst -= dstYSub; -+ } -+ } -+ numrects--; -+ rects++; -+ } -+ break; -+ default: -+ break; -+ } -+ -+ -+ -+} -+ - #ifdef VGA16_FBCON_SUPPORT - /* Code adapted with thanks from the XFree86 VGA16 driver! :) */ - #define writeGr(index, value) \ -Index: SDL-1.2.7/src/video/fbcon/SDL_fbevents.c -=================================================================== ---- SDL-1.2.7.orig/src/video/fbcon/SDL_fbevents.c 2005-03-02 22:24:43.458491481 +0100 -+++ SDL-1.2.7/src/video/fbcon/SDL_fbevents.c 2005-03-02 22:24:46.876008660 +0100 -@@ -60,7 +60,13 @@ - #ifndef GPM_NODE_FIFO - #define GPM_NODE_FIFO "/dev/gpmdata" - #endif -+#define POINTERCAL "/etc/pointercal" - -+static struct SDL_cal { -+ long ok; -+ long a, b, c, d, e, f, s; -+ long rotate; -+} cal = { 0 }; - - /* The translation tables from a console scancode to a SDL keysym */ - #define NUM_VGAKEYMAPS (1<<KG_CAPSSHIFT) -@@ -317,6 +323,7 @@ - MOUSE_MS, - MOUSE_BM, - MOUSE_ELO, -+ TS_SLC7X0, - NUM_MOUSE_DRVS - } mouse_drv = MOUSE_NONE; - -@@ -500,6 +507,9 @@ - mousedev = getenv("SDL_MOUSEDEV"); - mouse_fd = -1; - -+ const char *sdl_rot_flag; -+ sdl_rot_flag = getenv("SDL_FBROT"); -+ - /* ELO TOUCHSCREEN SUPPORT */ - - if( (mousedrv != NULL) && (strcmp(mousedrv, "ELO") == 0) ) { -@@ -601,9 +611,39 @@ - mouse_drv = MOUSE_MS; - } - } -+ /* Default to a SLC7X0 touch screen */ -+ if ( mouse_fd < 0 ) { -+ mousedev = "/dev/ts"; -+ mouse_fd = open(mousedev, O_RDONLY, 0); -+ if ( mouse_fd >= 0 ) { -+ FILE *pcal; -+ cal.ok = 0; -+ pcal = fopen(POINTERCAL, "r"); -+ if(pcal == NULL){ -+ fprintf(stderr, "Warning: cannot open " POINTERCAL ".\n"); -+ }else{ -+ int n; -+ n = fscanf(pcal, "%d %d %d %d %d %d %d", -+ &cal.a, &cal.b, &cal.c, &cal.d, &cal.e, &cal.f, &cal.s); -+ if(n != 7){ -+ fprintf(stderr, "Warning: " POINTERCAL " is unknown format.\n"); -+ }else{ -+ cal.ok = 1; -+ } -+ fclose(pcal); -+ } -+ if ( sdl_rot_flag == NULL ) { -+ cal.rotate = 0; -+ } else { -+ cal.rotate = atoi(sdl_rot_flag); -+ } -+ mouse_drv = TS_SLC7X0; -+ } -+ } - if ( mouse_fd < 0 ) { - mouse_drv = MOUSE_NONE; - } -+ - return(mouse_fd); - } - -@@ -678,6 +718,10 @@ - packetsize = ELO_PACKET_SIZE; - relative = 0; - break; -+ case TS_SLC7X0: -+ packetsize = 8; -+ relative = 0; -+ break; - case NUM_MOUSE_DRVS: - /* Uh oh.. */ - packetsize = 0; -@@ -810,6 +854,25 @@ - */ - - case MOUSE_ELO: -+ case TS_SLC7X0: -+ /* Get current mouse state */ -+ button = ((mousebuf[i+1] << 8)+mousebuf[i])/500; -+ dx = (mousebuf[i+3] << 8)+mousebuf[i+2]; -+ dy = (mousebuf[i+5] << 8)+mousebuf[i+4]; -+ if(cal.ok){ -+ long X, Y; -+ X = (cal.a * dx + cal.b * dy + cal.c) / cal.s; -+ Y = (cal.d * dx + cal.e * dy + cal.f) / cal.s; -+ dx = X; -+ dy = Y; -+ } -+ if(cal.rotate == 3){ -+ int tmp; -+ tmp=dx; -+ dx = dy; -+ dy = 480-tmp; -+ } -+ break; - case NUM_MOUSE_DRVS: - /* Uh oh.. */ - dx = 0; diff --git a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/fixlibs.patch b/packages/obsolete/libsdl/libsdl-qpe-1.2.7/fixlibs.patch deleted file mode 100644 index 899e31482c..0000000000 --- a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/fixlibs.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- SDL-1.2.7/configure.in~fixlibs 2005-10-06 10:27:59.025396872 +0200 -+++ SDL-1.2.7/configure.in 2005-10-06 10:30:16.963087411 +0200 -@@ -1508,8 +1508,8 @@ - AC_MSG_RESULT($video_qtopia) - if test x$video_qtopia = xyes; then - CFLAGS="$CFLAGS -DENABLE_QTOPIA -DQT_QWS_EBX -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG -fno-rtti -fno-exceptions" -- SDL_LIBS="$SDL_LIBS -L${QPEDIR}/lib -L${QTDIR}/lib/ -lqpe -lqte" -- SDL_CFLAGS="$SDL_CFLAGS -DQWS" -+ SDL_LIBS="$SDL_LIBS -Wl,-rpath-link -Wl,${QPEDIR}/lib -Wl,-rpath-link -Wl,${QTDIR}/lib" -+ SYSTEM_LIBS="$SYSTEM_LIBS -L${QPEDIR}/lib -L${QTDIR}/lib/ -lqpe -lqte" - VIDEO_SUBDIRS="$VIDEO_SUBDIRS qtopia" - VIDEO_DRIVERS="$VIDEO_DRIVERS qtopia/libvideo_qtopia.la" - else -@@ -1803,11 +1803,6 @@ - CheckPTHREAD - CheckSIGACTION - CheckAltivec -- # Set up files for the main() stub -- if test "x$video_qtopia" = "xyes"; then -- SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main" -- -- fi - # Set up files for the audio library - # We use the OSS and ALSA API's, not the Sun audio API - #if test x$enable_audio = xyes; then diff --git a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/gcc34.patch b/packages/obsolete/libsdl/libsdl-qpe-1.2.7/gcc34.patch deleted file mode 100644 index e3738e961e..0000000000 --- a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/gcc34.patch +++ /dev/null @@ -1,176 +0,0 @@ -diff -ru SDL-1.2.7/src/audio/SDL_mixer_MMX.c SDL-1.2.7.mod/src/audio/SDL_mixer_MMX.c ---- SDL-1.2.7/src/audio/SDL_mixer_MMX.c 2002-11-09 07:13:28.000000000 +0100 -+++ SDL-1.2.7.mod/src/audio/SDL_mixer_MMX.c 2004-04-25 18:15:46.335228624 +0200 -@@ -19,9 +19,9 @@ - " movl %1,%%esi\n" // esi = src - " movl %3,%%eax\n" // eax = volume - --" movl %2,%%ebx\n" // ebx = size -+" movl %2,%%edx\n" // edx = size - --" shrl $4,%%ebx\n" // process 16 bytes per iteration = 8 samples -+" shrl $4,%%edx\n" // process 16 bytes per iteration = 8 samples - - " jz .endS16\n" - -@@ -95,7 +95,7 @@ - - " addl $16,%%edi\n" - --" dec %%ebx\n" -+" dec %%edx\n" - - " jnz .mixloopS16\n" - -@@ -105,7 +105,7 @@ - : - : "m" (dst), "m"(src),"m"(size), - "m"(volume) -- : "eax","ebx", "esi", "edi","memory" -+ : "eax","edx", "esi", "edi","memory" - ); - } - -@@ -123,7 +123,7 @@ - " movl %1,%%esi\n" // esi = src - " movl %3,%%eax\n" // eax = volume - --" movd %%ebx,%%mm0\n" -+" movd %%edx,%%mm0\n" - " movq %%mm0,%%mm1\n" - " psllq $16,%%mm0\n" - " por %%mm1,%%mm0\n" -@@ -132,10 +132,10 @@ - " psllq $16,%%mm0\n" - " por %%mm1,%%mm0\n" - --" movl %2,%%ebx\n" // ebx = size --" shr $3,%%ebx\n" // process 8 bytes per iteration = 8 samples -+" movl %2,%%edx\n" // edx = size -+" shr $3,%%edx\n" // process 8 bytes per iteration = 8 samples - --" cmp $0,%%ebx\n" -+" cmp $0,%%edx\n" - " je .endS8\n" - - ".align 16\n" -@@ -169,7 +169,7 @@ - " movq %%mm3,(%%edi)\n" // store back to ram - " addl $8,%%edi\n" - --" dec %%ebx\n" -+" dec %%edx\n" - - " jnz .mixloopS8\n" - -@@ -178,7 +178,7 @@ - : - : "m" (dst), "m"(src),"m"(size), - "m"(volume) -- : "eax","ebx", "esi", "edi","memory" -+ : "eax","edx", "esi", "edi","memory" - ); - } - #endif -diff -ru SDL-1.2.7/src/cpuinfo/SDL_cpuinfo.c SDL-1.2.7.mod/src/cpuinfo/SDL_cpuinfo.c ---- SDL-1.2.7/src/cpuinfo/SDL_cpuinfo.c 2004-02-10 16:31:35.000000000 +0100 -+++ SDL-1.2.7.mod/src/cpuinfo/SDL_cpuinfo.c 2004-04-25 18:15:46.336228472 +0200 -@@ -118,7 +118,7 @@ - " movl %%edi,%%ebx\n" - : "=m" (features) - : -- : "%eax", "%ebx", "%ecx", "%edx", "%edi" -+ : "%eax", "%ecx", "%edx", "%edi" - ); - #elif defined(_MSC_VER) - __asm { -@@ -153,7 +153,7 @@ - " movl %%edi,%%ebx\n" - : "=m" (features) - : -- : "%eax", "%ebx", "%ecx", "%edx", "%edi" -+ : "%eax", "%ecx", "%edx", "%edi" - ); - #elif defined(_MSC_VER) - __asm { -diff -ru SDL-1.2.7/src/video/SDL_yuv_mmx.c SDL-1.2.7.mod/src/video/SDL_yuv_mmx.c ---- SDL-1.2.7/src/video/SDL_yuv_mmx.c 2004-02-18 18:22:04.000000000 +0100 -+++ SDL-1.2.7.mod/src/video/SDL_yuv_mmx.c 2004-04-25 18:15:46.337228320 +0200 -@@ -120,12 +120,12 @@ - "movd (%2), %%mm2\n" // 0 0 0 0 l3 l2 l1 l0 - "punpcklbw %%mm7,%%mm1\n" // 0 v3 0 v2 00 v1 00 v0 - "punpckldq %%mm1,%%mm1\n" // 00 v1 00 v0 00 v1 00 v0 -- "psubw _MMX_0080w,%%mm1\n" // mm1-128:r1 r1 r0 r0 r1 r1 r0 r0 -+ "psubw %[_MMX_0080w],%%mm1\n" // mm1-128:r1 r1 r0 r0 r1 r1 r0 r0 - - // create Cr_g (result in mm0) - "movq %%mm1,%%mm0\n" // r1 r1 r0 r0 r1 r1 r0 r0 -- "pmullw _MMX_VgrnRGB,%%mm0\n"// red*-46dec=0.7136*64 -- "pmullw _MMX_VredRGB,%%mm1\n"// red*89dec=1.4013*64 -+ "pmullw %[_MMX_VgrnRGB],%%mm0\n"// red*-46dec=0.7136*64 -+ "pmullw %[_MMX_VredRGB],%%mm1\n"// red*89dec=1.4013*64 - "psraw $6, %%mm0\n" // red=red/64 - "psraw $6, %%mm1\n" // red=red/64 - -@@ -134,8 +134,8 @@ - "movq (%2,%4),%%mm3\n" // 0 0 0 0 L3 L2 L1 L0 - "punpckldq %%mm3,%%mm2\n" // L3 L2 L1 L0 l3 l2 l1 l0 - "movq %%mm2,%%mm4\n" // L3 L2 L1 L0 l3 l2 l1 l0 -- "pand _MMX_FF00w,%%mm2\n" // L3 0 L1 0 l3 0 l1 0 -- "pand _MMX_00FFw,%%mm4\n" // 0 L2 0 L0 0 l2 0 l0 -+ "pand %[_MMX_FF00w],%%mm2\n" // L3 0 L1 0 l3 0 l1 0 -+ "pand %[_MMX_00FFw],%%mm4\n" // 0 L2 0 L0 0 l2 0 l0 - "psrlw $8,%%mm2\n" // 0 L3 0 L1 0 l3 0 l1 - - // create R (result in mm6) -@@ -152,11 +152,11 @@ - "movd (%1), %%mm1\n" // 0 0 0 0 u3 u2 u1 u0 - "punpcklbw %%mm7,%%mm1\n" // 0 u3 0 u2 00 u1 00 u0 - "punpckldq %%mm1,%%mm1\n" // 00 u1 00 u0 00 u1 00 u0 -- "psubw _MMX_0080w,%%mm1\n" // mm1-128:u1 u1 u0 u0 u1 u1 u0 u0 -+ "psubw %[_MMX_0080w],%%mm1\n" // mm1-128:u1 u1 u0 u0 u1 u1 u0 u0 - // create Cb_g (result in mm5) - "movq %%mm1,%%mm5\n" // u1 u1 u0 u0 u1 u1 u0 u0 -- "pmullw _MMX_UgrnRGB,%%mm5\n" // blue*-109dec=1.7129*64 -- "pmullw _MMX_UbluRGB,%%mm1\n" // blue*114dec=1.78125*64 -+ "pmullw %[_MMX_UgrnRGB],%%mm5\n" // blue*-109dec=1.7129*64 -+ "pmullw %[_MMX_UbluRGB],%%mm1\n" // blue*114dec=1.78125*64 - "psraw $6, %%mm5\n" // blue=red/64 - "psraw $6, %%mm1\n" // blue=blue/64 - -@@ -238,8 +238,14 @@ - "popl %%ebx\n" - : - : "m" (cr), "r"(cb),"r"(lum), -- "r"(row1),"r"(cols),"r"(row2),"m"(x),"m"(y),"m"(mod) -- : "%ebx" -+ "r"(row1),"r"(cols),"r"(row2),"m"(x),"m"(y),"m"(mod), -+ [_MMX_0080w] "m" (*_MMX_0080w), -+ [_MMX_00FFw] "m" (*_MMX_00FFw), -+ [_MMX_FF00w] "m" (*_MMX_FF00w), -+ [_MMX_VgrnRGB] "m" (*_MMX_VgrnRGB), -+ [_MMX_VredRGB] "m" (*_MMX_VredRGB), -+ [_MMX_UgrnRGB] "m" (*_MMX_UgrnRGB), -+ [_MMX_UbluRGB] "m" (*_MMX_UbluRGB) - ); - } - -@@ -413,8 +419,16 @@ - "popl %%ebx\n" - : - :"m" (cr), "r"(cb),"r"(lum), -- "r"(row1),"r"(cols),"r"(row2),"m"(x),"m"(y),"m"(mod) -- : "%ebx" -+ "r"(row1),"r"(cols),"r"(row2),"m"(x),"m"(y),"m"(mod), -+ [_MMX_0080w] "m" (*_MMX_0080w), -+ [_MMX_Ugrn565] "m" (*_MMX_Ugrn565), -+ [_MMX_Ublu5x5] "m" (*_MMX_Ublu5x5), -+ [_MMX_00FFw] "m" (*_MMX_00FFw), -+ [_MMX_Vgrn565] "m" (*_MMX_Vgrn565), -+ [_MMX_Vred5x5] "m" (*_MMX_Vred5x5), -+ [_MMX_Ycoeff] "m" (*_MMX_Ycoeff), -+ [_MMX_red565] "m" (*_MMX_red565), -+ [_MMX_grn565] "m" (*_MMX_grn565) - ); - } - diff --git a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/ipaq.patch b/packages/obsolete/libsdl/libsdl-qpe-1.2.7/ipaq.patch deleted file mode 100644 index bf57953c08..0000000000 --- a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/ipaq.patch +++ /dev/null @@ -1,143 +0,0 @@ -Index: SDL-1.2.7/src/video/qtopia/Makefile.am -=================================================================== ---- SDL-1.2.7.orig/src/video/qtopia/Makefile.am 2005-05-16 14:21:01.000000000 +0200 -+++ SDL-1.2.7/src/video/qtopia/Makefile.am 2005-05-16 14:24:02.000000000 +0200 -@@ -22,4 +22,4 @@ - # overwrite USER variables - CXXLD = $(CC) - CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -- $(AM_LDFLAGS) $(LDFLAGS) -lsupc++ -o $@ -+ $(AM_LDFLAGS) $(LDFLAGS) -lopiecore2 -lsupc++ -o $@ -Index: SDL-1.2.7/src/video/qtopia/SDL_QWin.cc -=================================================================== ---- SDL-1.2.7.orig/src/video/qtopia/SDL_QWin.cc 2005-05-16 14:21:01.000000000 +0200 -+++ SDL-1.2.7/src/video/qtopia/SDL_QWin.cc 2005-05-16 14:24:02.000000000 +0200 -@@ -29,8 +29,11 @@ - #include "SDL_QWin.h" - #include <qapplication.h> - #include <qpe/qpeapplication.h> -+#include <opie2/odevice.h> - #include <qdirectpainter_qws.h> - -+using namespace Opie::Core; -+ - extern int fb_hwrot; - extern int fb_direct; - extern bool is_VGA_machine; -@@ -545,18 +548,32 @@ - case Qt::Key_F7: scancode = SDLK_F7; break; - case Qt::Key_F8: scancode = SDLK_F8; break; - case Qt::Key_F9: -- scancode = SDLK_F9; -- mouse_button_mode=1; -+ if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) { -+ scancode = SDLK_y; } -+ else { -+ scancode = SDLK_F9; -+ mouse_button_mode=1; } - break; - case Qt::Key_F10: -- scancode = SDLK_F10; -- mouse_button_mode=2; -+ if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) { -+ scancode = SDLK_LALT; } -+ else { -+ scancode = SDLK_F10; -+ mouse_button_mode=2; } - break; - case Qt::Key_F11: scancode = SDLK_F11; break; -- case Qt::Key_F12: scancode = SDLK_F12; break; -+ case Qt::Key_F12: -+ if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) { -+ scancode = SDLK_RETURN; } -+ else { -+ scancode = SDLK_F12; } -+ break; - case Qt::Key_F13: -- scancode = SDLK_F13; -- mouse_button_mode=3; -+ if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) { -+ scancode = SDLK_ESCAPE; } -+ else { -+ scancode = SDLK_F13; -+ mouse_button_mode=3; } - break; - case Qt::Key_F14: scancode = SDLK_F14; break; - case Qt::Key_F15: scancode = SDLK_F15; break; -@@ -573,6 +590,9 @@ - scancode = SDLK_RETURN; - break; - -+ // To use record button on ipaq -+ case Qt::Key_F24: scancode = SDLK_LSHIFT; break; -+ - default: - scancode = SDLK_UNKNOWN; - break; -Index: SDL-1.2.7/src/video/qtopia/SDL_sysvideo.cc -=================================================================== ---- SDL-1.2.7.orig/src/video/qtopia/SDL_sysvideo.cc 2005-05-16 14:21:00.000000000 +0200 -+++ SDL-1.2.7/src/video/qtopia/SDL_sysvideo.cc 2005-05-16 14:24:02.000000000 +0200 -@@ -45,6 +45,7 @@ - #include <qapplication.h> - #include <qpe/qpeapplication.h> - #include <qpe/qcopenvelope_qws.h> -+#include <opie2/odevice.h> - #include <qgfx_qws.h> - #include <qwindowsystem_qws.h> - #include <qwidget.h> -@@ -66,6 +67,8 @@ - #include "SDL_syswm_c.h" - #include "SDL_lowvideo.h" - -+using namespace Opie::Core; -+ - //#define QTOPIA_DEBUG - #define QTOPIA_LOG - #define QT_HIDDEN_SIZE 32 /* starting hidden window size */ -@@ -106,6 +109,7 @@ - MACHINE_SHARP_SLC760, - MACHINE_SHARP_SLC860, - MACHINE_SHARP_SL6000, -+ MACHINE_IPAQ, - MACHINE_MAX - } machine_t; - -@@ -119,6 +123,7 @@ - { "Sharp", "SL-C760", 0 }, - { "Sharp", "SL-C860", 0 }, - { "Sharp", "SL-6000", 0 }, -+ { "HP", "HP IPAQ", 0 }, - }; - - /* Name of the environment variable used to invert the screen rotation or not: -@@ -423,6 +428,13 @@ - machine = MACHINE_SHARP_SLC760; - else if (strstr(buf, "SHARP Boxer") != NULL) - machine = MACHINE_SHARP_SLC860; -+ else if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) -+ machine = MACHINE_IPAQ; -+ else -+ { -+ machine = MACHINE_SHARP_SL5000D; -+ LOG("Can't detect machine defaulting to SL5000D"); -+ } - } - fclose(fp); - } else { -@@ -679,6 +691,15 @@ - if (machine == MACHINE_SHARP_SL5500) - qteRotation = 3; - -+ // HP IPaq -+ if ( ODevice::inst( )-> series ( ) == Model_iPAQ ) { -+ qteRotation = 3; -+ } -+ if ( ODevice::inst ( )-> model ( ) == Model_iPAQ_H38xx ) { -+ qteRotation = 1; -+ } -+ -+ - // SL-B500 Íѥϥå¯(¤È¤ê¤¢¤¨¤º¡¢¤Í) - if (machine == MACHINE_SHARP_SLB500) - qteRotation = 3; diff --git a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/kill-stdc++.patch b/packages/obsolete/libsdl/libsdl-qpe-1.2.7/kill-stdc++.patch deleted file mode 100644 index 9629583f9b..0000000000 --- a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/kill-stdc++.patch +++ /dev/null @@ -1,408 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - -Index: SDL-1.2.7/src/main/Makefile.am -=================================================================== ---- SDL-1.2.7.orig/src/main/Makefile.am 2005-03-02 22:24:52.592201093 +0100 -+++ SDL-1.2.7/src/main/Makefile.am 2005-03-02 22:24:56.658626603 +0100 -@@ -46,3 +46,9 @@ - (cd $(distdir) && rm -f $(BUILT_SOURCES)) - cp -rp $(ARCH_SUBDIRS) $(distdir) - (cd $(distdir) && rm -rf `find . -name CVS`) -+ -+# overwrite USER variables -+CXXLD = $(CC) -+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -+ $(AM_LDFLAGS) $(LDFLAGS) -lsupc++ -o $@ -+ -Index: SDL-1.2.7/src/video/qtopia/Makefile.am -=================================================================== ---- SDL-1.2.7.orig/src/video/qtopia/Makefile.am 2005-03-02 22:24:52.592201093 +0100 -+++ SDL-1.2.7/src/video/qtopia/Makefile.am 2005-03-02 22:24:56.658626603 +0100 -@@ -17,3 +17,9 @@ - SDL_sysevents.cc \ - SDL_sysevents_c.h \ - SDL_qmain.cc -+ -+ -+# overwrite USER variables -+CXXLD = $(CC) -+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ -+ $(AM_LDFLAGS) $(LDFLAGS) -lsupc++ -o $@ -Index: SDL-1.2.7/acinclude.m4 -=================================================================== ---- SDL-1.2.7.orig/acinclude.m4 2005-03-02 22:24:41.232805923 +0100 -+++ SDL-1.2.7/acinclude.m4 2005-03-02 22:24:56.667625332 +0100 -@@ -1305,11 +1305,11 @@ - case $host_os in - aix3*) - version_type=linux -- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' -+ library_names_spec='${libname}${release}${shrext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. -- soname_spec='${libname}${release}${shared_ext}$major' -+ soname_spec='${libname}${release}${shrext}$major' - ;; - - aix4* | aix5*) -@@ -1319,7 +1319,7 @@ - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 -- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' -+ library_names_spec='${libname}${release}${shrext}$major ${libname}${release}${shrext}$versuffix $libname${shrext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file -@@ -1345,12 +1345,12 @@ - # If using run time linking (on AIX 4.2 or later) use lib<name>.so - # instead of lib<name>.a to let people know that these are not - # typical AIX shared libraries. -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' -- soname_spec='${libname}${release}${shared_ext}$major' -+ soname_spec='${libname}${release}${shrext}$major' - fi - shlibpath_var=LIBPATH - fi -@@ -1363,7 +1363,7 @@ - ;; - - beos*) -- library_names_spec='${libname}${shared_ext}' -+ library_names_spec='${libname}${shrext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; -@@ -1371,8 +1371,8 @@ - bsdi4*) - version_type=linux - need_version=no -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' -+ soname_spec='${libname}${release}${shrext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" -@@ -1405,14 +1405,14 @@ - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' -- #soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -- soname_spec='`echo ${libname} | sed -e 's/^lib//'`${shared_ext}' -+ #soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shrext}' -+ soname_spec='`echo ${libname} | sed -e 's/^lib//'`${shrext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix -- #soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -- soname_spec='`echo ${libname} | sed -e 's/^lib//'`${shared_ext}' -+ #soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shrext}' -+ soname_spec='`echo ${libname} | sed -e 's/^lib//'`${shrext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by -@@ -1428,13 +1428,13 @@ - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' -- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' -+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shrext}' - ;; - esac - ;; - - *) -- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' -+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shrext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' -@@ -1450,8 +1450,8 @@ - # FIXME: Relying on posixy $() will cause problems for - # cross-compilation, but unfortunately the echo tests do not - # yet detect zsh echo's removal of \ escapes. -- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' -- soname_spec='${libname}${release}${major}$shared_ext' -+ library_names_spec='${libname}${release}${versuffix}$shrext ${libname}${release}${major}$shrext ${libname}$shrext' -+ soname_spec='${libname}${release}${major}$shrext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext='$(test .$module = .yes && echo .so || echo .dylib)' -@@ -1466,8 +1466,8 @@ - version_type=linux - need_lib_prefix=no - need_version=no -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname$shrext' -+ soname_spec='${libname}${release}${shrext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -@@ -1480,12 +1480,12 @@ - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext} $libname${shrext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) -- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' -+ library_names_spec='${libname}${release}${shrext}$versuffix $libname${shrext}$versuffix' - need_version=yes - ;; - esac -@@ -1509,8 +1509,8 @@ - version_type=linux - need_lib_prefix=no - need_version=no -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}${major} ${libname}${shrext}' -+ soname_spec='${libname}${release}${shrext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; -@@ -1528,8 +1528,8 @@ - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' -+ soname_spec='${libname}${release}${shrext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else -@@ -1543,8 +1543,8 @@ - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' -+ soname_spec='${libname}${release}${shrext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; -@@ -1553,8 +1553,8 @@ - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' -+ soname_spec='${libname}${release}${shrext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. -@@ -1573,8 +1573,8 @@ - esac - need_lib_prefix=no - need_version=no -- soname_spec='${libname}${release}${shared_ext}$major' -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' -+ soname_spec='${libname}${release}${shrext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major ${libname}${release}${shrext} $libname${shrext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= -@@ -1608,8 +1608,8 @@ - version_type=linux - need_lib_prefix=no - need_version=no -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' -+ soname_spec='${libname}${release}${shrext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no -@@ -1632,12 +1632,12 @@ - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${shrext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major ${libname}${release}${shrext} ${libname}${shrext}' -+ soname_spec='${libname}${release}${shrext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH -@@ -1647,7 +1647,7 @@ - - newsos6) - version_type=linux -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; -@@ -1656,8 +1656,8 @@ - version_type=linux - need_lib_prefix=no - need_version=no -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' -+ soname_spec='${libname}${release}${shrext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; -@@ -1666,7 +1666,7 @@ - version_type=sunos - need_lib_prefix=no - need_version=no -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${shrext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then -@@ -1687,7 +1687,7 @@ - libname_spec='$name' - shrext=".dll" - need_lib_prefix=no -- library_names_spec='$libname${shared_ext} $libname.a' -+ library_names_spec='$libname${shrext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; -@@ -1696,8 +1696,8 @@ - version_type=osf - need_lib_prefix=no - need_version=no -- soname_spec='${libname}${release}${shared_ext}$major' -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ soname_spec='${libname}${release}${shrext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" -@@ -1705,8 +1705,8 @@ - - sco3.2v5*) - version_type=osf -- soname_spec='${libname}${release}${shared_ext}$major' -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -+ soname_spec='${libname}${release}${shrext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' - shlibpath_var=LD_LIBRARY_PATH - ;; - -@@ -1714,8 +1714,8 @@ - version_type=linux - need_lib_prefix=no - need_version=no -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' -+ soname_spec='${libname}${release}${shrext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes -@@ -1725,7 +1725,7 @@ - - sunos4*) - version_type=sunos -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${shrext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes -@@ -1737,8 +1737,8 @@ - - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - version_type=linux -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' -+ soname_spec='${libname}${release}${shrext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) -@@ -1762,16 +1762,16 @@ - sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux -- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' -- soname_spec='$libname${shared_ext}.$major' -+ library_names_spec='$libname${shrext}.$versuffix $libname${shrext}.$major $libname${shrext}' -+ soname_spec='$libname${shrext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - - uts4*) - version_type=linux -- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -- soname_spec='${libname}${release}${shared_ext}$major' -+ library_names_spec='${libname}${release}${shrext}$versuffix ${libname}${release}${shrext}$major $libname${shrext}' -+ soname_spec='${libname}${release}${shrext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -@@ -3278,8 +3278,8 @@ - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. -- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' -- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' -+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shrext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' -+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shrext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. -@@ -3288,7 +3288,7 @@ - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. -- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' -+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shrext 2>&1 | grep "ld"`; rm -f libconftest$shrext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' -@@ -3367,7 +3367,7 @@ - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. -- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' -+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shrext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: -@@ -3427,7 +3427,7 @@ - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. -- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' -+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shrext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: -@@ -4376,7 +4376,7 @@ - # Whether we need a single -rpath flag with a separated argument. - hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) - --# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -+# Set to yes if using DIR/libNAME${shrext} during linking hardcodes DIR into the - # resulting binary. - hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) - diff --git a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/mouse.patch b/packages/obsolete/libsdl/libsdl-qpe-1.2.7/mouse.patch deleted file mode 100644 index 99320fad0d..0000000000 --- a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/mouse.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- ./src/video/qtopia/SDL_QWin.cc.old 2004-05-16 20:28:36.000000000 +0930 -+++ ./src/video/qtopia/SDL_QWin.cc 2004-05-16 20:31:39.000000000 +0930 -@@ -169,7 +169,12 @@ - Qt::ButtonState button = e->button(); - int sdlstate = 0; - if( (button & Qt::LeftButton)) { -- sdlstate |= SDL_BUTTON_LMASK; -+ if (mouse_button_mode == 3) -+ sdlstate |= SDL_BUTTON_RMASK; -+ else if (mouse_button_mode == 2) -+ sdlstate |= SDL_BUTTON_MMASK; -+ else -+ sdlstate |= SDL_BUTTON_LMASK; - } - if( (button & Qt::RightButton)) { - sdlstate |= SDL_BUTTON_RMASK; -@@ -539,20 +544,20 @@ - case Qt::Key_F6: scancode = SDLK_F6; break; - case Qt::Key_F7: scancode = SDLK_F7; break; - case Qt::Key_F8: scancode = SDLK_F8; break; -- case Qt::Key_F9: scancode = SDLK_F9; break; -- case Qt::Key_F10: -- scancode = SDLK_F10; -+ case Qt::Key_F9: -+ scancode = SDLK_F9; - mouse_button_mode=1; - break; -- case Qt::Key_F11: -- scancode = SDLK_F11; -- mouse_button_mode=3; -- break; -- case Qt::Key_F12: -- scancode = SDLK_F12; -+ case Qt::Key_F10: -+ scancode = SDLK_F10; - mouse_button_mode=2; - break; -- case Qt::Key_F13: scancode = SDLK_F13; break; -+ case Qt::Key_F11: scancode = SDLK_F11; break; -+ case Qt::Key_F12: scancode = SDLK_F12; break; -+ case Qt::Key_F13: -+ scancode = SDLK_F13; -+ mouse_button_mode=3; -+ break; - case Qt::Key_F14: scancode = SDLK_F14; break; - case Qt::Key_F15: scancode = SDLK_F15; break; - case Qt::Key_Super_L: scancode = SDLK_LSUPER; break; diff --git a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/pygame.patch b/packages/obsolete/libsdl/libsdl-qpe-1.2.7/pygame.patch deleted file mode 100644 index 4b39267a8a..0000000000 --- a/packages/obsolete/libsdl/libsdl-qpe-1.2.7/pygame.patch +++ /dev/null @@ -1,196 +0,0 @@ -Index: SDL-1.2.7/src/main/qtopia/SDL_qtopia_main.cc -=================================================================== ---- SDL-1.2.7.orig/src/main/qtopia/SDL_qtopia_main.cc 2003-12-14 07:25:53.000000000 +0100 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,47 +0,0 @@ -- --/* Include the SDL main definition header */ --#include "SDL_main.h" --#include <stdlib.h> --#include <unistd.h> --#ifdef main --#undef main --#endif --#ifdef QWS --#include <qpe/qpeapplication.h> --#include <qapplication.h> --#include <qpe/qpeapplication.h> --#include <stdlib.h> -- --// Workaround for OPIE to remove taskbar icon. Also fixes --// some issues in Qtopia where there are left-over qcop files in /tmp/. --// I'm guessing this will also clean up the taskbar in the Sharp version --// of Qtopia. --static inline void cleanupQCop() { -- QString appname(qApp->argv()[0]); -- int slash = appname.findRev("/"); -- if(slash != -1) { appname = appname.mid(slash+1); } -- QString cmd = QPEApplication::qpeDir() + "bin/qcop QPE/System 'closing(QString)' '"+appname+"'"; -- system(cmd.latin1()); -- cmd = "/tmp/qcop-msg-"+appname; -- unlink(cmd.latin1()); --} -- --static QPEApplication *app; --#endif -- --extern int SDL_main(int argc, char *argv[]); -- --int main(int argc, char *argv[]) --{ --#ifdef QWS -- // This initializes the Qtopia application. It needs to be done here -- // because it parses command line options. -- app = new QPEApplication(argc, argv); -- QWidget dummy; -- app->showMainWidget(&dummy); -- atexit(cleanupQCop); --#endif -- // Exit here because if return is used, the application -- // doesn't seem to quit correctly. -- exit(SDL_main(argc, argv)); --} -Index: SDL-1.2.7/src/video/qtopia/SDL_qmain.cc -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ SDL-1.2.7/src/video/qtopia/SDL_qmain.cc 2005-09-24 19:55:14.000000000 +0200 -@@ -0,0 +1,99 @@ -+/* Include the SDL main definition header */ -+#include "SDL_main.h" -+#include <stdlib.h> -+ -+#include <sys/types.h> -+#include <fcntl.h> -+#include <unistd.h> -+ -+ -+#ifdef QWS -+#include <qpe/qpeapplication.h> -+#include <stdlib.h> -+#include <string.h> -+ -+ -+ -+static QWidget *dummyW = 0; -+static QPEApplication *theApp = 0; -+static char **cmdline= 0; -+static int size = 0; -+ -+static void parse_cmd_line() { -+ /* -+ * find the number -+ */ -+ char buf[1024]; -+ int available = 0; -+ char *string_start = 0; -+ int fd = ::open( "/proc/self/cmdline", O_RDONLY ); -+ if ( fd < 0 ) { -+ qWarning( "Error getting the cmdline, can't be" ); -+ goto error_out; -+ } -+ -+ available = ::read( fd, &buf, sizeof(buf) ); -+ if ( available <= 0 ) -+ goto error_out; -+ -+ /* -+ * find out the number of arguments -+ */ -+ size = 0; -+ for (int i = 0; i < available; ++i ) -+ if ( buf[i] == '\0' ) -+ ++size; -+ -+ /* now create a the cmdline */ -+ cmdline = new char*[size+1]; -+ cmdline[size] = '\0'; // parnoid... -+ -+ string_start = &buf[0]; -+ for ( int i = 0; i < size; ++i ) { -+ /* -+ * find the end of the string -+ */ -+ size_t sz = ::strlen(string_start); -+ cmdline[i] = new char[sz+1]; -+ memcpy( cmdline[i], string_start, sz+1 ); -+ string_start += (sz+1); // +1 for '\0' +1 to set it beyond -+ } -+ -+ ::close(fd); -+ -+ return; -+ -+/* error code */ -+error_out: -+ cmdline = new char*[2]; -+ cmdline[0] = "unknown_app"; -+ cmdline[1] = '\0'; -+ size = 1; -+} -+ -+static void free_cmd_line() { -+ /* -+ * free each string and then free the array -+ */ -+ for ( int i = 0; i < size; ++i ) -+ delete [] cmdline[i]; -+ -+ delete [] cmdline; -+} -+ -+static void __attribute__((constructor)) initialize_qpe_app() { -+ parse_cmd_line(); -+ -+ theApp = new QPEApplication( size, cmdline ); -+ dummyW = new QWidget; -+ theApp->showMainWidget(dummyW); -+} -+ -+static void __attribute__((destructor)) deinitialize_qpe_app() { -+ free_cmd_line(); -+ delete dummyW; -+ delete theApp; -+} -+ -+ -+#endif -Index: SDL-1.2.7/src/main/Makefile.am -=================================================================== ---- SDL-1.2.7.orig/src/main/Makefile.am 2004-02-18 18:22:01.000000000 +0100 -+++ SDL-1.2.7/src/main/Makefile.am 2005-09-24 19:56:40.000000000 +0200 -@@ -21,11 +21,7 @@ - if TARGET_MACOSX - MAINLIB_ARCH_SRCS = macosx/SDLMain.m macosx/SDLMain.h - else --if TARGET_QTOPIA --MAINLIB_ARCH_SRCS = qtopia/SDL_qtopia_main.cc --else - MAINLIB_ARCH_SRCS = dummy/SDL_dummy_main.c --endif # !TARGET_QTOPIA - endif # !TARGET_MACOSX - endif # !TARGET_WIN32 - libSDLmain_a_SOURCES = $(MAINLIB_ARCH_SRCS) -Index: SDL-1.2.7/src/video/qtopia/Makefile.am -=================================================================== ---- SDL-1.2.7.orig/src/video/qtopia/Makefile.am 2002-05-28 21:24:11.000000000 +0200 -+++ SDL-1.2.7/src/video/qtopia/Makefile.am 2005-09-24 19:56:40.000000000 +0200 -@@ -15,4 +15,5 @@ - SDL_syswm.cc \ - SDL_syswm_c.h \ - SDL_sysevents.cc \ -- SDL_sysevents_c.h -+ SDL_sysevents_c.h \ -+ SDL_qmain.cc -Index: SDL-1.2.7/configure.in -=================================================================== ---- SDL-1.2.7.orig/configure.in 2004-02-22 22:31:47.000000000 +0100 -+++ SDL-1.2.7/configure.in 2005-09-24 19:58:30.000000000 +0200 -@@ -1806,7 +1806,7 @@ - # Set up files for the main() stub - if test "x$video_qtopia" = "xyes"; then - SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main" -- SDL_LIBS="-lSDLmain $SDL_LIBS" -+ - fi - # Set up files for the audio library - # We use the OSS and ALSA API's, not the Sun audio API |