Commit Graph

491 Commits

Author SHA1 Message Date
Michael Pfaff 02f595e0b9
Move more logging to Java side 2022-10-05 18:08:45 -04:00
Michael Pfaff 9131fb0fc8
Add more missing headers 2022-09-09 17:59:16 -04:00
Michael Pfaff 699e95a969
Add more missing headers 2022-09-09 17:58:34 -04:00
Michael Pfaff d80a9518f4
Add missing headers 2022-09-09 17:57:21 -04:00
Michael Pfaff 325db15a1d
More progress, nearly fixed native header generation
BufferUtils.c and CallbackUtil.c have been modified to not include the
generated header file. This is because `javac` is choosing to ignore
those files for generation of headers for unknown reasons.
2022-08-10 11:43:59 -04:00
Ioannis Tsakpinis ee2a1c79a3 Improvements to setTitle on Linux
WM_CLASS should not change after window creation. It's illegal (may only change while the window is in the Withdrawn state) and causes flickering issues on the taskbar.

The native setTitle implementation has been changed to use a better fallback when XChangeProperty fails and _NET_WM_ICON_NAME is also set, in addition to _NET_WM_NAME.
2014-12-30 14:50:40 +02:00
Emilio Moretti 079a4b2e9c Fix the last bug and finally support OpenBSD 2014-09-29 22:36:59 -03:00
Ioannis Tsakpinis 202ce1d522 OpenGL ES build fixes. 2014-09-14 12:42:18 +03:00
Ioannis Tsakpinis cb759158e7 Fixed some native compilation warnings. 2014-08-04 22:25:12 +03: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
kappaOne 8154abe073 Set the WM_CLASS property on Linux as its needed for some WM to display
the app name/class, currently its the same as the window title.
2013-10-27 01:38:37 +01:00
Ioannis Tsakpinis 8faf5f4f35 Reverted commit b333b029 that affected GLX extension detection. Fixes #16.
We now only query glXQueryExtensionsString instead of the server & client
GLX_EXTENSIONS strings.
2013-02-22 18:22:22 +02:00
kappa1 6010657389 add missing extgl_InitGLXEXTSwapControl() 2012-03-04 03:50:58 +00:00
kappa1 05212349a5 add missing lwjgl_glXSwapIntervalEXT 2012-03-04 03:45:09 +00:00
kappa1 8f756955b7 Implement GLX_EXT_swap_control for Linux 2012-03-04 03:40:32 +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 57ff8c2e2b Linux Mouse: added support for using more than 3 buttons on a mouse, supports mice with upto 256 buttons. 2012-01-31 23:24:28 +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 97075a7228 Only set X window hints on the Linux native display window when not using Display.setParent() 2011-10-26 20:24:22 +00:00
Brian Matzon 758849ad4c applied patch by xranby to remove warnings 2011-10-13 22:05:17 +00:00
kappa1 b2c1002b84 Implement Resizing API for Linux. 2011-10-02 20:41:33 +00:00
kappa1 63e85b2acf fix for keyboard input not working on linux when an input method is set (like ibus). 2011-09-20 19:46:33 +00:00
kappa1 910158d4c5 Linux Display - create native Display window at the correct position on linux. 2011-08-29 21:31:23 +00:00
Ioannis Tsakpinis 87c04cc995 Text encoding improvements. 2011-08-20 16:38:45 +00:00
kappa1 6502050630 Add Unicode support to the native Window title on Linux 2011-08-20 11:56:46 +00:00
Ioannis Tsakpinis b333b029bd Fixed GLX extension detection. 2011-08-18 17:13:05 +00:00
Ioannis Tsakpinis 6c134c6330 Merged OpenGL ES branch. 2011-07-10 16:58: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
Ioannis Tsakpinis eff8493ef6 Added support for NV_present_video and NV_video_capture.
Re-designed WindowsPeerInfo so that we can more easily use WGL extensions in the future.
2011-05-21 10:48:05 +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
Ioannis Tsakpinis 1aa9ab5104 Added support for OpenCL & CL/GL interop + minor improvements. [WIP] 2010-09-26 23:43:24 +00:00
Ioannis Tsakpinis b5c457f156 Touched a few files to get them to recompile. 2010-06-03 15:49:26 +00:00
Ioannis Tsakpinis c0d5c751cf Added missing brackets around COLOR_SAMPLES_NV. 2010-06-02 23:35:38 +00:00
Ioannis Tsakpinis 21b3c3d818 Added PixelFormat support for framebuffer CSAA (NV_multisample_coverage, WGL & GLX only).
Added support for AMD_name_gen_delete and AMD_debug_output. The AMDDebugOutputCallback class enables query-less message handling.
Added support for extension aliases.
2010-05-27 22:56:29 +00:00
Elias Naur 68ec5edea1 Linux: made legacy context code conditional 2009-04-24 20:35:33 +00:00
Elias Naur 50203d0d92 Linux: OpenGL 3 attributes support 2009-04-24 20:30:30 +00:00
Ioannis Tsakpinis 578a6d2617 Added GLX_ARB_create_context tokens. 2009-03-26 11:15:43 +00:00
Ioannis Tsakpinis 1e4499f527 Force forward compatible mode when we have GL3.1+ but miss ARB_compatibility.
Added support for ARB_framebuffer_object.
Added support for GLX_ARB_create_context. (WIP)
Improved postfix stripping in the generator.
2009-03-26 11:08:43 +00:00
Elias Naur 218d005aaf Linux: Fixed failure to create window on newer ATI mesa drivers 2009-03-19 21:50:30 +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 8b0b1b8b63 Added platform specific getJNIVersion implementations 2008-04-30 14:58:47 +00:00
Elias Naur be0fbdf13b Applet focus fixes 2008-04-13 18:43:27 +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 6ac8101392 Linux: Removed library destructor, because lwjgl doesn't fiddle with the global repeat control anymore 2008-04-12 21:49:57 +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 e50dc04191 Removed AWTInputAdapter, since Display.setParent() works much betterdiff 2008-04-10 20:25:54 +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 b5c893d207 Linux: When parented, take focus on click 2008-04-09 18:09:15 +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 175642d593 updated and added license where needed 2008-04-07 18:42:36 +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 8e2233167d Linux: Fixed test for XkbSetDetectableAutoRepeat success 2008-01-19 08:57:20 +00:00
Elias Naur 8f677f1585 Linux: use XkbSetDetectableAutoRepeat to detect repeated key events more reliably 2008-01-07 18:29:04 +00:00
Elias Naur b19f24ec61 openal: Don't free native path too early (duh) 2007-11-14 11:07:22 +00:00
Elias Naur 74ab4f7fa4 openal: Improved error reporting from native library load 2007-11-14 10:45:07 +00:00
Elias Naur d616f8439a Linux: use throwFormattedException in extgl_Open instead of custom message formatting 2007-10-30 18:34:38 +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 55a889d053 Use jawt_md.h instead of jawt.h since that is apparently the official way of using JAWT (from the example in jawt.h) and is required for lwjgl to compile with the ibm 1.5 jdk 2007-03-13 08:18:00 +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 a5c8a3d6af Linux: Don't call XSetInputFocus when creating a window. XSetInputFocus can fail if the window is not mapped when calling it, and it seems that it's rude to call XSetInputFocus according to the ICCCM when the application doesn't already have the focus in one of its subwindows. 2007-02-23 08:31:59 +00:00
Elias Naur 12eb552aba Linux: Don't use XClearWindow to clear the window, but rely on the OpenGL clearing instead. Also, remove redundant attributes in XCreateWindow 2007-02-23 08:21:02 +00:00
Elias Naur 4b13bb10d3 Linux: Fixed wrong return type in LinuxEvent.nGetKeyAddress 2007-01-17 08:16:16 +00:00
Elias Naur a211f088ac Linux: Make sure a newly created window get the focus, if possible, to avoid a fullscreen window immediately getting minimized 2006-12-11 20:38:21 +00:00
Elias Naur 4aed85c5bb Linux: Don't double free the Display connection in the switchDisplayMode error path 2006-12-02 22:21:32 +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 e23825c3e5 Linux: Moved more event handling logic to java 2006-10-24 09:52:12 +00:00
Elias Naur cb6a6ff2a2 Linux: Removed redundant include statements 2006-10-24 08:33:09 +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 dd76a4b0d8 Linux: Moved Display pointer from native to java 2006-10-23 13:58:33 +00:00
Elias Naur 8698cf68f3 Linux: Don't use the SUN specific getScreenFromDevice in LinuxAWTCanvasPeerInfo. This avoids garbage creation per frame and avoids one bit of SUN JRE dependency. 2006-10-20 11:51:34 +00:00
Elias Naur 55f67e68cb Linux: Fix crash when LinuxCanvasImplementation.getScreenFromDevice fails 2006-09-28 21:53:18 +00:00
Elias Naur 6be8bc806e Linux: Fixed fetch of a boolean field with GetIntField JNI 2006-07-10 15:29:29 +00:00
Elias Naur af9e73ed11 Linux: Made most fields in LinuxDisplay non-static 2006-07-08 22:17:09 +00:00
Elias Naur cb8f098e17 Linux: Remove Makefiles 2006-07-07 14:06:46 +00:00
Elias Naur 4e68c787b3 Added Keyboard.getEventNanoseconds() and Mouse.getEventNanoseconds() 2006-07-04 17:07:13 +00:00
Elias Naur a417b8f15c Linux: Moved Display state booleans to java side 2006-07-03 18:33:25 +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 322351b216 Linux: native code cleanup 2006-06-30 19:28:00 +00:00
Elias Naur 48cf79e55f Linux: Fixed Display.setIcon memory leak. 2006-06-30 18:56:37 +00:00
Elias Naur 9e1280d281 Linux: Made the native destructor my_fini static 2006-06-30 16:47:46 +00:00
Elias Naur 9c4ce2845b Windows implementation of floating point pixel formats 2006-06-12 13:28:56 +00:00
Elias Naur c1e65970a2 Added floating point format to PixelFormat. Linux implementation 2006-06-12 13:01:05 +00:00
Elias Naur 05111c300f Linux: Added Xfixes to the list of libraries liblwjgl.so statically links to 2006-05-29 19:03:02 +00:00
Elias Naur 24bef50437 Linux: Apparently, some the Mesa GLX 1.3 glxChooseFBConfig don't like the GLX_STEREO attribute, even when set to False. So we'll only specify GLX_STEREO in case a stereo context is actually requested 2006-05-15 19:37:29 +00:00
Elias Naur ec67322e64 Linux: Fixed accum color bits when accum_bpp = 0 2006-05-13 10:03:19 +00:00
Elias Naur d492cbde20 Linux: Removed the glXIsDirect test to determine whether a context is accelerated or not. This is specifically not the case for Xgl and friends that accelerates indireect rendering. Unfortunately, I'm not sure what to replace the test with, so there is currently no way to know from LWJGL whether we're software rendered or not (other than measuring FPS). In fact, I'm not even sure that we can come up with a good test, because some (DRI) drivers use software MESA rendering for some parts of GL, while other parts are hardware accelerated 2006-02-23 19:29:49 +00:00
Elias Naur 3b8b751935 Linux: Fixed resetDisplayMode in case XRandr is used and the first reported mode is not the initial mode 2006-01-31 12:31:41 +00:00
Elias Naur c26ebafa62 OpenAL: Split platform dependent code from extal.c into platform subdirs. Made nCreate take a path instead of an array of paths. 2006-01-16 15:54:50 +00:00