Commit Graph

264 Commits

Author SHA1 Message Date
Camilla Berglund
e480c76a11 Removed use of cursor rectangles.
Poor use of cursor rectangles broke Lion full screen and led to rect
reset loop.  Cursor image is now updated only with the existing
enter/exit detection NSTrackingArea.

Fixes #339.
Fixes #375.
2014-12-30 15:25:48 +01:00
Camilla Berglund
e57da19d4a Fixed OS X enter/leave full screen triggers. 2014-12-30 15:25:48 +01:00
Camilla Berglund
81bcefe86c Moved to using NSOpenGLView. 2014-12-30 15:25:24 +01:00
Camilla Berglund
9aa15aa710 Fixed menu bar for non-bundled OS X applications.
The menu bar for non-bundled applications did not become visible until
it had lost and regained focus.  This is fixed (somehow) by letting the
NSApplication run loop start and stop.

Technique by scoopr.
2014-12-18 03:34:32 +01:00
Camilla Berglund
2a1375e97c Added glfwCreateStandardCursor.
This function allows the creation of cursor objects using one of several
standard cursor shapes from the current system cursor theme.
2014-12-15 21:58:44 +01:00
Camilla Berglund
1495134398 Changed all key translation to arrays. 2014-12-15 21:55:17 +01:00
Camilla Berglund
b81a19928d Fixed auto-hiding of windowed windows on OS X. 2014-12-02 23:15:08 +01:00
Camilla Berglund
8de5c4e3b8 Fixed OS X full screen window hiding. 2014-11-05 18:40:22 +01:00
Camilla Berglund
70c349f36b Fixed OS X full screen window placement. 2014-11-05 18:38:39 +01:00
Camilla Berglund
34bf1b13e9 Fixed Lion full screen regression.
Restored lines lost during testing surgery.
2014-11-04 16:39:46 +01:00
Camilla Berglund
6743761c2c Moved OS X from full screen view to window. 2014-10-28 22:21:10 +01:00
Camilla Berglund
3b9a14fc9c Moved note to new place of inversion. 2014-10-26 18:29:34 +01:00
Camilla Berglund
4c64e94d39 Fixed X-axis scroll offset inversion (take two).
Fixed #239 (properly).
2014-10-26 15:15:42 +01:00
Patrick Walton
5052b2d7e0 Create an autorelease pool in glfwPostEmptyEvent.
This prevents leaking NSEvent objects.

Closes #372.
2014-10-21 12:20:13 +02:00
Camilla Berglund
f4a467a864 Fixed OS X scroll X-axis inversion.
When natural scrolling is disabled on OS X, the X-axis of the scroll
offsets is inverted compared to the direction on Windows.  The X11
scrolling directions are unspecified and so have been aligned with the
Windows port.  Natural scrolling inverts both axes on both OS X and X11,
so the issue remains when the feature is enabled.

This inverts the provided X-axis scroll offset, making "unnatural"
scroll data align with the Windows and X11 ports and "natual" scroll
data be fully inverted and aligned with its counterpart on X11.

Fixes #239.
2014-10-13 15:48:40 +02:00
Camilla Berglund
e9c7314d50 Added GLFW_FOCUSED window hint.
Fixes #101.
2014-09-10 11:50:50 +02:00
Camilla Berglund
8d170c7f47 Merged clipboard code into input. 2014-09-09 16:36:41 +02:00
Camilla Berglund
8cd88ddf61 Cleanup of OS X cursor fixes.
Closes #334.
Fixes #254.
2014-08-13 09:17:14 +02:00
Arseny Kapoulkine
87fb437d76 Fixed changing cursor while it's outside window.
We need to invoke both [NSCursor set] and [NSView addCursorRect].

First call is responsible for changing the cursor if it's inside the
view; second call is responsible for keeping the cursor the same if it's
outside.
2014-08-13 09:17:14 +02:00
Arseny Kapoulkine
e74ebf0be3 Fix cursor behavior on OS X.
Don't implement resetCursorRects: this occasionally hides the cursor
since an empty cursor is assigned to the window rectangle.  Implementing
this method is not required since OS displays the window cursor
correctly by default.

Don't reset cursor mode when window loses focus: once again, OS handles
this correctly, and this means that the window cursor state is restored
when window gains focus again.
2014-08-13 09:17:14 +02:00
Camilla Berglund
96b12ee504 Added character with modifiers callback.
The undefined behaviour changed with #40 has been reverted, making the
character-only callback again behave like a system text field.  This
behavior has now been documentated.

Fixes #203.
Fixes #305.
2014-06-24 10:50:05 +02:00
Camilla Berglund
a7b9deb2ca Fixed use of previous member name. 2014-06-18 21:07:54 +02:00
Camilla Berglund
3ce7bfef07 Added GLFW_FLOATING.
Fixes #23.
2014-06-18 16:39:39 +02:00
Camilla Berglund
7123bcfc3e Fixed modifier key events being lost. 2014-06-17 11:49:29 +02:00
Camilla Berglund
aa6f8d40bd Fixed misspelled parameter.
Fixes #287.
2014-05-04 12:19:11 +02:00
Camilla Berglund
4a8f6ba58c Moved window delegate creation to createWindow. 2014-04-06 13:46:16 +02:00
Camilla Berglund
eb3f75e03e Added glfwGetWindowFrameSize. 2014-03-30 10:57:32 +02:00
Camilla Berglund
8fa9cc0de3 Added GLFWimage struct. 2014-03-20 11:30:27 +01:00
Camilla Berglund
608de57358 Cleanup. 2014-03-20 11:30:27 +01:00
urraka
40c04a7565 Added support for custom system cursors.
This adds 3 functions to the GLFW API: glfwCreateCursor,
glfwDestroyCursor and glfwSetCursor.
2014-03-20 11:30:27 +01:00
Camilla Berglund
1ccc23268c Added glfwPostEmptyEvent. 2014-03-09 17:55:55 +01:00
Camilla Berglund
6e990b77d1 Removed stale comment. 2014-03-07 00:11:43 +01:00
Camilla Berglund
6d8e78cc95 Further separation of window and context.
The context related parts of _GLFWwndconfig have been moved to
_GLFWctxconfig and given better names.  Window hint and attribute
members have been renamed to match.
2014-03-06 20:07:58 +01:00
Michael Dickens
04b4e605a0 Removed C99-ism for the sake of OS X 10.6.
Fixes #241.
2014-02-13 20:58:48 +01:00
Camilla Berglund
84377c6175 Added _GLFW_USE_RETINA. 2014-02-10 13:45:13 +01:00
Camilla Berglund
611006af18 Updated API version in comment headers. 2014-01-22 01:32:00 +01:00
Camilla Berglund
8f349e84ae Cleaned up drop callback design. 2014-01-21 18:23:25 +01:00
Camilla Berglund
8ae063bb1b Cleanup. 2014-01-21 15:25:49 +01:00
arturo
89d0723ba3 Initial drag and drop support. 2014-01-21 15:25:49 +01:00
David Avedissian
c789238741 Removed extra argument 2014-01-18 23:43:17 +00:00
David Avedissian
4658e72b84 Fixed link error introduced by previous commit 2014-01-18 21:32:18 +00:00
Camilla Berglund
e0a26aa62f Cursor mode cleanup. 2014-01-15 14:23:34 +01:00
Camilla Berglund
7341f8b635 Enlarged OS X invisible cursor.
Fixes #206.
2014-01-06 15:34:49 +01:00
Camilla Berglund
bc625b21b3 Removed completed todo. 2013-11-10 14:03:34 +01:00
Camilla Berglund
b9d4875f3e Improved documentation of hacks. 2013-11-10 13:56:27 +01:00
Camilla Berglund
a83d257ac6 Moved application activation to window showing.
Fixes #93.
2013-11-07 18:07:46 +01:00
Camilla Berglund
ec5cb9c6f7 Moved to Cocoa for transformation and activation. 2013-11-07 18:03:39 +01:00
Camilla Berglund
58045a5c07 Added Lion full scren menu item. 2013-10-28 13:01:58 +01:00
Jack Moffitt
5be45d214b Fix build on Mac OS X 10.7 Lion.
`CVDisplayLinkRef` needs an extra header file, and `NSAppKitVersionNumber10_7`
wasn't added until 10.8so use `> NSAppKitVersionNumber10_6` instead.
2013-10-24 02:24:34 -06:00
Camilla Berglund
d78510457c Added hack for full screen focus on OS X. 2013-10-17 19:59:34 +02:00
Camilla Berglund
9c15e2ff86 Enabled Lion full screen. 2013-10-10 00:09:03 +02:00
Camilla Berglund
7775c87cd6 Cleanup and change log update. 2013-10-09 23:58:43 +02:00
Camilla Berglund
1047d5646d Merge pull request #139 from Pieroman/patch-1
Fixed full screen windows blanking unused monitors.
2013-10-09 14:47:41 -07:00
Andri Pálsson
99784fb8f0 Fixed hidden cursor positioning corner case. 2013-10-09 19:06:03 +02:00
Camilla Berglund
e9694cca47 Merge pull request #152 from sjml/master
Fixed minor Xcode 5 warnings.
2013-10-08 10:43:55 -07:00
Shane Liesegang
9e0c07b7ba Fixing Xcode 5 warning
Xcode 5 has gotten more pedantic about undeclared selectors, by
default.
2013-10-08 10:49:00 -04:00
Shane Liesegang
209de7b56d Removing warnings when building Cocoa in 64-bit
NSInteger is defined as the native integer width, so these changes
remove implicit conversions that were causing precision warnings.
2013-10-08 10:42:17 -04:00
Camilla Berglund
5759d0fdf2 Fixed F13 being reported as PrtSc on OS X. 2013-09-26 19:58:35 +02:00
Camilla Berglund
201d0a78b1 Fixed Grave and World 1 being flipped. 2013-09-26 00:00:07 +02:00
Pieroman
d3f22b8a04 Fixed Mac OS X bug where request for one fullscreen window blacks out other monitors 2013-09-19 21:33:44 +02:00
Camilla Berglund
546c794321 Fixed OS X cursor bugs #3, #72 and #88. 2013-09-19 01:05:51 +02:00
Camilla Berglund
d69796d9e0 Updated menu label for minimization. 2013-09-16 15:58:05 +02:00
Camilla Berglund
9c20737b60 Allowed characters regardless of modifier keys. 2013-08-19 13:08:35 +02:00
Camilla Berglund
3cfc400cf9 Simplified source file comment headers. 2013-07-30 14:46:52 +02:00
Camilla Berglund
6e85924bd3 Replaced selector test with NSAppKitVersionNumber. 2013-07-30 14:46:51 +02:00
Dmitri Shuralyov
c99b7fe7da Fixed #if-guard logic and signature for hasPreciseScrollingDeltas. 2013-07-24 23:06:58 -07:00
Dmitri Shuralyov
5655e26315 Changed scrollWheel to use precise scrolling deltas when available.
Use precise scrolling deltas only on supported versions of OS X;
hasPreciseScrollingDeltas, scrollingDeltaX, scrollingDeltaY are
available in OS X v10.7 and later.
Replaced a single occurence of a tab character with 4 spaces for
consistency in src/socoa_window.m.
2013-07-17 19:36:43 -07:00
siavash
0463e196b4 Cleanup of size_t use. 2013-07-15 18:37:02 +02:00
Camilla Berglund
41a1374744 Updated references to OS X (previously Mac OS X). 2013-07-10 15:38:31 +02:00
Camilla Berglund
d20aa0428a Fixed window positioning on OS X. 2013-07-09 17:08:26 +02:00
Camilla Berglund
58c69a9ac4 Enabled compilation on OS X 10.6 SDK. 2013-07-04 15:02:01 +02:00
Camilla Berglund
22e1aa6cfc Fixed process transform when no menu bar. 2013-06-16 20:30:36 +02:00
Kyle McDonald
d5cd6ec8eb Restored support for Mac OS X 10.6.
Modified during merge.
2013-06-16 18:46:20 +02:00
Camilla Berglund
eba8168a03 Fixed glfwGetFramebufferSize on OS X. 2013-06-16 18:32:16 +02:00
Camilla Berglund
f6a9338b06 Hooked up monitor callback on OS X. 2013-06-06 01:28:01 +02:00
Camilla Berglund
11615fcaf2 Added scancode to key callback. 2013-06-05 23:46:09 +02:00
Camilla Berglund
3498163da1 Separated window and framebuffer sizes. 2013-06-04 01:51:54 +02:00
Camilla Berglund
89588a4508 Cleanup. 2013-06-04 01:51:40 +02:00
Camilla Berglund
ffc55c3509 Removed broken initial cursor pos kluges. 2013-05-26 17:19:13 +02:00
Noel Cower
eff85f9500 Added super modifier bit.
Edited during merge.
2013-05-23 14:21:35 +02:00
Camilla Berglund
3bcffba24a Renamed control modifier bit to match key token. 2013-05-23 14:21:35 +02:00
Camilla Berglund
6df692b61e Renamed CURSOR_CAPTURED to CURSOR_DISABLED. 2013-05-22 21:56:14 +02:00
Camilla Berglund
2d1b835711 Added a conservative set of key modifiers. 2013-05-22 21:56:14 +02:00
Camilla Berglund
c4d856bcb2 Fixed window positioning on OS X. 2013-05-22 21:37:41 +02:00
Camilla Berglund
0b5de6dd28 Fixed cursor positioning on OS X. 2013-05-22 20:52:45 +02:00
Camilla Berglund
efe3ee8818 Initial OS X fullscreen iconification work.
glfwIconifyWindow now pulls the view out of fullscreen mode and restores
the original display mode, reversing the process when deminiaturized.
2013-05-02 18:24:37 +02:00
Camilla Berglund
cdfbe68a96 Cleanup. 2013-05-02 17:01:19 +02:00
Camilla Berglund
7ecd2eb53b Fixed NSBeep on certain chords. 2013-04-30 19:02:31 +02:00
Camilla Berglund
3ec843a1da Fixed captured cursor mode on OS X. 2013-04-24 19:29:28 +02:00
Camilla Berglund
2891c9629f Fixed hidden cursor mode on OS X. 2013-04-22 00:12:25 +02:00
Camilla Berglund
a2745574c8 OS X hidden cursor cleanup. 2013-04-21 22:46:35 +02:00
Camilla Berglund
74d6a5d883 Nomenclature fix. 2013-04-21 21:54:33 +02:00
Camilla Berglund
f5ba0d9f22 Video mode setting cleanup. 2013-04-21 21:28:07 +02:00
Camilla Berglund
b0ae7a6957 Added refresh event for resize on OS X. 2013-04-21 17:39:10 +02:00
Camilla Berglund
dc58dd1bef Merge pull request #52 from nilium/osx-cursor-hidden-patch
Added support for hidden cursor mode on OS X.
2013-04-18 06:22:53 -07:00
Camilla Berglund
57751a5494 Added initial NSScreen integration.
This (tentatively) fixes the bug of full screen windows on OS X always
opening on the primary monitor.
2013-04-17 23:11:04 +02:00
Noel Cower
662958ef11 Make resetMouseCursor consistent with setCursorMode 2013-04-16 16:49:43 -06:00
Noel Cower
1ba8fd05c0 Add GLFW_CURSOR_HIDDEN.
Uses addCursorRect:cursor: as discussed.. well, too long ago. Anyhow,
this will effectively hide the cursor while it is inside a window with
GLFW_CURSOR_HIDDEN or GLFW_CURSOR_CAPTURED enabled. This shouldn't mess
up cursor retain counts either, unlike previous uses of the hide/unhide
methods on NSCursor.

It does allocate a small, single-pixel image for an invisible cursor,
as well as the cursor itself, but that shouldn't be too much trouble.
2013-04-16 16:46:55 -06:00
Noel Cower
1f148f2bd6 Keep cursor centered in window while captured.
Previously, cmd-tabbing out would result in the cursor position maybe
ending up outside the window, so if one cmd-tabbed back in with the
cursor still outside, any click would go outside the window and cause
it to lose focus. Not really a good thing. So, this is a bit of a hack,
but it works.
2013-04-16 16:46:49 -06:00
Camilla Berglund
1ffd8f667f Cleanup. 2013-04-16 23:33:35 +02:00