Commit Graph

141 Commits

Author SHA1 Message Date
kappaOne eb2e7176b8 Add new LWJGL API Display.getPixelScaleFactor() for use in high DPI
modes, like HiDPI retina mode on OS X.
2013-11-11 23:12:51 +00:00
kappaOne 98f8bddce3 Implement 8 bit Icon transparency support on Linux, now using the modern
_NET_WM_ICON method to set the icon, removed legacy
method and associated code.
2013-11-09 19:47:32 +00:00
kappaOne 5fb66cce46 Make the WM_CLASS implementation more flexible by giving users
an option to set it manually by VM parameter or system property
2013-10-27 15:07:07 +00:00
kappa1 e5ebf82c81 Added the new public API's Display.getX() and Display.getY(). Currently implemented for Linux and Mac. Windows implementation pending. 2012-02-18 16:30:38 +00:00
kappa1 839db549a9 Implement the ability for the native Display window on Linux to get its x and y position. In preparation for adding the new Display.getX() & getY() API's. 2012-02-18 01:49:46 +00:00
kappa1 0830a9674d Small tweak to the Linux Display.isActive() fix. 2012-01-22 20:16:41 +00:00
kappa1 6e76e2c06a fix for Display.isActive() so that it works as it should on Linux when using Display.setParent() 2012-01-22 18:02:34 +00:00
kappa1 568e99a5f9 Fix keyboard handling when running Display.setParent() as an application on Linux. Thus allowing WM and system hot-keys to function again when the LWJGL app has focus. 2011-10-30 14:44:52 +00:00
kappa1 b2c1002b84 Implement Resizing API for Linux. 2011-10-02 20:41:33 +00:00
kappa1 0cc0a2bcbf LinuxDisplay use proper constant name (X_SetInputFocus) for xembedded fix 2011-09-27 22:38:32 +00:00
kappa1 d316d66e1b limit scope of fix for Display.setParent when running in xembedded mode. 2011-09-26 20:03:59 +00:00
kappa1 83675cffb1 Fix issues with LWJGL Applets when dragging or switching browser tabs 2011-09-25 21:57:49 +00:00
Ioannis Tsakpinis 41af142324 Added support for OpenGL 3.2 on MacOS X 10.7+. 2011-09-03 18:52:45 +00:00
Ioannis Tsakpinis 87c04cc995 Text encoding improvements. 2011-08-20 16:38:45 +00:00
kappa1 5949d57bb1 Implement Resizing Display API for OS X 2011-07-13 22:15:35 +00:00
kappa1 9aafabd728 Add placeholder methods for initial resizing api for the Display 2011-07-12 22:07:32 +00:00
Ioannis Tsakpinis 6c134c6330 Merged OpenGL ES branch. 2011-07-10 16:58:16 +00:00
kappa1 2cbae6efc8 minor update to comments and add missing JavaDoc 2011-07-10 00:31:16 +00:00
kappa1 e49bfe3c40 LinuxDisplay - fix remaining issues with focus handling when running in xembed mode. 2011-07-02 20:50:27 +00:00
kappa1 7782156962 Fix small race condition in LinuxDisplay when focusing in and out really fast. 2011-06-26 11:50:23 +00:00
kappa1 cc91d81781 Proper fix for Linux focus handling with setParent(Canvas), no more hacks or messing with EDT. Side effect being LWJGL applet focus handling should work perfectly now. 2011-06-26 01:42:34 +00:00
kappa1 4e85079dde LinuxDisplay: run setFocusable(boolean) on the EDT 2011-06-09 22:27:53 +00:00
Ioannis Tsakpinis 40cbf3e45f Added support for OpenGL ES. 2011-05-17 16:53:57 +00:00
kappa1 84f28884c5 Implement preliminary support for Display.isInsideWindow() on linux 2010-10-28 21:39:55 +00:00
kappa1 2838bb9dec fix null pointer exception when creating Display on linux. 2010-10-13 21:26:25 +00:00
kappa1 a0ee569434 fix for focus issues with Display.setParent on linux when using it as a non applet. Thx to MatthiasM for finding this and providing a small test case. 2010-10-08 20:19:44 +00:00
Ioannis Tsakpinis a8bcb7fd25 Ported codebase to Java 1.5.
Misc OpenCL fixes and API improvements.
Changed fractal demo to use events/sync objects instead of cl/glFinish for synchronization. (untested)
2010-09-28 21:11:35 +00:00
kappa1 71b226f979 fix: Keyboard focus handling broken when using Display.setParent() applets on Ubunutu (strangly worked on OpenSuse), hopefully should be fixed now. 2010-07-11 20:25:24 +00:00
Ioannis Tsakpinis 351eca07a4 2010-07-09 21:46:27 +00:00
Ioannis Tsakpinis 0ddafa3842 Compiz LFS improvements. 2010-07-09 18:44:31 +00:00
Ioannis Tsakpinis eebd82198c Added support for Compiz's legacy fullscreen workaround. 2010-07-07 12:37:40 +00:00
Ioannis Tsakpinis e0bfcca323 Fix for Linux fullscreen mode problem with Compiz (http://lwjgl.org/forum/index.php/topic,3335.0.html) 2010-07-04 17:14:33 +00:00
kappa1 965e398053 Remove extra permissions from XRandR and just allow minimal permissions needed by the LinuxDisplay. 2010-04-22 18:32:46 +00:00
kappa1 7d1a770cff fix infinite focus loop when using Display.setParent() + JWS + Linux. 2010-04-10 18:07:50 +00:00
Brian Matzon 0eed407ef8 added new XRandR stuff
fixed credits doc a bit
2010-03-08 21:29:32 +00:00
kappa1 604e52013a Complete overhaul of the linux focus system when using Display.setParent(). This should fix the input problems with applets (on linux) due to Display not being able to gain focus.
Also now works perfectly in all browsers, previously input focus was not restored to other browser components when requested (like firefox's address bar).
2010-02-14 17:06:15 +00:00
kappa1 bbe74afddb Mouse Grab Bug on Linux Fixed when LWJGL is run as an applet. 2009-11-24 20:13:12 +00:00
Brian Matzon 8bd591fe5e support for tracking mouse outside window on drag, new api for checking if mouse is inside window 2009-09-12 22:15:21 +00:00
kappa1 30dfad6c15 Improved focus handling for Display.setParent() on linux. Focus is now released from Display when X fires a focus change event. 2009-03-11 21:05:05 +00:00
kappa1 a33207320d fixed focus loop when using Display.setParent() on linux, this caused input keys to be missed as the focus shifted from parent to Display and back again. 2009-03-09 21:53:11 +00:00
Elias Naur ed1f8d70f4 Removed redundant fullscreen argument from DisplayImplementation.createWindow 2008-10-28 10:05:37 +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 8896ec3631 Linux: Avoid unneccessary mode switching in LinuxDisplay.resetDisplayMode (patch by buggs) 2008-08-12 17:05:26 +00:00
Elias Naur 65c180fa48 Linux: Added sanity checking to LinuxDisplay.setIcon 2008-06-16 18:31:43 +00:00
Elias Naur 5d1651b425 Linux: Another applet focus tweak 2008-04-13 19:12:51 +00:00
Elias Naur 88665c3dae Linux: Another focus fix 2008-04-13 18:46:25 +00:00
Elias Naur be0fbdf13b Applet focus fixes 2008-04-13 18:43:27 +00:00
Elias Naur 86515f96a0 LinuxDisplay.java: Fixed missing return 2008-04-13 18:13:26 +00:00
Elias Naur 544d74962d Linux: Don't let display usage count reach 0 2008-04-13 11:28:41 +00:00
Elias Naur 228f1f0520 Linux: Moved X error handling to java 2008-04-13 08:34:39 +00:00
Elias Naur 261d453a3e Linux: Removed change set code again 2008-04-12 23:09:47 +00:00
Elias Naur f5bf8b49f5 Linux: More focus fixes for the applet (XEmbed) case 2008-04-12 21:45:04 +00:00
Elias Naur 11f25424e2 Linux: Added support for XFixesChangeSaveSet to increase robustness of parented mode 2008-04-12 20:40:27 +00:00
Elias Naur a015dc4558 Linux: Rewrote focus handling to cope with the weird focus behaviour when running in an XEmbed enabled jvm (applet mode) 2008-04-12 20:07:23 +00:00
Elias Naur 450634c49c Linux: Removed grab/ungrabServer logic and replace it with catching of any X errors occruing because of a XSetInputFocus race 2008-04-09 23:40:18 +00:00
Elias Naur ab4bb1ebcb Linux: Moved input focus handling to LinuxDisplay. Bumped Sys.JNI_VERSION 2008-04-09 18:44:25 +00:00
Elias Naur b5c893d207 Linux: When parented, take focus on click 2008-04-09 18:09:15 +00:00
Brian Matzon bb16ec7492 updated and added license where needed 2008-04-07 18:36:09 +00:00
Elias Naur e2596d8efa Linux: Use icon mask as monochrome to please some xorg versions 2008-04-07 09:23:27 +00:00
Elias Naur bf25259325 Linux: Attempt to avoid race condition when tracking Display parent focus 2008-04-06 21:34:22 +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 395cf797cb Linux: Added alpha mask support to Display.setIcon 2008-04-01 19:46:20 +00:00
Elias Naur e448bb0c29 Removed OS message polls from mouse and keyboard poll() and read(), since they can be quite expensive 2008-01-19 08:49:10 +00:00
Elias Naur 8f677f1585 Linux: use XkbSetDetectableAutoRepeat to detect repeated key events more reliably 2008-01-07 18:29:04 +00:00
Brian Matzon 21b2cc0c21 cleaning imports 2007-10-20 21:31:52 +00:00
Elias Naur 9fc5b5273b Linux: Don't close the static Display connection, to avoid crashes with some dri drivers 2007-08-26 22:07:24 +00:00
Elias Naur 83ac2f22d0 Linux: Don't use seperate Display connections to switch display modes 2007-06-15 06:58:38 +00:00
Elias Naur 985d0973a8 Linux: Move input grab update from createWindow to when MapNotify is received. This avoid any input grabbing being ignored because the window is not yet mapped 2007-05-27 13:17:35 +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 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 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 d2de70f2d9 Make sure that Mouse.destroy ungrabs the cursor 2006-11-19 21:41:34 +00:00
Elias Naur 3674d843c2 Added org.lwjgl.opengl.AWTInputAdapter which enabled use of Mouse and
Keyboard with AWTGLCanvases. Programs can now avoid implementing AWT input processing and access the mouse grabbing features from both Display and AWTGLCanvas. See org.lwjgl.test.opengl.awt.AWTInputAdapterTest for an example.

Note: This commit is the linux and generic AWT imlementation and can still
change a lot while implementing windows and mac os x.
2006-10-26 20:19:40 +00:00
Elias Naur 541ac859b1 Linux: Made cursor handles longs instead of ByteBuffers 2006-10-26 12:14:37 +00:00
Elias Naur 2de75e4fd9 Linux: Moved warp Atom from LinuxDisplay to LinuxMouse 2006-10-24 10:43:52 +00:00
Elias Naur a972dd272d Linux: Moved input event processing to LinuxKeyboard and LinuxMouse 2006-10-24 10:39:14 +00:00
Elias Naur 850f3c6b7f Linux: Removed redundant methods from LinuxDisplay.java 2006-10-24 09:59:00 +00:00
Elias Naur e23825c3e5 Linux: Moved more event handling logic to java 2006-10-24 09:52:12 +00:00
Elias Naur 1f5f8687bb Linux: Moved current_win to java 2006-10-23 20:40:48 +00:00
Elias Naur 61e7c9e081 Linux: Moved screen from native to java 2006-10-23 20:14:45 +00:00
Elias Naur 8296ae06cb Linux: Moved the pointer warp X11 atom from native to java 2006-10-23 19:51:22 +00:00
Elias Naur 5dba786574 Linux: Moved another Display instance to java 2006-10-23 14:22:27 +00:00
Elias Naur 1a83741b89 Linux: Moved another Display instance to java 2006-10-23 14:16:40 +00:00
Elias Naur 8c5f601e31 Linux: Added sanity check to LinuxDisplay.getDisplay() 2006-10-23 14:05:40 +00:00
Elias Naur dd76a4b0d8 Linux: Moved Display pointer from native to java 2006-10-23 13:58:33 +00:00
Elias Naur 2e75098673 Linux: Simplified LinuxMouse 2006-10-23 10:24:03 +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 af9e73ed11 Linux: Made most fields in LinuxDisplay non-static 2006-07-08 22:17:09 +00:00
Elias Naur 4e68c787b3 Added Keyboard.getEventNanoseconds() and Mouse.getEventNanoseconds() 2006-07-04 17:07:13 +00:00
Elias Naur cfe79394e6 Linux: Fixed privileged property access in LinuxDisplay.java 2006-07-04 10:52:36 +00:00
Elias Naur 26c6de6363 Implemented variable sized events in preparation of timestamped input events 2006-07-03 23:16:26 +00:00
Elias Naur 3902c69c7a Now that no native side event_queue_t type is used anymore, convert input read() semantics to use normal nio Buffer semantics - that is, move the position when writing events 2006-07-03 19:09:47 +00:00
Elias Naur b20423aa62 Fixed comment 2006-07-03 18:56:15 +00:00
Elias Naur a417b8f15c Linux: Moved Display state booleans to java side 2006-07-03 18:33:25 +00:00
Elias Naur 2f957f816d Linux: Fix multiple calls of setIcon by creating copies of icon data instead of converting data in-place 2006-07-03 18:18:27 +00:00
Elias Naur cbe41294a5 Linux: Moved most input related stuff from native to java 2006-07-03 18:07:44 +00:00
Elias Naur 48cf79e55f Linux: Fixed Display.setIcon memory leak. 2006-06-30 18:56:37 +00:00
Elias Naur 6cf49718db Windows: LWJGL didn't work well with jinput, but compatibility could be greatly improved if LWJGL used DirectInput 8 (like jinput). This can't be done unconditionally, since we need the DX3 support for older versions of windows. So, I've moved most Mouse and Keyboard stuff from native to java side and generalized DirectInput access through an abstract base class, with two concrete subclasses, one for dx3 and one for dx8. 2006-06-26 13:50:48 +00:00
Elias Naur 9f41ecaedb Removed Keyboard.isStateKeySet() - it is easily replaced by Toolkit.getLockingKeyState() 2006-06-10 20:42:26 +00:00