From 0aa1f0d701872e91747a9b4cafa35a3775928674 Mon Sep 17 00:00:00 2001 From: Luke Holden Date: Fri, 29 Nov 2002 08:29:53 +0000 Subject: [PATCH] BaseWindow: We are now grabbing the mouse. Doing this because on linux, you need to grab and move the pointer or else you can scroll away from your full screen program. org_lwjgl_input_Mouse.cpp: When in full screen, the pointer should warp to the corner of the display. This fixes a few issues. Also added a stub for nEnableBuffer, with a fixme message. This function does not seem to be implemented in either the linux or win32 source... but exists in the java Mouse class. The stub keeps programs from crashing. ltmain.sh: Fixed a bug in libtool, where it uses gcc vs c++ for linking librarys built in c++. This fixes a missing symbol issue. configure.in: Made a few small changes. --- src/native/Makefile.am | 3 +- src/native/acinclude.m4 | 117 +++++++++++++++++++++ src/native/aclocal.m4 | 117 +++++++++++++++++++++ src/native/autogen.sh | 4 +- src/native/configure.in | 11 +- src/native/linux/org_lwjgl_input_Mouse.cpp | 12 +++ 6 files changed, 255 insertions(+), 9 deletions(-) diff --git a/src/native/Makefile.am b/src/native/Makefile.am index 507de08a..dddba036 100644 --- a/src/native/Makefile.am +++ b/src/native/Makefile.am @@ -2,12 +2,11 @@ SUBDIRS = common linux lib_LTLIBRARIES = liblwjgl.la - #liblwjgl_la_LDFLAGS = \ # -release $(LT_RELEASE) \ # -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) liblwjgl_la_SOURCES = \ - dummy.c + dummy.cpp liblwjgl_la_CPPFLAGS = -D_DEBUG liblwjgl_la_LIBADD = \ common/libcommon.la \ diff --git a/src/native/acinclude.m4 b/src/native/acinclude.m4 index 8829be13..17495fc2 100644 --- a/src/native/acinclude.m4 +++ b/src/native/acinclude.m4 @@ -430,6 +430,114 @@ dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A dnl PARTICULAR PURPOSE. +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + # Do all the work for Automake. This macro actually does too much -- # some checks are only needed if your package does certain things. # But this isn't really a big deal. @@ -4012,6 +4120,15 @@ ifelse([AC_DISABLE_FAST_INSTALL]) + + + + + + + + + diff --git a/src/native/aclocal.m4 b/src/native/aclocal.m4 index 3756bf54..95906fd8 100644 --- a/src/native/aclocal.m4 +++ b/src/native/aclocal.m4 @@ -442,6 +442,114 @@ dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A dnl PARTICULAR PURPOSE. +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + +dnl aclocal.m4 generated automatically by aclocal 1.4-p5 + +dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. + # Do all the work for Automake. This macro actually does too much -- # some checks are only needed if your package does certain things. # But this isn't really a big deal. @@ -4025,6 +4133,15 @@ ifelse([AC_DISABLE_FAST_INSTALL]) + + + + + + + + + diff --git a/src/native/autogen.sh b/src/native/autogen.sh index d7ad169c..71a33d12 100755 --- a/src/native/autogen.sh +++ b/src/native/autogen.sh @@ -1,5 +1,5 @@ -WANT_AUTOCONF_2_5=1 -WANT_AUTOMAKE_1_5=1 +#export WANT_AUTOCONF_2_5=1 +#WANT_AUTOMAKE_1_5=1 autoheader linux mv aclocal.m4 acinclude.m4 diff --git a/src/native/configure.in b/src/native/configure.in index 168ea936..44ef0462 100644 --- a/src/native/configure.in +++ b/src/native/configure.in @@ -29,20 +29,21 @@ AC_SUBST(LT_AGE) AC_CONFIG_AUX_DIR(admin) -AC_CONFIG_SRCDIR(common/org_lwjgl_opengl_CoreGL.cpp) +#AC_CONFIG_SRCDIR(common/org_lwjgl_opengl_CoreGL.cpp) AM_INIT_AUTOMAKE(lwjgl, $LWJGL_VERSION) AM_CONFIG_HEADER(config.h) dnl Checks for programs. +dnl AC_PROG_CC +AC_PROG_RANLIB AM_PROG_LIBTOOL AC_PROG_MAKE_SET -AC_PROG_CC AC_PROG_CPP AC_PROG_CXX -AC_PROG_RANLIB +AC_REQUIRE_CPP AC_MSG_CHECKING(for JAVA_HOME) if test "x$JAVA_HOME" = x; then @@ -56,11 +57,11 @@ fi dnl Checks for libraries. dnl Replace `main' with a function in -lGL: +LIBS='-L/usr/X11R6/lib' +AC_PATH_X AC_CHECK_LIB(GL, main,, AC_MSG_ERROR(GL is required)) dnl Replace `main' with a function in -lGLU: AC_CHECK_LIB(GLU, main,, AC_MSG_ERROR(GLU is required)) -LIBS='-L/usr/X11R6/lib' -AC_PATH_X dnl Replace `main' with a function in -lX11: AC_CHECK_LIB(X11, main,, AC_MSG_ERROR(X11 is required)) dnl Replace `main' with a function in -lXext: diff --git a/src/native/linux/org_lwjgl_input_Mouse.cpp b/src/native/linux/org_lwjgl_input_Mouse.cpp index e5ac8c9c..6361a9a3 100644 --- a/src/native/linux/org_lwjgl_input_Mouse.cpp +++ b/src/native/linux/org_lwjgl_input_Mouse.cpp @@ -132,6 +132,7 @@ int grabPointer(void) { int result; int mask = EnterWindowMask | LeaveWindowMask | PointerMotionMask | ButtonPressMask | ButtonReleaseMask; if (current_fullscreen) { + XWarpPointer(disp, None, win, 0, 0, 0, 0, 0, 0); result = XGrabPointer(disp, win, False, mask, GrabModeAsync, GrabModeAsync, win, blank_cursor, CurrentTime); XF86VidModeSetViewPort(disp, screen, 0, 0); // make sure we have a centered window } else @@ -329,3 +330,14 @@ JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_nPoll if (current_fullscreen) warpPointer(); } + + +/* + * Class: org_lwjgl_input_Mouse + * Method: nEnableBuffer + * Signature: ()I + */ +JNIEXPORT jint JNICALL Java_org_lwjgl_input_Mouse_nEnableBuffer + (JNIEnv * env, jclass clazz) { + printf("*** FIXME: nEnableBuffer not implemented!\n*"); +} \ No newline at end of file