Commit Graph

312 Commits

Author SHA1 Message Date
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
Camilla Berglund
49db3b2a9e Formatting. 2013-04-08 15:24:24 +02:00
NathanSweet
8e2e7b37a1 Undecorated window support on win/mac/linux. 2013-04-08 15:24:24 +02:00
NathanSweet
85b64edcf0 Fix modifier keys.
The wrong mask was used making all modifier keys not be recognized.
2013-04-08 15:23:10 +02:00
Camilla Berglund
810d889539 Fixed function signature on OS X. 2013-03-28 00:30:08 +01:00
Camilla Berglund
129e94da2e Changed cursor pos to double. 2013-04-04 16:29:40 +02:00
Camilla Berglund
6a7dbfee29 Simplified Cocoa key input. 2013-03-07 17:37:07 +01:00
Camilla Berglund
cd78d70b25 Put findAppName under _GLFW_USE_MENUBAR. 2013-02-24 22:04:54 +01:00
Keith Pitt
34ce04a122 Added fading to Cocoa display mode setting. 2013-02-24 21:12:21 +01:00
SephiRok
1ae9ce1e0a Fixed print screen key input for all platforms. 2013-02-21 18:41:27 +01:00
Camilla Berglund
719b60dd2b Added macros for library initialization check. 2013-02-20 18:15:03 +01:00
Camilla Berglund
253e0d6b23 Added GLFW_REPEAT. 2013-02-15 13:21:11 +01:00
Camilla Berglund
5e976757ed Fixed various Cocoa editing slip-ups. 2013-02-11 23:10:49 +01:00
Camilla Berglund
d97dddc8c4 Simplified function comment headers. 2013-02-11 19:43:22 +01:00
Camilla Berglund
7c1932381b Reintroduced glfwGetWindowPos, glfwSetWindowPos. 2013-02-11 19:43:08 +01:00
Camilla Berglund
c17a7dd464 Made glfwGetWindowSize immediate.
Conflicts:
	src/internal.h
2013-02-04 12:33:09 +01:00
Camilla Berglund
3e78570a31 Removed duplicate documentation.
The public, platform, native, event and utility functions are already
documented in-source.  Having duplicate documentation inevitably means
having them contradict one another.  Furthermore, most of the function
descriptions simply repeated the name of the function.
2013-01-25 01:25:40 +01:00
Camilla Berglund
8c766b57e7 Renamed chdir option, added OS X menu bar option.
Some command-line programs want to render to hidden windows without any
visible UI.  This option makes this possible on OS X.
2013-01-25 00:53:38 +01:00
Camilla Berglund
cc45a9e53d Updated native API and merged into related files. 2013-01-15 22:38:14 +01:00
Camilla Berglund
46c1e4028f Begun integrating mode setting and monitor API. 2013-01-03 17:56:59 +01:00
Camilla Berglund
b72a97d531 Renamed global struct and substructs.
Renamed _glfwLibrary to _glfw and made all substructs lower-case, making
global variable names easier to read and type.  Partially inspired by the
internal naming conventions of glwt.
2013-01-02 01:44:57 +01:00
Camilla Berglund
835f00eb10 Merge branch 'master' into multi-monitor
Conflicts:
	include/GL/glfw3.h
	readme.html
	src/fullscreen.c
	src/internal.h
	src/window.c
	src/x11_fullscreen.c
2012-12-31 21:13:10 +01:00
Camilla Berglund
1790194828 Renamed _glfwInputError and moved to event API. 2012-12-31 21:05:28 +01:00
Camilla Berglund
52dac79219 Ripped out horribly broken refresh rate mess. 2012-12-31 02:06:19 +01:00
Camilla Berglund
23c6def880 Merge branch 'master' into multi-monitor
Conflicts:
	src/cocoa_window.m
	src/init.c
	tests/iconify.c
	tests/reopen.c
2012-12-30 22:18:15 +01:00
Camilla Berglund
a8403c10d3 Moved NSGL context creation to proper module. 2012-12-30 00:58:18 +01:00
Camilla Berglund
692f34b536 Merge branch 'master' into multi-monitor
Conflicts:
	include/GL/glfw3.h
	src/window.c
	tests/glfwinfo.c
2012-12-22 19:40:15 +01:00
Camilla Berglund
9c0e19adca Made error message tags more consistent. 2012-12-13 19:18:04 +01:00
Camilla Berglund
73cdc34df7 Merge branch 'master' into multi-monitor
Conflicts:
	CMakeLists.txt
	readme.html
	src/CMakeLists.txt
	src/cocoa_platform.h
	src/win32_platform.h
	src/x11_platform.h
	tests/events.c
2012-12-02 20:52:03 +01:00
Camilla Berglund
69a900592e Added explicit support for sRGB framebuffers. 2012-12-02 16:10:00 +01:00
Camilla Berglund
41bc0d18f4 Merge branch 'master' into multi-monitor
Conflicts:
	include/GL/glfw3.h
	readme.html
	src/CMakeLists.txt
	src/win32_window.c
	src/window.c
	src/x11_window.c
	tests/clipboard.c
	tests/defaults.c
	tests/events.c
	tests/fsfocus.c
	tests/glfwinfo.c
	tests/joysticks.c
	tests/peter.c
	tests/sharing.c
	tests/tearing.c
	tests/title.c
	tests/windows.c
2012-11-27 16:55:04 +01:00
m@bitsnbites.eu
1c21fc1383 Removed GLFW_SYSTEM_KEYS from the GLFW API
Rationale: Disabling system commands is inherently
dangerous, and should not be encouraged. Also, it's very
difficult to define and implement a reliable and
consistent cross-platform mechanism.
2012-11-10 22:20:47 +01:00
m@bitsnbites.eu
424e7c7b53 Removed glfwSetWindowPos and glfwGetWindowPos
glfwGetWindowPos is superseded by glfwGetWindowParam()
with GLFW_POSITION_X and GLFW_POSITION_Y as parameters.

glfwSetWindowPos can easily lead to bad practices
(moving windows around without the users consent), and
has been replaced with the GLFW_POSITION_X/Y window
hints that allow setting the window position for a
newly created window.
2012-11-10 22:19:55 +01:00
m@bitsnbites.eu
c9f4dedd96 Introduced window positioning hints and window position properties 2012-11-10 22:19:55 +01:00
Camilla Berglund
0e170f4902 Merge branch 'master' into multi-monitor 2012-10-22 02:46:06 +02:00
Camilla Berglund
467d501621 Cleanup of context clearing during window destruction. 2012-10-21 21:57:29 +02:00
Camilla Berglund
b87157ccc1 Merge branch 'master' of github.com:elmindreda/glfw 2012-10-21 21:32:51 +02:00
Camilla Berglund
c1dcd29c71 Fixed potential clearing of wrong context. 2012-10-21 21:30:13 +02:00
Camilla Berglund
d0afa65813 Formatting. 2012-10-21 16:17:20 +02:00
Camilla Berglund
c1bb1d8a6e Merge branch 'master' into multi-monitor
Conflicts:
	tests/iconify.c
2012-10-18 18:42:45 +02:00
Camilla Berglund
e6556c7f34 Comment grammar fix. 2012-10-17 17:11:56 +02:00
Camilla Berglund
d6210b11f3 Formatting. 2012-10-05 05:42:47 +02:00
Camilla Berglund
2bb62a1467 Bug fix formatting. 2012-10-04 04:08:53 +02:00
Camilla Berglund
ae5da60c18 Fixed test for wrong client API. 2012-10-04 04:05:37 +02:00
Camilla Berglund
ff09d3a343 Merge branch 'master' into multi-monitor 2012-10-02 03:11:32 +02:00
Camilla Berglund
38cad9aff0 Added client API window hint.
This is cherry-picked from the EGL branch in preparation for the EGL backend.
2012-09-30 15:32:50 +02:00
Camilla Berglund
1be1636326 Begun integrating monitor and window. 2012-09-27 21:38:35 +02:00
Camilla Berglund
c0dcb5a056 Fixed fullscreen regressions. 2012-09-23 15:08:43 +02:00
Camilla Berglund
9f94286c9a Merge branch 'master' into showwindow
Conflicts:
	readme.html
2012-09-08 21:20:45 +02:00
Camilla Berglund
1653541aca Formatting. 2012-09-06 23:03:54 +02:00
Camilla Berglund
ea7ab3e01b Fixed broken selector signature. 2012-09-06 23:02:33 +02:00
Camilla Berglund
d0ad28f174 Merge branch 'master' into showwindow 2012-08-28 17:52:31 +02:00
Camilla Berglund
e10d935efe API tag and error message cleanup. 2012-08-28 15:03:57 +02:00