Commit Graph

118 Commits

Author SHA1 Message Date
kappa1 b911005854 Display sync modified to allow it to be interrupted.
Thanks to bobjob for this, further thanks to MatthiasM for pointing out that the interrupt should not be swallowed.
2010-07-09 19:37:14 +00:00
Ioannis Tsakpinis 47c9991b41 Fixed ByteOrder of @Return ByteBuffers.
Cleaned up Drawable interface and introduced a reusable base implementation.
Added support for disabling runtime function checks, buffer checks and state tracking. Activated with -Dorg.lwjgl.util.NoChecks=true
2010-04-22 23:21:48 +00:00
Ioannis Tsakpinis e650319d5b Added support for a new Drawable type (SharedDrawable) that shares its context with another Drawable.
Added new methods to the Drawable interface (makeCurrent, releaseContext, destroy).
Added a background thread texture loading test (using either Pbuffer or SharedDrawable).
2010-04-20 18:21:05 +00:00
Ioannis Tsakpinis 3035e3c95c Moved processMessages call after swapBuffers in Display.update.
Added option to not call processMessages during Display.update.
2010-04-03 19:03:49 +00:00
Ioannis Tsakpinis 6998610cce Fixed mouse grabbing on secondary monitors.
Added extra device polling when vsync is enabled, to reduce input lag.
2010-03-31 23:56:24 +00:00
Ioannis Tsakpinis 7ef37e9858 Changed BaseReferences to use GL20.GL_MAX_TEXTURE_IMAGE_UNITS when available (GL13.GL_MAX_TEXTURE_UNITS is deprecated).
Catch and log OpenGL errors during context creation, instead of throwing an exception.
2010-02-10 11:22:16 +00:00
kappa1 2e07a03a4e added the Display.setInitialBackground(r,g,b) method, this will allow you to select the initial background color of the lwjgl Display window. Useful to create more polished applications and smoother looking applets. 2009-12-01 15:12:52 +00:00
Ioannis Tsakpinis f4eb23f860 Fixed Context init when using the debug library.
Removed glGetError call before buffer swapping.
2009-09-08 12:27:59 +00:00
Elias Naur 2f3fbf28de Added Display.setDisplayModeAndFullscreen(mode) to switch mode and set fullscreen in one call (idea stolen from MatthiasM). Tweaked FullScreenWindowedTest to use the new method. 2008-12-28 19:30:43 +00:00
Elias Naur 825e724904 Renamed DisplayMode.isFullscreen() to DisplayMode.isFullscreenCapable and made it public 2008-12-28 17:50:08 +00:00
Elias Naur ed1f8d70f4 Removed redundant fullscreen argument from DisplayImplementation.createWindow 2008-10-28 10:05:37 +00:00
Elias Naur 95a13203a1 Properly handle non-fullscreen DisplayModes 2008-10-02 08:10:47 +00:00
Elias Naur a7accb99a0 Added Display.getDesktopDisplayMode() 2008-10-02 07:34:22 +00:00
Ioannis Tsakpinis d7ee23f9b2 Added support for OpenGL 3.0 functionality
Added support for OpenGL 3.0 context creation (MAJOR/MINOR versions, DEBUG mode, FORWARD_COMBATIBLE mode)
Added support for OpenGL 3.0 context sharing
Added support for OpenGL 3.0 extension detection
Improved support for floating point PixelFormats (ARB_color_buffer_float)
Added support for packed floating point PixelFormats (EXT_packed_float)
Added support for sRGB PixelFormats (ARB_framebuffer_sRGB)
Added support for pseudo-FORWARD_COMBATIBLE mode (deprecated functions not loaded)
Added support for EXT_direct_state_access
2008-08-19 16:46:03 +00:00
Elias Naur d3b13b23dd Display.setIcon: Preserve icon buffer positions 2008-06-16 18:29:18 +00:00
Elias Naur 1071c31bc0 Removed dead code from Display 2008-05-30 07:08:14 +00:00
Elias Naur f18b5baa09 Removed Display.sync2 and Display.sync3 2008-05-30 06:53:33 +00:00
Elias Naur 37ab6afff2 Don't set icon when Display is parented 2008-04-13 18:26:22 +00:00
Elias Naur 9aefad3f09 Linux: Some DRI drivers don't like to have the context destroyed before the window, even though the context is not current anymore. The destroy ordering in Display.destroy is now flipped as a workaround 2008-04-13 18:11:38 +00:00
Elias Naur d8333fb279 Added line about tracking parent size to Display.setParent javadoc 2008-04-07 20:39:46 +00:00
Elias Naur 61a71ea912 Let the Display resize itself to match its parent, if non null 2008-04-07 19:21:40 +00:00
Brian Matzon bb16ec7492 updated and added license where needed 2008-04-07 18:36:09 +00:00
Elias Naur c499f33bcf Added experimental Display.setParent to allow Display to be embedded in an AWT Canvas. Added basic linux implementation and test. 2008-04-06 20:56:52 +00:00
Elias Naur abd3f75d6c Removed 2D OpenGL initialization code from Display. It messes with the implicit, but well-defined, opengl default state and doesn't fit well with multiple context types (gl3 and d3d) 2008-03-23 15:51:10 +00:00
Elias Naur 65309d759c Added notes to Mouse.poll() and Keyboard.poll() that Display.processMessages() (or Display.update()) must be called to receive new input state 2008-03-02 18:16:39 +00:00
Elias Naur 31669b02ec javdoc fixes 2008-01-21 22:15:12 +00:00
Elias Naur e9a3b7a556 Display: Removed display_impl.update() from isCloseRequested(), isVisible(), isDirty() and isActive() since it can be an expensive call on at least linux. Display.update() is now required to be called to update the internal state. 2008-01-21 20:21:21 +00:00
Elias Naur fa4bc30097 Only let Display.update() call display_impl.update() once 2008-01-19 09:53:14 +00:00
Elias Naur a9f9a38c4c Mac OS X: Release and clear the context from the drawable in the correct order 2007-08-30 18:27:12 +00:00
Elias Naur bc09bd11e3 Don't let Display.sync* sleep with the global lock held 2007-08-30 12:34:56 +00:00
Elias Naur 7e05654cd2 Made Display.timeNow local 2007-08-30 12:19:34 +00:00
Elias Naur 15cf41553c Don't allow switching to fullscreen when a custom display mode is in effect. This is a change from before, where the current mode was simply overwritten with the initial (desktop) mode 2007-08-16 08:55:06 +00:00
Elias Naur 03749c312c Revert 2872 2007-08-16 08:49:14 +00:00
Brian Matzon e809c1f7f0 fix: make sure that we return to the same display mode that was set in windowed mode when toggling between fullscreen and windowed mode 2007-08-15 20:14:29 +00:00
Elias Naur befe34e32d Removed unused, private Display.getContext() 2007-06-06 13:56:03 +00:00
Elias Naur 748c826af4 Display: Add GL error check after initial makeCurrent() (for real this time) 2007-05-27 13:09:48 +00:00
Elias Naur 1ccab9e810 Display: Add GL error check after initial makeCurrent() 2007-05-27 07:48:43 +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 6402783a9e Removed debug output 2007-04-24 13:41:31 +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
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 083137884b Remove the rest of the implementation reflection 2007-01-17 12:58:38 +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 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 7ca70d8c5e Display: Don't add the shutdown hook twice when a previous create() call has failed 2006-11-19 11:43:00 +00:00
Elias Naur 0a17002082 Don't register the Display shutdown hook in the static initializer. Register it at create() and remove it at destroy(). This avoids unnecessary conflicts when only using AWT stuff 2006-10-26 19:41:15 +00:00
Elias Naur ec9b449b78 Made Display.getImplementation package private, and made the input.* packages access it through reflection. 2006-10-08 09:05:16 +00:00
Elias Naur def08f06f8 Display.java: Moved Context creation to after createWindow to relax the requirement that the Display PeerInfo must be valid before createWindow(). This will help Windows get rid of a dummy window. 2006-09-19 13:41:18 +00:00
Elias Naur 4c9edffc85 Linux: Remove 32x32 icons size check, since other sizes seem to work alright. Document the fact that Display.setIcon use the icons from the icon array in order of decreasing preference 2006-07-22 21:30:31 +00:00
Elias Naur bb8dcf3996 Windows: Rename Win32* files to Windows* 2006-07-12 18:32:58 +00:00
Elias Naur 5a83c8de35 Reverted Display.getPrivilegedBoolean access modifier change - package private is alright 2006-07-02 22:45:56 +00:00
Brian Matzon a9edd6af6e made Display priveledged action private. Fixes a possible security exploit that would allow anyone to get a boolean from System properties *gasp* 2006-07-02 20:26:49 +00:00
Elias Naur aedb5ad912 Mac OS X: Fixed flickering caused by the new context handling in AWTGLCanvas 2006-06-07 06:35:52 +00:00
Elias Naur 684ee48641 Added Display.swapBuffers(). Combined with Display.processMessages() and Mouse/Keyboard/Controllers.poll() this method allows an application to create a custom policy for the rendering/polling loop in addition to the static Display.update() policy. 2006-05-03 20:53:16 +00:00
Caspian Rychlik-Prince 16524516cd Tidied up unused variables, added serialVersionUIDs as appropriate,
removed a few unnecessary casts and brackets and exceptions.
2006-04-21 11:11:21 +00:00
Caspian Rychlik-Prince 64f58414b4 *** empty log message *** 2006-01-16 21:04:49 +00:00
Elias Naur c9f35b917d Made Display.releaseContext static (duh) 2006-01-02 14:15:24 +00:00
Elias Naur 95bc8cc4e5 Fixed exception messages 2006-01-02 14:05:30 +00:00
Elias Naur 9ccb31416e Added Display.releaseContext() 2006-01-02 13:49:36 +00:00
Elias Naur 5faf661f04 Added setSwapInterval to Display and AWTGLCanvas 2006-01-01 19:50:06 +00:00
Elias Naur 2a9b8de2fb Make Display, Pbuffer and AWTGLCanvas fail on null PixelFormats 2005-12-29 22:31:46 +00:00
Elias Naur 6ea1739399 Make Display, Pbuffer and AWTGLCanvas fail on null PixelFormats 2005-12-29 22:30:14 +00:00
Brian Matzon 483d6bcf38 create windows with LWJGL logo
dont recache same icons
2005-10-21 18:53:21 +00:00
Brian Matzon eb795b9ecb caching of window icon 2005-07-16 11:15:37 +00:00
Kevin Glass 94e0bb30c0 Added methods to set the window icon. MacOS implementation added using AWT images. 2005-07-05 21:54:12 +00:00
Brian Matzon 105c859ed7 automatic polling via Display.update(); 2005-06-29 20:48:58 +00:00
Elias Naur 839306597b Check for null pixel format in Display.create 2005-06-16 20:59:55 +00:00
Elias Naur f1705b7fde Added AccessController.doPrivileged where needed 2005-05-30 16:21:05 +00:00
Elias Naur 9902110033 Removed update() from Display.createWindow() as it caused garbage to appear as the first frame. Added a black background brush t win32 window class 2005-05-06 09:40:36 +00:00
Caspian Rychlik-Prince 2d46f5580a Internal tweaks to allow certain display mode changes 2005-05-04 20:41:24 +00:00
Elias Naur 0e6c9aa0cd Added LWJGLUtil.getPlatform to encapsulate platform detection. Added FreeBSD as an alias to Linux. 2005-04-09 17:35:37 +00:00
Caspian Rychlik-Prince 24c3017d68 Replaced sync() with a method that works, based on sync2() and Thread.sleep(1) 2005-04-09 16:45:14 +00:00
Brian Matzon ad8d7676c2 moved Sys.log to LWJGLUtils and renamed property to org.lwjgl.util.Debug 2005-03-29 18:09:33 +00:00
Elias Naur 3085702a38 Mac OS X port of the refactoring. Linux and Win32 fixes. 2005-02-23 11:11:08 +00:00
Elias Naur fb5d89599b Linux support for AWTGLCanvas. Big refactor of context specific code into Context.java that is now shared between Display, Pbuffer and AWTGLCanvas. (Win32 and Mac OS X is now broken while I implement the same changes on those platforms) 2005-02-20 11:24:22 +00:00
Elias Naur 0612deb69f Fixed setDisplayMode 2005-02-04 12:00:24 +00:00
Elias Naur 250a87767f Removed Controller 2005-01-18 15:32:13 +00:00
Elias Naur 77bdce5ff7 Don't set the window location twice in Display.createWindow() 2005-01-14 12:29:19 +00:00
Elias Naur 02b883726b Removed redundant makeCurrent from Display.java 2005-01-14 09:39:22 +00:00
Elias Naur 859204c4a0 Don't make context current in DisplayImplementation.createWindow(), but let Display do it explicitly to increase native call granularity 2005-01-14 09:24:59 +00:00
Elias Naur 69bc20f3f5 Removed enableBuffer() and enableTranslation() from the public API. 2005-01-10 08:19:28 +00:00
Elias Naur 3a320a7cbf call setLocation _after_ window has been created 2005-01-06 14:22:25 +00:00
Brian Matzon abb1a97b3b respect display location 2004-12-27 21:38:50 +00:00
Elias Naur b84e98f8f6 Log ignored exception in Display.destroy() 2004-12-14 08:11:18 +00:00
Elias Naur 1e7a67673d Added initial mode debug output 2004-12-11 16:44:56 +00:00
Ioannis Tsakpinis 83dd8b6bbc Code cleanup 2004-11-25 22:31:38 +00:00
Caspian Rychlik-Prince 23b6e400eb Centres windowed mode now. 2004-11-22 21:12:51 +00:00
Caspian Rychlik-Prince 282ac78fc1 Fixed a fullscreen/displaymode setting bug 2004-11-22 13:42:28 +00:00
Caspian Rychlik-Prince 14b1199812 Reverted sync2 change 2004-11-07 17:26:45 +00:00
Caspian Rychlik-Prince 23791a0230 Adjusted sync2() to sync to FPS - 1, like sync() does. Now runs much smoother in Super Elvis. 2004-11-07 16:38:02 +00:00
Elias Naur 7ecf2516fb Only initialize Controller on win32 2004-11-03 13:58:06 +00:00
Elias Naur 0f95034fd3 Added Display.processMessages(), providing a hook to only process native events and not swap buffers or poll input 2004-11-02 18:15:39 +00:00
Elias Naur ddd61963ee Split out native implementation of Display/Mouse/Keyboard into implementers of DisplayImplementation 2004-11-02 12:48:58 +00:00
Elias Naur c51c3897b1 Don't reset the mode to the initial mode when a mode switch or window creation goes wrong 2004-11-01 23:13:30 +00:00
Elias Naur 8b691bbe78 Linux: reset/restore gamma settings on activate/deactivate 2004-09-22 19:25:16 +00:00
Brian Matzon da867ff28a support for setLocation 2004-09-15 17:07:06 +00:00
Brian Matzon 309ef6b06e fixed a gazillion imports 2004-08-20 06:26:19 +00:00
Elias Naur b88624e608 Add a public DisplayMode constructor 2004-08-09 11:55:48 +00:00
Elias Naur 8040e723c6 Removed all instances of synchronized, as we're not really multithread safe anyway. It is up to the user of LWJGL to synchronize access to LWJGL 2004-07-29 15:45:45 +00:00
Elias Naur 72afa14aa3 Converted *.allocateDirect to BufferUtils 2004-07-29 11:41:11 +00:00