Commit Graph

158 Commits (b3a549b8b5e01809b2dd2006d6bf92a7a4d6baf7)

Author SHA1 Message Date
Geenz 461ab912a5 Initial Cocoa drag and drop support. 2013-01-22 19:59:49 -05:00
Geenz 29e747c4f1 And thus, the demonic mouse position conversions from view space to screen space were tamed. 2013-01-22 15:37:01 -05:00
Geenz da90fe3528 This *should* put an end to our modifier key woes. 2013-01-15 05:46:31 -05:00
Geenz 09b07e3619 Big change set:
- LLAppDelegate header relocated to LLWindow.  Definition is still present in secondlife-bin (for compatibility reasons when loading a nib).
- Return key handling fixed.
- Command key now acts the same as the control key by issuing control character codes when the command key is pressed.
- We now retrieve the window pointer directly from the app delegate in LLWindow.
2013-01-08 16:22:54 -05:00
Geenz 9ce3ab1a52 Fixed the enter and return keys not being sent appropriately as unicode characters. 2013-01-02 18:53:44 -05:00
Geenz ddb48d51d9 More things in this commit:
- Removed the callback system in favor of simply defining functions in a header to later be implemented in whichever file is most convenient for what we want to do (i.e., calling LLWindow callbacks within LLWindowMacOSX, setting cursors in llwindowmacosx-objc.mm, etc.)
- Viewer shutdown now works appropriately
- Added a bit of debugging code to test if a key has been handled by the UI or not (useful for tracking down the mystery of the enter key not being handled)
- Setup a cocoa quit handler within the application delegate that intercepts any termination requests
2013-01-01 11:32:53 -05:00
Geenz bd152c1fb7 Huge amount of refactoring to use Cocoa here:
- Updated to .xib format.  To produce a new nib (which is required after changing the xib file), use "ibtool SecondLife.xib --compile SecondLife.nib" within the newview directory.
- xib file now defines the viewer's window.  VIews are still being pragmatically added to the main window.  This may change in the future.
- LLAppViewer's main loop has been slightly refactored to be executed on a timer for OS X.  This probably needs a bit more work.
- Event handling still needs more work to work within a timer based event loop.  It works fairly sporadically at the moment, as if events are being dropped between timer executions, at least for the mouse.
- Carbon has been purged from the viewer's startup, and from LLWindow entirely.  There's likely still a few odds and ends fragmented throughout the viewer and its dependencies.  Need to track these down.
- LLAppViewerMacOSX now uses NSApplicationMain, and also implements the NSApplicationDelegate protocol in LLAppDelegate.
- Fullscreen support has been implemented for OS X 10.7+
This is still a work in progress, however at this stage everything needed for a functional viewer is (mostly) complete.  From here, it's mostly just bug hunting and fixing.
2012-12-29 06:59:43 -05:00
Geenz c8aa1fb7c8 LLWindow: Move to using Cocoa for window and view creation along with setting up callbacks for event handling as such. 2012-12-17 18:00:30 -05:00