Commit Graph

1609 Commits

Author SHA1 Message Date
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
Michael Pfaff fdaabdc249
Patch macOS build-script 2022-03-22 13:53:08 -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
md-5 e503ea631c Force high performance GPU for Nvidia Optimus systems 2014-12-14 08:41:37 +11:00
Emilio Moretti 079a4b2e9c Fix the last bug and finally support OpenBSD 2014-09-29 22:36:59 -03:00
Ioannis Tsakpinis 774bd17ece Ported annotation processing from apt to javac.
This is a manual merge of request #86 by @b23prodtm. The original patch is fantastic, but as expected has a few issues that will be fixed in subsequent commits.
2014-09-14 17:07:56 +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
b23prodtm 211b14c8d5 Fixed Mac OS Canvas / CALayer.
http://hg.openjdk.java.net/jdk8/awt/jdk/rev/65d874d16d59
JAWT native CALayer not positioned over Canvas
(Reviewed-by: art, anthony)
Initialy, the layer bounds have the Y coord originating not as
expected. java7 only seems to provoke that issue. so cpeer would update
bounds as necessary now.
by broumbroum
2014-02-01 21:20:27 +01:00
Ioannis Tsakpinis d5d9f06160 Convert local WindowsDisplay jclass reference to global. 2014-01-14 17:11:39 +02:00
Ioannis Tsakpinis 66c987f9c2 Fixed Rect/RECT conversion and added a workaround that resets the OpenGL client area when we toggle resizable after window creation. 2013-12-13 15:33:13 +02:00
Ioannis Tsakpinis 1703b62ed5 Removed fullscreen CDS_TEST. It's very slow and unnecessary. 2013-12-03 17:42:03 +02:00
kappaOne d20d5546a3 Finalise implementation of HiDPI mode for OS X 2013-11-12 01:25:06 +00:00
kappaOne 225bd176cb Implement initial support for High DPI mode on OS X 2013-11-11 00:08:23 +00:00
kappaOne 507bdb6824 Finalise OS X Fullscreen Mode API behaviour 2013-11-10 02:14:55 +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 75fe62bbea Implement initial support for the OS X 10.7+ fullscreen mode API,
currently enabled using the VM parameter
org.lwjgl.opengl.Display.enableOSXFullscreenModeAPI
2013-11-06 23:41:16 +00:00
kappaOne 675838f692 Don't autoresize CALayer's when using the Java 7 workaround 2013-11-03 22:47:32 +00:00
kappaOne cd666c66cf Fix CALayer/Display.setParent() initial position bug on OS X. 2013-11-03 14:02:22 +00:00
kappaOne e90e5dc172 Fix issue on OS X when using Command + Tab caused the command key to
become stuck.
2013-11-03 00:17:37 +00:00
kappaOne 43a6a8bfbb Implement right mouse click on OS X when pressing control + click. This
restores the previous mouse behaviour as found in LWJGL 2.8.5 and below.
2013-10-28 23:51:44 +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
kappaOne adf780c63d Further fixes for Display.setParent() canvas position & size bugs on OS
X
2013-10-22 22:34:03 +01:00
kappaOne d3254e00f3 Fix keyboard key codes to return Unicode characters instead of ASCII
characters
2013-10-13 15:45:08 +01:00
Ioannis Tsakpinis cad14be3eb Added new OpenCL extensions. 2013-07-24 15:35:59 +03:00
Erik Broes 11a6a30391 And some more 10.5.8 compat fixes. 2013-07-09 15:37:12 +02:00
kappaOne e3441a4075 Further fixes/amendments for OS X 10.5 compatibility 2013-07-09 01:01:18 +01:00
kappaOne 0965ef8f46 Fixed small typo in code for OS X 10.5, totally the fault of GCC for not
flagging up the error :)
2013-07-08 21:50:01 +01:00
kappaOne 83053798ca another fix for OS X 10.5 2013-07-07 22:04:50 +01:00
kappaOne 5b41d75e7d Add code to support OS X 10.5, hopefully should allow LWJGL to also now
run on OS X 10.5
2013-07-06 21:52:59 +01:00
Ioannis Tsakpinis e5aada8c45 Fixed typo in KHRDebug callback pointer. 2013-06-21 14:44:29 +03:00
void bc37a79798 Mac OS X: fix custom mouse cursor image
According to
https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/A
pplicationKit/Classes/nsbitmapimagerep_Class/Reference/Reference.html
the data referenced by the "planes" parameter will not be copied into
the NSBitmapImageRep class.

This means that when the referenced data changes (which is very likely
in our case since the data is retrieved from Java by
GetDirectBufferAddress()) we see exactly the effect described in the
LWJGL forum here: http://lwjgl.org/forum/index.php/topic,5007.0.html

The Apple class reference documentation linked above also describes
that when the "planes" parameter is NULL then the NSBitmapImageRep
class will allocate enough memory to store the image data and will
automatically free the allocated memory when the NSBitmapImageRep
instance is freed. In this case the data can be accessed with the
"bitmapData" method.

Which is exactly what we'll do now: pass NULL into the method to let it
allocate memory and then simply memcpy our image data into that area.

This seems to fix the mouse cursor image.
2013-05-25 17:56:05 +02:00
kappaOne 310f0085cf Correct the Y position of Display.setLocation(x, y) on OS X 2013-05-09 00:30:38 +01:00
kappaOne 8deac76a5b Update author information 2013-04-21 15:37:02 +01:00
kappaOne f528f38c60 Fix OS X CALayer positioning and workaround Java 7 bug
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172187
2013-04-20 23:21:01 +01:00
kappaOne 5628e751bf Revert "Fix OS X CALayer positioning and workaround Java 7 bug http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172187"
This reverts commit 1cceacb3cd.
2013-04-19 21:34:57 +01:00
kappaOne 1cceacb3cd Fix OS X CALayer positioning and workaround Java 7 bug
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172187
2013-04-19 21:32:31 +01:00
Ioannis Tsakpinis c0b19b7743 Another attempt to fix focus problems with Display.setParent on Windows:
- Reverted to WS_CHILD in window flags.
- Added WM_MOUSEACTIVATE handling: Focus the display + return MA_NOACTIVATE.
- Removed unnecessary appActivate calls in WM_ACTIVATE. We don't receive WM_ACTIVATE with WS_CHILD and the focus events do the job just fine.
- Detect parent window focus in update and force focus the display. This is useful when we alt-tab to the parent window and we don't receive any events.
2013-04-17 22:19:38 +03:00
kappaOne 0c07657edf Fix a resizing issue with AWTGLCanvas on OS X 2013-04-14 14:54:11 +01:00
kappaOne a7c704ae2f Workaround Nvidia driver bug which crashed the OS when releasing a
shared context by not releasing shared contexts.
2013-04-14 14:14:36 +01:00
kappaOne 529acd40ff Clean up used resources when destroying an OS X / CALayer 2013-04-14 13:19:57 +01:00
kappaOne 2bbd7ebe5b Fix a crash with CALayers/OSX when running on Java 7 2013-04-13 18:14:32 -07:00
kappaOne ca39cb3cdb fix a crash which occurs sometimes when setting the window title 2013-04-09 15:29:02 -07:00
kappaOne f45f1e79d9 Fix OSX/CALayer issue where it is not initially visible when running on
Java 7
2013-04-05 01:36:07 +01:00
kappaOne 38612a402d third attempt to revert changes and fix nightly build server, gah! 2013-03-25 22:14:17 +00:00
kappaOne c53e957833 Remove dependency on Java Native Foundation framework, remove non
working JAWT manually loading, change to use headers from
JavaVM.framework when compiling due to JDK7 bug
2013-03-24 20:49:23 +00:00
kappaOne 14de6c518d Fix crash on close of the Display when using Java 7 on OS X 2013-03-24 17:39:39 +00:00
kappaOne 58932fcdbf tweak how glViewport is set when using Display.setParent/AWTGLCanvas 2013-03-15 01:17:24 +00:00
kappaOne 5738477a7b Merge pull request #19 from LWJGL/osx-java7
LWJGL OS X Java 7 Branch is Ready!
2013-03-14 04:49:43 -07:00
kappaOne d8297e7583 set correct size on glViewport when using CALayer 2013-03-14 02:58:14 +00:00
kappaOne d462208c4c Implement AWTGLCanvas, fix initial glViewport size when using
Display.setParent
2013-03-13 00:51:32 +00: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
kappaOne 0cbe94d9e3 Tweak to fix a crash on exit, attempt to fix missing jawt error on
Java 7
2013-02-20 22:20:23 +00:00
kappaOne 6cd860525f fix potential crash on exit when closing the Display window 2013-02-19 22:28:14 +00:00
kappaOne f381eb1f35 Simplify code in AWTSurfaceLock for CALayer support 2013-02-17 16:50:56 +00:00
kappaOne af1ae935d8 fix CALayer/Display.setParent driver crash on resize 2013-02-17 15:09:31 +00:00
kappaOne 6663ee037c Attempt fix for no JAWT on OS X Java 7 issue 2013-02-16 14:07:16 +00:00
kappaOne d28381e1cd minor tweak to comments 2013-02-16 00:31:10 +00:00
kappaOne e67d717c4e simplify mouse code a little 2013-02-15 21:49:19 +00:00
kappaOne 10b8d633d0 push 2013-02-15 21:40:33 +00:00
kappaOne 1b48b704bc Move entire Display nCreate and nDestroy onto the Main Thread 0 2013-02-15 21:35:12 +00:00
kappaOne 817cada066 move nswindow close to main thread 0 to fix a potential crash on exit 2013-02-12 22:00:11 +00:00
kappaOne ed9ab95419 fix crash on startup when creating a second window Display after a
destroy in the same app
2013-02-12 21:53:49 +00:00
kappaOne e725ca7d34 further tweak to pbuffer support 2013-02-12 21:41:47 +00:00
kappaOne e28f8554f9 tweak to pbuffer support 2013-02-12 21:40:48 +00:00
kappaOne e0a52b20c3 fix and reimplement pbuffer support 2013-02-10 21:33:28 +00:00
kappaOne 93bfa246c6 reduce use of window specific code in the context implementation code 2013-02-10 17:57:52 +00:00
kappaOne db4eb9c5c8 Replace AWT code for getAvailableDisplayMode and other DisplayModes
stuff to use pure native Cococa code.
2013-02-08 23:29:15 +00:00
kappaOne 409b3fea6d Correctly catch quit events instead of manually catching OS X hotkeys 2013-02-07 21:55:53 +00:00
kappaOne 93a169b27b Catch Command+Q shortcut and get it to call Display.isCloseRequested() 2013-02-05 21:28:08 +00:00
kappaOne e15d172087 report Mouse.getX()/getY() values correctly on initial display creation. 2013-02-03 20:55:33 +00:00
kappaOne c57c27abaf remove nsview on main thread to avoid thread issues 2013-02-03 20:54:27 +00:00
kappaOne f6a2bc8327 Detect correctly if mouse is inside or outside the Display on
creation and resize.
2013-02-03 18:58:00 +00:00
kappaOne c328463776 Implement Cursor.destroy and release memory used by native cursors 2013-02-03 17:47:09 +00:00
kappaOne 65beebb379 fix crash related to mouse being dragging whilst Display is destroyed. 2013-02-03 16:39:02 +00:00
kappaOne 2d43265d10 Fix Display.getWidth()/getHeight() to return size of NSView instead of
NSWindow, fix a crash on exit
2013-02-02 20:30:12 +00:00
kappaOne 549f07fd28 Release NSView object on Display.destroy() 2013-01-31 23:47:50 +00:00
kappaOne b27754089a Fix Display.setParent() on Java 7 by forcing CALayer usage as
classic NSView method is no long available.
2013-01-31 23:01:19 +00:00
Ioannis Tsakpinis 1c671598aa Reverted warning level to 2, until we modify the generator to emit explicit casts. 2013-01-30 02:07:40 +02:00
kappaOne 4e023eec16 Implement animated cursor support on OS X 2013-01-29 22:59:40 +00:00
Ioannis Tsakpinis 5400bb27db Misc fixes and improvements on Windows:
- Cleaned up cl flags and enabled parallel compilation. Native compilation
  is now multiple times faster.
- Fixed all /W3 compilation warnings.
- Changed window flag from WS_CHILDWINDOW to WS_POPUP when Display.setParent
  is used, in an attempt to fix focus-related issues.
2013-01-29 22:53:11 +02:00
kappaOne 27cfdf646e Improve native cursor behaviour 2013-01-27 23:45:08 +00:00
kappaOne 6c090f1f61 Implement Mouse.isInsideWindow() on OS X 2013-01-27 23:01:21 +00:00
kappaOne f0219aed1a Fix native cursor global handle passing 2013-01-26 22:47:36 +00:00
Ioannis Tsakpinis 62b8d36002 Changed Get(Async)KeyState return type to short. 2013-01-25 15:28:17 +02:00
kappaOne fc2889cc27 Fix ARGB order on Native Cursors 2013-01-25 01:03:13 +00:00
kappaOne 486ff0edea Added initial work towards getting native cursors working, not
implemented yet
2013-01-25 00:28:26 +00:00
kappaOne 4735a6040f Fix crash when dragging mouse and switching from fullscreen to windowed
mode
2013-01-16 22:37:50 +00:00
kappaOne b8ba6ee6e5 Fix a small memory leak when using CALayer mode 2013-01-16 18:39:19 +00:00
kappaOne fc9e4f4bda Tweak CALayer mode to active correctly 2013-01-15 23:09:03 +00:00
kappaOne 02c0e80fb6 fix crash when switching to/from fullscreen when using CALayer mode. 2013-01-15 22:34:50 +00:00
kappaOne fe2f06f36e Implement Keyboard and Mouse input when using CALayer mode 2013-01-14 23:35:46 +00:00
kappaOne f2ad9f470d Tweak CALayer resizing behavior 2013-01-13 18:37:20 +00:00
kappaOne 03b669fb4d Fix garbage being displayed when resizing in CALayer mode 2013-01-13 16:13:13 +00:00
kappaOne 0dda33cd2d Implement CALayer rendering, no input yet 2013-01-13 15:34:24 +00:00
kappaOne 790f895220 Set CALayer OpenGL Context to be shared with the current LWJGL context.
Make code OS X 10.5 compatible (change from NSOpenGLLayer to
CAOpenGLLayer)
2013-01-04 00:11:12 +00:00
kappaOne f13f35d250 Add further work to the CALayer to prepare it for allowing an FBO to be
blit to its internal FBO
2012-12-28 01:11:12 +00:00
kappaOne a4c5be3781 fix OS X Mouse.setCursorPosition to use
CGDisplayMoveCursorToPoint instead of CGWarpMouseCursorPosition to allow
working on multiple monitor setups, also obtain correct window screen
instead of screen with keyboard focus
2012-12-25 14:00:09 +00:00
kappaOne fffa870418 correct behavior on OS X Display.getY() by using the screen the
window is on rather than the screen with keyboard focus
2012-12-25 13:51:24 +00:00