Commit Graph

289 Commits

Author SHA1 Message Date
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 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 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
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
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
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 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
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 af1ae935d8 fix CALayer/Display.setParent driver crash on resize 2013-02-17 15:09:31 +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
kappaOne 4e023eec16 Implement animated cursor support on OS X 2013-01-29 22:59:40 +00: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
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
kappaOne 0d6eac80f7 Implement initial work for enabling CALayer rendering 2012-12-23 22:09:57 +00:00
kappaOne 284f6135f3 Refactoring to prepare for implementing OS X CALayer based
Display.setParent, temporarily breaks Display.setParent on Java 7 and
Java 6 Applets.
2012-12-22 20:20:48 +00:00
kappaOne f7c64c89dc Don't use Display.setParent when fullscreen set, some refactoring 2012-12-18 22:10:44 +00:00
kappaOne d235ae5bf0 Fix crash on exit when using Display.setParent() on OS X 2012-12-16 17:50:48 +00:00
kappaOne 21f994a039 remove unused code 2012-12-16 16:24:33 +00:00
kappaOne 45992fc378 Implement Display.isActive() on OS X 2012-12-16 16:19:44 +00:00
kappaOne 70842b92aa Implement Display.getX() and Display.getY() for OS X 2012-12-16 16:02:40 +00:00
kappaOne 970fc2d7d9 Implement OS X Mouse.setCursorPosition() for windowed mode 2012-12-11 22:59:30 +00:00
kappaOne 93d1d3ea03 fix 'invalid drawable' error message 2012-12-11 21:24:04 +00:00
kappaOne ccf738dfaf Implement OS X Mouse.setCursorPosition() when in fullscreen mode 2012-12-09 22:12:02 +00:00
kappaOne 2a820ed94f remove unused variable 2012-12-09 21:22:45 +00:00
kappaOne 2cc6affcd1 Use correct back buffer size when creating a new context and going
straight into fullscreen
2012-12-09 15:39:26 +00:00
kappaOne 8c4aeef4f4 remove use of depreciated CGTableCount 2012-12-04 22:45:47 +00:00
kappaOne 11d6db5f35 remove use of the now depreciated CGTableCount 2012-12-04 22:28:35 +00:00
kappaOne 83aeba5910 remove use of depreciated CGTableCount 2012-12-04 22:22:42 +00:00
kappaOne 76238f038c remove unneeded call to release memory on close of window 2012-12-04 22:11:16 +00:00
kappaOne 804f09da47 Fixed resizing when using Display.setParent 2012-12-03 23:04:30 +00:00
kappaOne 415f25bf97 Do Context clean up on proper thread, remove hacks, enable memory
clean up on Mac Display.destroy()
2012-12-03 21:39:54 +00:00
kappaOne b3b5e95bf4 Use a fixed back buffer for proper resolution in fullscreen mode 2012-11-30 23:24:12 +00:00
kappaOne b72cdb3064 Wait for NSView to be correctly removed before closing window 2012-11-30 01:11:03 +00:00
kappaOne b6a89d3bd4 Correct Mouse Coordinates in Fullscreen Mode 2012-11-30 01:02:04 +00:00
Erik Broes 129d0711c5 Modifiers now report the correct side they are pressed. Added 'fn'-key as modifier. 2012-11-29 18:27:08 +01:00
kappaOne ef62a8371b remove white flash when switch to/from fullscreen 2012-11-25 20:34:45 +00:00
kappaOne 6eccb8b971 clean up debug code printf's 2012-11-25 20:24:51 +00:00
kappaOne b5a87d818e Implement ScrollWheel functionality again 2012-11-25 20:14:48 +00:00