Commit graph

1422 commits

Author SHA1 Message Date
Elias Naur 1ccab9e810 Display: Add GL error check after initial makeCurrent() 2007-05-27 07:48:43 +00:00
Elias Naur 42e75bb619 Windows: Check for gl errors after setting swap interval 2007-05-27 05:19:19 +00:00
Elias Naur 59a3176ace Implemented proper buffer reference retaining for complicated functions like glVertexAttribPointer and glTexCoordPointer. Patch by MatthiasM. 2007-05-22 22:30:21 +00:00
Brian Matzon 79a394c749 reordered context destruction - fixing some invalidation issues 2007-05-20 17:47:33 +00:00
Brian Matzon fc845268e6 remove context from the devices list of context on context destroy 2007-05-19 20:47:53 +00:00
Brian Matzon 4ec5e9994f moved invalidation into sycnhronized block 2007-05-19 20:40:04 +00:00
Brian Matzon 325ad04c7e dont compare validity on equals 2007-05-19 20:39:50 +00:00
Brian Matzon d0956ea179 fixed address checking issue
fixed issue with ALC error checking not taking a device into account
now tracking device and context create and destroy
made the create with open default device option public
misc cleaning up and commenting
2007-05-19 19:37:57 +00:00
Elias Naur e4745f5728 Linux: Removed GCJ workaround since current GCJ versions support re-entrant AWT locking 2007-05-18 07:15:35 +00:00
Elias Naur fc759e6192 Implemented Keyboard.enableRepeatEvents(), Keyboard.areRepeatEventsEnabled() and Keyboard.isEventRepeat() to control repeat event reporting. Added repeat key test to KeyboardTest 2007-05-13 22:01:48 +00:00
Elias Naur eef220a10f Use event timestamp to detect key repeat events in KeyboardEventQueue 2007-05-13 21:11:53 +00:00
Elias Naur b5e6d79ea9 use timestamp matching hack to detect key repeat events instead of globally disabling keyboard repeating 2007-05-13 20:13:37 +00:00
Elias Naur 691f471f7d AppletTest: Destroy AWTInputAdapter on destroy() 2007-05-01 18:13:29 +00:00
Elias Naur c025a7c70f Re-implemented VBO buffer binding caches to speed up gl*Pointer calls. Patch by MatthiasM. 2007-04-29 20:22:25 +00:00
Elias Naur a4b67705a0 Removed Util.glGetInteger convenience method since it is not thread safe 2007-04-29 19:38:04 +00:00
Elias Naur ef37c0e897 Make sure the swap interval is reset in Display when switching Display modes and toggling fullscreen 2007-04-28 20:10:21 +00:00
Elias Naur 71e62fa844 Added output of character code value to KeyboardTest 2007-04-26 06:55:55 +00:00
Elias Naur 649822f65b Windows: Use TranslateMessage and WM_CHAR to receive character input instead of manual translation. This change fixes composed characters. 2007-04-24 14:41:17 +00:00
Elias Naur 010d6582c7 Windows: Call default handler on key events 2007-04-24 14:13:42 +00:00
Elias Naur 6402783a9e Removed debug output 2007-04-24 13:41:31 +00:00
Elias Naur 13cec51058 Windows: Convert WindowsKeyboard to use windows messages instead of DirectInput. 2007-04-24 13:40:13 +00:00
Elias Naur b44fff716f Compile fix 2007-04-24 13:22:35 +00:00
Elias Naur 23701fdf75 Windows: Remove dependency on DirectInput for WindowsMouse used by WindowsDisplay. Keyboard conversion coming up. Reasons:
1. DirectInput is deprecated (http://en.wikipedia.org/wiki/DirectInput). Specifically, Microsoft recommends using regular windows messages for keyboard and mouse input.
2. Not using DirectInput enable us to use the Raw Input JInput plugin to access multiple mice (and keyboards).
3. We're already using windows messages for features DirectInput never supported, so by removing DirectInput dependency, we get rid of some special case code.
4. When we're only using windows messages for input, we're (theoretically) more compatible than with a dependency on a properly working DirectInput.
2007-04-24 09:30:03 +00:00
Elias Naur b386d2185b Added support for non-direct in glGet* style functions 2007-04-23 20:17:42 +00:00
Elias Naur 7ee398fe4e Added support for non-direct buffers to Cursor 2007-04-23 16:47:25 +00:00
Elias Naur 31aa4355ca Inline optimizations to state trackers by MatthiasM 2007-04-22 21:29:28 +00:00
Brian Matzon fdb0d2cd1d re-enabled missing ALC error check 2007-04-19 22:54:25 +00:00
Brian Matzon 69f24e8f23 output capture devices 2007-04-19 22:44:07 +00:00
Brian Matzon f7d2966370 remove debug 2007-04-19 22:43:38 +00:00
Brian Matzon 1d920fb4ef updated to ALC10 instead of ALC 2007-04-19 22:26:19 +00:00
Brian Matzon d16d77f30d updated to ALC10 instead of ALC 2007-04-19 22:25:47 +00:00
Brian Matzon a6ce837564 openal 1.1 2007-04-19 22:25:13 +00:00
Brian Matzon 23ad78416f exposing context and device
updated to ALC10 instead of ALC
removed getImplementations - alcGetString now works as "expected"
2007-04-19 22:24:36 +00:00
Brian Matzon 3b5064f229 updated to ALC10 instead of ALC 2007-04-19 22:23:40 +00:00
Brian Matzon 54eefcb876 exposing context and device 2007-04-19 22:23:20 +00:00
Brian Matzon 2481ce4356 updated to ALC10 instead of ALC 2007-04-19 22:23:04 +00:00
Brian Matzon 9d67fe978c Capture test for OpenAL 1.1 2007-04-19 22:22:18 +00:00
Elias Naur e6b9cb1a90 Cut VBO/PBO sanity checks from two to one glGetInteger call by exploiting GL enum value aliasing (once again inspired by MatthiasM). Additionally, support PBO calls added in OpenGL 2.1. 2007-04-19 07:42:01 +00:00
Elias Naur d9373a798a Move null parameter checks from check classes to the generated classes, since calculateImageSize assumes the buffer being non-null 2007-04-15 19:43:35 +00:00
Elias Naur ca35f3b2b4 Don't add border when checking image sizes 2007-04-15 19:33:03 +00:00
Brian Matzon 5d15006837 1.1 version string 2007-04-11 20:32:12 +00:00
Elias Naur 7c6511cf66 Added support for non-direct buffers for all functions that doesn't cache the buffer address at the native side (e.g. glVertexPointer). Reasons:
1. We can now support calls like "glLight(..., ..., FloatBuffer.wrap(new float[] {...}));" without worrying about running out of direct memory heap, 
since both the FloatBuffer and the array are allocated on the java heap. Future JVMs with stack allocation support could improve this even further.
2. We avoid getting in the way of users that doesn't (yet) know why direct buffers are important.

Obviously, we'd like direct support for arrays, but non-direct buffers are a nice compromise that avoids the API bloat that results when almost all 
functions gain an overloaded versions that take arrays instead of buffers.

Notes:

1. Non-direct buffer support should not affect the performance in the direct buffer case, since the non-direct buffer code path is only activated 
when the isDirect() check fails, and we were already checking isDirect() for sanity checking.
2. When using non-direct buffers, the buffer contents (remaining() bytes) are copied to a resizable ThreadLocal cached direct buffer (which is 
resized as needed) and used instead of the non-direct buffer. Thus, performance of non-direct buffers is lower than direct buffers.
2007-04-11 17:30:13 +00:00
Elias Naur 5a2c33423a Moved null check from generated code to BufferChecks and removed unused buffer checks 2007-04-11 16:13:05 +00:00
Brian Matzon 2b8f56021f 1.0.1 version string 2007-04-07 19:10:22 +00:00
Elias Naur 3899e6828f Windows: Correct testing of wParam when a WM_SYSCOMMAND is received 2007-03-30 19:35:37 +00:00
Elias Naur 360a9a0827 WindowsRegistry: Make sure the native library is loaded by calling Sys.initialize() 2007-03-22 14:05:41 +00:00
Elias Naur d6207572c6 Added a Pbuffer constructor that omits the RenderTexture parameter, and added a note that FBOs should be used instead, if available. Render-to-texture pbuffers can only be available on Windows platforms and is thus not portable. 2007-02-24 18:41:41 +00:00
Elias Naur 4bf4a385f3 Linux: When creating a window don't loop waiting for the MapNotify event. Instead, make sure we don't immediately go from fullscreen to minimized by checking if the window has been focused at least once before minimizing (and resetting display mode). 2007-02-23 10:14:18 +00:00
Elias Naur 56178d97fd Make the rest of LWJGL thread safe. No attempt have been done to make the locking minimal. Instead, one global lock is shared by Display, Mouse, Keyboard and Cursor. The lock surrounds all public methods. 2007-02-12 12:18:26 +00:00
Brian Matzon c880c689ff fixed test to use -1 in freq 2007-02-04 21:46:29 +00:00
Brian Matzon 79a8cf82bd 1.0 version string 2007-02-03 12:22:25 +00:00
Elias Naur 763d9cce7c Linux: Make sure the first Mouse.poll() return correct absolute X and Y values 2007-01-31 14:07:20 +00:00
Elias Naur 46ce5679c8 Windows AWTInput: Make sure the cursor is contained within the window when the Mouse is grabbed. 2007-01-30 13:08:51 +00:00
Brian Matzon e8d032973f updated streams 2007-01-23 19:55:46 +00:00
Elias Naur 1602a74f42 Tweaked comment for Display.getAvailableDisplayModes to make it clear that invalid modes can be returned and that create() won't always detect such modes 2007-01-22 10:14:13 +00:00
Elias Naur 5d13607699 Changed version to RC2 2007-01-22 09:24:06 +00:00
Elias Naur 083137884b Remove the rest of the implementation reflection 2007-01-17 12:58:38 +00:00
Elias Naur 7742185e34 Sys.java: Don't use reflection to create platform specific implementations 2007-01-17 12:49:20 +00:00
Elias Naur 4a1b565c74 Bumped native version because of internal linux API change 2007-01-17 08:22:31 +00:00
Elias Naur 4b13bb10d3 Linux: Fixed wrong return type in LinuxEvent.nGetKeyAddress 2007-01-17 08:16:16 +00:00
Elias Naur 7adffdb0cc Display: Fixed a NPE when create() fails on context creation 2007-01-13 19:24:05 +00:00
Elias Naur 31079a10c1 AWTInput: Don't create the Robot before it is needed 2007-01-10 13:55:42 +00:00
Brian Matzon 00db5fcb85 added Display.create/destroy. Fixes an error on mac, since OpenGL has to be initialized before creating ILUT 2007-01-07 20:41:45 +00:00
Brian Matzon 48fe0910a1 osx cursor animation emulation enabled 2007-01-04 23:28:33 +00:00
Elias Naur b7b203d29a Windows: Clear the window with OpenGL to replace UpdateWindow(HWND) and run message loop once in Display.create(). 2007-01-04 14:12:36 +00:00
Elias Naur 97db4ca4b2 Windows: Don't use UpdateWindow after all. Instead, don't use a background brush at all to avoid windows clearing windows with non OpenGL drawing commands. Hopefully this will improve compatibility (The NeHe tutorials also don't specify a background brush). 2007-01-04 14:00:45 +00:00
Elias Naur 0234336feb Windows: Re-add UpdateWindow to make sure fullscreen windows are cleared faster 2007-01-04 13:44:23 +00:00
Elias Naur 1bc9ac0aad AWTGLCanvas: Release the lock before calling exceptionOccurred 2007-01-03 09:16:13 +00:00
Elias Naur 1005813acc AWTGLCanvas: Added exceptionOccurred to allow users to be notified of unhandled LWJGLExceptions in paint() 2007-01-03 09:13:38 +00:00
Brian Matzon de0a724da7 use precalculated widths and heights, else we crash in cursor constructor because of buffer underflow 2007-01-02 19:02:25 +00:00
Elias Naur ede23fc9a3 HWCursorTest: Cap cursor size 2007-01-02 11:12:37 +00:00
Elias Naur 861421e16c Fix HWCursorTest 2007-01-02 11:09:05 +00:00
Elias Naur 662e9c7e7a Mac OS X: Add support for fake cursor animation 2007-01-02 10:55:44 +00:00
Elias Naur d4ea142f89 Windows: Make window visible after pixel format selection and move code from native WindowsDisplay.nCreate to java side. 2006-12-22 10:45:39 +00:00
Elias Naur 175ac13445 Fix VBO tests and bump Sys native JNI library version 2006-12-20 19:24:25 +00:00
Elias Naur 116a603572 Add GLChecks support methods for GL15 and ARB_buffer_object 2006-12-20 19:22:33 +00:00
Elias Naur eaed716958 Generator: Support arbitrary @AutoResultSize expressions. Make Buffer result sizes long instead of int 2006-12-20 19:19:56 +00:00
Brian Matzon 69e52d3361 1.0-rc1 version string 2006-12-18 18:27:15 +00:00
Brian Matzon 891902e4d6 version screw-up 2006-12-12 21:44:46 +00:00
Brian Matzon 1011b614e5 added getVersion like lwjgl
bumped native version
2006-12-12 21:30:58 +00:00
Brian Matzon fcb1f55eb9 fixed comment for getVersion 2006-12-12 21:30:21 +00:00
Brian Matzon dd5ac45a66 added getVersion like lwjgl 2006-12-12 21:29:08 +00:00
Elias Naur 66466b6d39 Bumped Sys.JNI_VERSION because of earlier OpenGL function changes 2006-12-06 14:01:29 +00:00
Elias Naur 93eabcf999 Generator: Make sure that @GLvoid types result in proper address calculations at the native side, even though the parameter java type is not java.nio.Buffer 2006-11-27 23:01:01 +00:00
Elias Naur 9709e6da2b Remove GL.java and GLImpl.java as they're not updated automatically anyway 2006-11-27 22:45:28 +00:00
Elias Naur f7b0c5c1b2 Linux: Tweak LinuxAWTInput 2006-11-24 15:30:36 +00:00
Elias Naur c6ba2c66b1 Windows: Make sure that the cursor position doesn't jump when switching grab mode 2006-11-24 15:21:02 +00:00
Elias Naur 92b3a7d282 Windows: Fix potential NPE 2006-11-24 15:10:15 +00:00
Elias Naur 4c817d4145 Compile fix 2006-11-24 15:03:05 +00:00
Elias Naur 63532ca647 Make sure that the cursor position doesn't jump when switching grab mode 2006-11-24 14:53:01 +00:00
Elias Naur 57a8067a88 Fix locking in MouseEventQueue 2006-11-24 12:05:46 +00:00
Elias Naur 2577827e4a Synchronize Keyboard and Mouse to avoid problems with AWTInputAdapter based usage 2006-11-24 10:18:36 +00:00
Elias Naur 6abfeb4df2 Made LWJGLUtil.getLibraryPaths support multiple library names. Now AL.create on linux tries both libopenal.so and libopenal.so.0, which is the name of the system library 2006-11-20 20:07:29 +00:00
Elias Naur f62f11b437 Made LWJGLUtil.getPathFromClassLoader private 2006-11-20 19:28:50 +00:00
Elias Naur 287861ec89 Windows: Dont use DirectInput for keyboard input. This fixes shifted typing. 2006-11-20 09:26:44 +00:00
Elias Naur 993885b9de Added AWTInputAdapter testing to applet/OpenGL.java 2006-11-20 08:39:22 +00:00
Elias Naur 6bac5f8bfa Windows: Destroy the keyboard when we create a new one 2006-11-20 08:14:50 +00:00
Elias Naur 34e5ce2080 Twekaed tests 2006-11-20 08:04:56 +00:00
Elias Naur d75d00666a Windows: Make sure AWTInputAdapter is not reporting events twice after a grab change 2006-11-19 23:02:25 +00:00
Elias Naur f56ebc21a9 AWTInputAdapter: Destroy Keyboard/Mouse before destroying the adapter 2006-11-19 21:49:10 +00:00