Commit Graph

2193 Commits

Author SHA1 Message Date
Camilla Berglund
66b462d6e1 Make GLX backend more readable 2015-12-13 14:49:55 +01:00
Camilla Berglund
02fdd6459e Make EGL backend more readable 2015-12-13 14:49:55 +01:00
Camilla Berglund
0df4e06f11 Make more RFC 2119 compliant use of may 2015-12-13 14:49:01 +01:00
Camilla Berglund
8f0f1cf6c1 Only poll requested joystick on Linux
This also performs minor cleanup.
2015-12-13 14:49:01 +01:00
Camilla Berglund
eea46be4e6 Fix missing MinGW import library prefix
Fixes #657.
2015-12-12 18:08:45 +01:00
Camilla Berglund
fdc65e49e4 Fix bad Win32 updates 2015-12-10 12:16:13 +01:00
Camilla Berglund
75f1dfaf8a Move DWM enabled test to file where it is used 2015-12-09 19:39:16 +01:00
Camilla Berglund
72632a846b Cleanup 2015-12-09 19:39:16 +01:00
Camilla Berglund
5668b64839 Fix segfault on DISP_CHANGE_RESTART
Fixes #647.
2015-12-09 19:39:16 +01:00
Camilla Berglund
b3d0bd6081 Fix type of OpenGL bundle reference 2015-12-08 15:10:23 +01:00
Camilla Berglund
1ea66b9033 Cleanup 2015-12-07 21:17:03 +01:00
Camilla Berglund
e82e2b7570 Fix full screen window position on OS X
Fixes #653.
2015-12-07 21:14:24 +01:00
Camilla Berglund
5c98a44603 Move Win32 clipboard code to helper window 2015-11-23 20:48:51 +01:00
Camilla Berglund
4cd493dd9a Add Win32 helper window 2015-11-23 20:48:51 +01:00
Camilla Berglund
b4b210526a Move to RegisterWindowClassEx for no real reason 2015-11-23 20:38:18 +01:00
Camilla Berglund
1bf33a7402 Clarify WNDPROC window pointer handling 2015-11-21 20:55:13 +01:00
Camilla Berglund
12903ee9b5 Remove no-op ReleaseDC 2015-11-21 20:55:12 +01:00
Camilla Berglund
fc250c3df7 Cleanup 2015-11-21 20:54:24 +01:00
Camilla Berglund
486354d63f Fix libGL not being found on NetBSD
Fixes #646.
2015-11-17 23:29:13 +01:00
Emmanuel Gil Peyrot
9ac9c61433 Wayland: Make sure the cursor buffer is valid
Fixes #645.
2015-11-17 00:13:44 +01:00
Camilla Berglund
580c7da559 Make Wayland and Mir backends use key LUTs 2015-11-12 15:06:46 +01:00
Camilla Berglund
27462c1078 Cleanup 2015-11-10 13:43:55 +01:00
Stanislav
dc373d2e0e Fix for MinGW compilation
GET_XBUTTON_WPARAM is not defined on legacy MinGW.

Fixes #639.
2015-11-10 13:43:17 +01:00
Camilla Berglund
e046d0696b Add glfwGetGLXWindow 2015-11-09 23:52:03 +01:00
Camilla Berglund
d4079ad3a2 Move all context related members to _GLFWcontext 2015-11-09 23:52:02 +01:00
Camilla Berglund
b22a0ec7d8 There is only one ICD 2015-11-09 23:51:59 +01:00
Camilla Berglund
d3e5a3024c Fix update being called on nil context 2015-11-09 20:36:42 +01:00
Camilla Berglund
9c315412e1 Add glfwGetKeyName
Fixes #464.
2015-11-09 14:46:09 +01:00
Camilla Berglund
67c6a45e0e Fix xkbcommon build regression
Somehow X11 keysyms were still being used in xkbcommon code.
2015-11-09 02:33:34 +01:00
Camilla Berglund
584d5f0f31 Remove dependency on eglplatform.h header
Fixes #636.
2015-11-08 15:48:34 +01:00
Camilla Berglund
24f41c8c4c Use only LoadLibraryA to match EGL backend 2015-11-08 15:35:15 +01:00
Camilla Berglund
3efaa065a5 Fix comment 2015-11-05 20:55:15 +01:00
Camilla Berglund
9d3a3c32d6 Replace hardcoded version number with macro 2015-11-05 12:11:22 +01:00
Camilla Berglund
5006ef3f56 Use more GLFWbool 2015-11-05 08:58:40 +01:00
Emmanuel Gil Peyrot
4c06426d46 Wayland: Create the surface before the context
This fixes a regression introduced in 496f559c where a context would be
created for a NULL egl_surface, which subsequently fails.

Fixes #633.
2015-11-03 00:18:43 +01:00
Camilla Berglund
9f3636a103 Add partial support for Windows 8.1 per-monitor DPI
Related to #235.
2015-11-01 17:39:21 +01:00
Camilla Berglund
6a41d5e7ad Fix NULL pointer dereference
Calling glfwMakeContextCurrent with NULL would segfault since
496f559c9a.

Fixes #631.
Closes #632.
2015-11-01 17:39:21 +01:00
Camilla Berglund
3489b759a0 Simplify Win32 key and mouse button handling 2015-11-01 17:39:18 +01:00
Camilla Berglund
d725eeaf84 Simplify Win32 character message handling 2015-11-01 17:30:52 +01:00
Camilla Berglund
37b20124f9 Make call to DefWindowProcW explicit 2015-10-29 14:03:22 +01:00
Camilla Berglund
afb04c9133 Clarify Win32 monitor physical size retrieval 2015-10-28 20:47:29 +01:00
Camilla Berglund
25878d68e0 Use GLFWbool for TLS functions 2015-10-28 14:51:57 +01:00
Roman Donchenko
cdf08c1ff3 Fix deletion of uninitialized POSIX TLS key
Zero (the initial value of context) is a valid TLS key, so doing this
can delete someone else's key.

Fixes #627.
2015-10-28 14:44:53 +01:00
Camilla Berglund
43f4afef78 Clarify WGL recreation comment 2015-10-28 03:44:02 +01:00
Camilla Berglund
c117965072 Fix misplaced #endif 2015-10-28 03:42:47 +01:00
Camilla Berglund
23bf1b530b Move all WGL weirdness to Win32 code 2015-10-28 02:08:01 +01:00
Camilla Berglund
97d8ea8119 Fix decoding overrun in UTF-8 XIM path 2015-10-27 23:01:02 +01:00
Camilla Berglund
7be8209d14 Add GLFW_CONTEXT_NO_ERROR window hint
This adds support for the GL_KHR_no_error extension.
2015-10-27 20:36:20 +01:00
Camilla Berglund
962497bdc9 Use GLXWindow renderables on X11
Fixes #507.
2015-10-26 01:39:12 +01:00
Camilla Berglund
496f559c9a Add GLFW_NO_API for creating context-less windows 2015-10-26 00:30:30 +01:00
Emmanuel Gil Peyrot
0fda5b7b80 Fix Wayland refresh rate exposed as mHz
Closes #621.
2015-10-25 13:27:29 +01:00
Camilla Berglund
f52ce00bf1 Remove outdated comment 2015-10-25 00:39:05 +02:00
Camilla Berglund
f5855968bb Move glClear call to context module 2015-10-25 00:35:16 +02:00
Camilla Berglund
678cc54c44 Cleanup of questionable brevity 2015-10-25 00:22:37 +02:00
Emmanuel Gil Peyrot
dc5e56c2f3 Add GCC printf format check to _glfwInputError
This allows it to print a warning whenever _glfwInputError format
specifiers aren't used correctly.

Closes #622.
2015-10-24 23:52:46 +02:00
Camilla Berglund
efdbfd3883 Cleanup 2015-10-24 23:40:02 +02:00
Ricardo Vieira
e8f3de0f2e Implement glfwCreateStandardCursor for Wayland
Closes #620.
2015-10-24 23:31:11 +02:00
Camilla Berglund
d95b77ebec Fix monitor notifications on X11
Fixes #288.
2015-10-24 23:25:20 +02:00
Camilla Berglund
154b01e8cf Cleanup 2015-10-24 23:24:54 +02:00
Camilla Berglund
5fd9709a8b Remove support for OS X 10.6 2015-10-24 21:52:00 +02:00
Camilla Berglund
aee6b8765e Remove support for OS X 10.6
If you want 10.6 to be supported in future releases, please submit
a patch for #448.
2015-10-18 19:16:54 +02:00
Camilla Berglund
a94a84b507 Fix segfault on early WM_GETMINMAXINFO 2015-10-18 18:50:38 +02:00
Camilla Berglund
9dd3b8101a Clarify Win32 getWindowFullSize 2015-10-18 17:18:34 +02:00
Camilla Berglund
d84772d620 Add size limits and aspect ratio functions
Fixes #555.
2015-10-18 17:18:29 +02:00
Camilla Berglund
0aca5082ab Replace LoadIcon with LoadImage
Fixes #585.
2015-10-15 17:58:29 +02:00
Camilla Berglund
3795d78b14 Clean up DLL loading 2015-10-15 02:46:07 +02:00
Camilla Berglund
a407a673dd Add native Wayland and Mir functions
Fixes #419.
2015-10-15 01:48:44 +02:00
Camilla Berglund
8aaa6d2162 Cleanup 2015-10-14 13:43:05 +02:00
Camilla Berglund
22eca139fb Remove compile-time client library selection 2015-10-14 13:43:05 +02:00
Camilla Berglund
ac9a6f8504 Clarify client API major version tests 2015-10-13 00:48:32 +02:00
Camilla Berglund
bf7cce25dc Replace external context and client API headers 2015-10-13 00:48:18 +02:00
Camilla Berglund
0eccf75f65 Replace GL booleans with public macros 2015-10-13 00:46:02 +02:00
Camilla Berglund
13fbb4748a Clean up cursor mode setting 2015-10-12 22:01:50 +02:00
Camilla Berglund
95a07f3340 Start 3.2 2015-10-12 21:59:49 +02:00
Aaron Jacobs
755f913b02 Fix invalid types, null pointer use, memory leak
Closes #612.
2015-10-12 21:09:07 +02:00
Camilla Berglund
fb6fbcf700 Fix video modes not restored when hiding OS X app 2015-10-12 21:08:59 +02:00
Camilla Berglund
e0084617d5 Fix monitor disappearing on OS X with AGS
When automatic graphics switching is activated, the CGDirectDisplayID
for the display changes, casuing the primary GLFWmonitor to disappear.
2015-10-12 18:42:18 +02:00
Camilla Berglund
0d759c8c1a Fix XBufferOverflow handling for XIM input 2015-10-09 14:16:01 +02:00
Camilla Berglund
87ad8c0561 Fix XIM input on non-UTF-8 locales 2015-10-09 13:26:23 +02:00
Camilla Berglund
842aeb8c47 Make Win32 video mode enumeration faster 2015-10-04 13:51:35 +02:00
Camilla Berglund
3dc53e21e5 Cleanup 2015-09-20 15:52:44 +02:00
Camilla Berglund
7c6a8775eb Fix error type for unavailable pixel format error
All backends reported this as GLFW_PLATFORM_ERROR, while the
documentation mandates GLFW_FORMAT_UNAVAILABLE.
2015-09-16 16:24:21 +02:00
Camilla Berglund
f6f0771770 Replace NSScreen with platform functions 2015-09-07 16:32:10 +02:00
Camilla Berglund
4b4cb9ce66 Fix window refresh events emission on OS X 2015-09-07 16:32:10 +02:00
Camilla Berglund
67eadf1e97 Fix glfwIconifyWindow not restoring video mode
Fixes #590.
2015-09-07 16:32:10 +02:00
Camilla Berglund
6123937bde Add missing version string entries 2015-09-01 17:19:09 +02:00
Camilla Berglund
da3a77b4e3 Add dynamic client library loading to EGL backend
Fixes #586.
2015-08-27 20:52:10 +02:00
Camilla Berglund
255f9f0234 Fix deadlock with negative swap interval on Aero
Fixes #587.
2015-08-27 20:25:28 +02:00
Camilla Berglund
ba4504a9c7 Formatting 2015-08-25 02:26:10 +02:00
Camilla Berglund
7e13a4909e Make all EGL functions dynamically loaded 2015-08-25 02:24:42 +02:00
Camilla Berglund
afe4aadade Make all GLX functions dynamically loaded 2015-08-18 17:56:34 +02:00
Camilla Berglund
8db7528ac7 Add support for Cygwin libGL soname 2015-08-18 16:58:32 +02:00
Camilla Berglund
2d39dff84a Replace XkbGetKeyboard with XkbGetMap
Switch to XkbGetMap as XkbGetKeyboard returns NULL on XWayland.

Fixes #389.
2015-08-18 14:27:28 +02:00
Camilla Berglund
b69b4a9f2a Remove global symbols for Motif WM hints 2015-08-18 13:34:51 +02:00
Camilla Berglund
41287694cb Replace convertBaseToScreen deprecated in 10.11
Closes #534.
2015-08-17 19:46:24 +02:00
Camilla Berglund
04a439a0a0 Fix function name conflict between source files
Fixes #574.
2015-08-16 15:35:12 +02:00
Camilla Berglund
e528a8c7a4 Clarify comment for X11 translateKey 2015-08-16 15:12:13 +02:00
Camilla Berglund
0db3940cc4 Formatting 2015-08-16 14:28:51 +02:00
Camilla Berglund
e2bb5e1726 Fix glfwWaitEvents generating events on Win32
Disabled cursor mode caused subsequent glfwWaitEvents calls to return
directly on Win32 due to cursor re-centring emitting WM_MOUSEMOVE.

Fixes #543.
2015-08-16 14:27:54 +02:00
Camilla Berglund
9f5a483256 Fix glfwWaitEvents returning prematurely on X11 2015-08-14 13:52:02 +02:00
Camilla Berglund
cc752ad6a0 Fix EINTR not being handled for select on X11
Closes #580.
2015-08-14 13:49:52 +02:00
Camilla Berglund
a02aeaf972 Fix a maybe-uninitialized warning on GCC 4.9 2015-08-12 18:03:08 +02:00
Camilla Berglund
ca8912375c Fix Motif hints being set for X11 full screen
Related to #575.
2015-08-12 18:02:45 +02:00
Camilla Berglund
6b8d490249 Make all client API functions dynamically loaded 2015-08-12 01:01:42 +02:00
Camilla Berglund
84b512c62c Make all WGL functions dynamically loaded 2015-08-12 01:01:37 +02:00
Camilla Berglund
1343ef5915 Replace stray malloc with calloc 2015-08-10 11:13:39 +02:00
Camilla Berglund
fcd6ec99d3 Formatting 2015-08-09 13:58:50 +02:00
Camilla Berglund
90adbe0451 Fix no-GLES-on-NSGL error type and description 2015-08-09 13:37:53 +02:00
Camilla Berglund
f6defeff5d Remove C++-isms in Mir port
Related to #568.
2015-08-09 13:29:21 +02:00
Camilla Berglund
0a1225d0df Decouple Win32 cursor setting and tracking 2015-08-09 13:26:41 +02:00
Camilla Berglund
527952102a Fixed filtering of events duplicated by XIM.
Duplicate events cannot be filtered by the return value of XFilterEvent,
as that discards dead key events on some IMs (ibus), nor by its inverse,
as that discards all key events on other IMs (?).  This solution is
based on the workaround in SDL2 and takes advantage of the identical
time of the duplicate events.

Fixes #548.
Closes #554.
Closes #571.
2015-08-07 16:53:43 +02:00
Camilla Berglund
f8395886d3 Formatting 2015-07-30 20:36:03 +02:00
Brandon Schaefer
9527c93a1c Move to the new MirEvent 2.0 + 0.14/0.15 changes
Closes #568.
2015-07-30 20:35:55 +02:00
Camilla Berglund
1f95fac699 Extension string type cleanup. 2015-07-28 14:12:16 +02:00
Camilla Berglund
e686f5a249 Fixed AppKit not initialized for cursor creation. 2015-07-21 17:22:21 +02:00
Camilla Berglund
04c057238b Added support for EXT_framebuffer_sRGB.
Added sRGB extensions to standards conformance page.
2015-07-16 17:48:00 +02:00
Camilla Berglund
bfe55118dd Fixed name of Win32 cursor tracking flag. 2015-07-14 15:45:22 +02:00
Camilla Berglund
f825af06f0 Formatting. 2015-07-14 15:45:22 +02:00
Camilla Berglund
2205bdd469 Improved X11 display opening failure. 2015-07-06 14:38:00 +02:00
Camilla Berglund
0f3b69c79d Fixed missing utility function return types.
Fixes #546.
2015-07-05 01:13:52 +02:00
Camilla Berglund
a97477337d Updated changelog and credits, formatting.
Fixes #17.
Closes #536.
2015-06-26 13:41:27 +02:00
Aaron Jacobs
fec6f187d1 Do not recurse over IOHIDElement children. 2015-06-26 13:07:49 +02:00
Aaron Jacobs
1a96c294ee Add support for joystick hot swapping on OS X. 2015-06-26 13:07:39 +02:00
Camilla Berglund
19a28e2c9f Fixed X11 arrow cursor image.
Fixes #541.
2015-06-25 12:59:51 +02:00
Camilla Berglund
1984d40e33 Formatting. 2015-06-25 01:23:23 +02:00
Camilla Berglund
cf4206d987 Fixed duplicate key presses caused by XIM.
Probably.
2015-06-25 00:43:12 +02:00
Camilla Berglund
cc4c232956 Renamed cursor window library struct member.
Since _glfwPlatformWindowFocused it has a more limited role.
2015-06-17 12:06:45 +02:00
Camilla Berglund
226f85efcb Key translation tables are now in _glfw. 2015-06-16 22:26:30 +02:00
Camilla Berglund
2aa8e17c88 Cleanup. 2015-06-16 22:16:36 +02:00
Camilla Berglund
3365139a6c Cleanup. 2015-06-16 12:10:20 +02:00
Camilla Berglund
3a0b397054 Fixed regression for WGL full screen DWM hack.
The DwmFlush workaround for windowed windows on Nvidia caused jitter for
full screen windows.  The workaround is now only used for windowed mode
windows.

Fixes #519.
2015-06-15 20:19:49 +02:00
Camilla Berglund
b15eaeda16 Implemented auto-iconification on X11.
Fixes #531.
2015-06-15 18:46:45 +02:00
Camilla Berglund
e049190ff1 Moved focus callback triggering last. 2015-06-15 18:46:45 +02:00
Camilla Berglund
dba59cf903 Improved X11 focus event filtering.
Some focus events need to be ignored to allow functionality like
Alt+Tab and volume indicators to not affect application-visible window
focus.  However, the previous filtering was too broad and missed virtual
desktop switching, Alt+Tab and programmatic iconification.

Fixes #405.
2015-06-15 18:44:54 +02:00
Camilla Berglund
56122cbe2f Keep X11 full screen window properties on iconify. 2015-06-15 15:32:35 +02:00
Camilla Berglund
c77edaee34 Always pre-position X11 full screen windows. 2015-06-15 15:32:35 +02:00
Camilla Berglund
21ce21cc07 Improved X11 full screen focus control flow. 2015-06-15 15:32:16 +02:00
Camilla Berglund
6cf15615e8 Clarified EWMH full screen error messages. 2015-06-15 14:39:56 +02:00
Camilla Berglund
a1399426c3 Removed superfluous X11 window struct member. 2015-06-15 14:38:13 +02:00
Camilla Berglund
81249724e3 Removed retrieval of unused values. 2015-06-15 14:36:32 +02:00
Camilla Berglund
bdcffa90eb Remove superfluous X11 library struct member. 2015-06-15 14:28:13 +02:00
Camilla Berglund
1ee4c4ba62 Clarified control flow in X11 event processing. 2015-06-15 14:24:27 +02:00
Camilla Berglund
08b3af4387 Fixed non-pre-edit character input via XIM.
Fixes #501.
Fixes #473.
2015-06-09 21:10:01 +02:00
Camilla Berglund
8e96402819 Formatting. 2015-06-09 21:04:58 +02:00
Camilla Berglund
ec6f0811a0 Improved initial placement of full screen windows. 2015-06-08 16:14:51 +02:00
Camilla Berglund
a257e7a3ee Removed caching of Win32 window styles. 2015-06-08 16:10:07 +02:00
Camilla Berglund
bb50368d55 Fixed enumeration of invalid video modes.
Fixes #350.
2015-06-07 21:34:46 +02:00
Camilla Berglund
ff67e06844 Added prefixes to header guard macros. 2015-06-07 19:32:24 +02:00
Camilla Berglund
5f74c2afdf Cleanup. 2015-06-07 18:27:37 +02:00
Camilla Berglund
96b3f17d02 Re-used config structs for hints. 2015-06-07 18:14:07 +02:00
Camilla Berglund
58c2c10cdb Moved helper functions to correct section. 2015-06-07 13:24:09 +02:00
Camilla Berglund
e6cc3c4752 Clarified WM_PROTOCOLS event handling. 2015-06-02 17:54:25 +02:00
Camilla Berglund
9f0e359d73 Formatting. 2015-06-02 17:27:35 +02:00
Camilla Berglund
82c5dfc30a Formatting. 2015-06-02 17:26:23 +02:00
Camilla Berglund
ee2d036bbf Fixed destination of _NET_WM_PING reply. 2015-06-02 17:25:09 +02:00
Camilla Berglund
cf363103d2 Formatting. 2015-06-02 17:10:22 +02:00
Camilla Berglund
41af5aaae2 Simplified sending events to WM. 2015-06-02 17:09:38 +02:00
Camilla Berglund
f0212f3f15 Fixed typo in function declaration. 2015-06-02 13:51:24 +02:00
Camilla Berglund
b00a7d0619 Simplified version string functions. 2015-06-02 03:32:29 +02:00
Camilla Berglund
ef6dec17ba Added missing entries to Linux version strings. 2015-06-02 03:32:28 +02:00
Camilla Berglund
b067bb6304 Removed swap interval re-application hack.
This approach is not compatible with multi-threading.
2015-06-02 03:32:27 +02:00
Camilla Berglund
38ca109766 Clarified context TLS function names. 2015-06-01 04:00:55 +02:00
Camilla Berglund
6d5753c548 Added support for AMD PowerXpress override.
Generalized _GLFW_USE_OPTIMUS_HPG to _GLFW_USE_HYBRID_HPG to reflect the
change.

Fixes #520.
2015-05-29 13:15:32 +02:00
Camilla Berglund
38ae319bea Header inclusion cleanup. 2015-05-28 01:52:22 +02:00
Camilla Berglund
287e30239c Renamed extension version struct members. 2015-05-28 01:52:22 +02:00
Camilla Berglund
3c52cb1790 Simplified glXGetProcAddress logic.
Removed compile-time selection of GLX entry point retrieval mechanism.
Made dlopen a required dependency.

This is a stopgap solution until we start requiring GLX 1.4.
2015-05-27 02:20:55 +02:00
Camilla Berglund
8309e0ecb0 Use DwmFlush when DWM is enabled.
Use DwmFlush instead of WGL_EXT_swap_control when desktop compositing is
enabled, to avoid the jitter of DWM and WGL vsync fighting.

Fixes #516.
2015-05-21 18:28:53 +02:00
Camilla Berglund
8f0fd7ecf5 Reverted to plain NSView.
Fixes #500.
Fixes #443.
Closes #504.
Closes #510.
2015-05-18 22:55:38 +02:00
Camilla Berglund
9040c64e5b Implemented GLFW_AUTO_ICONIFY on OS X.
Fixes #506.
2015-05-06 23:53:52 +02:00
Camilla Berglund
905073a506 Simplified WGL extension logic.
Not applying this to GLX or EGL yet because Mesa.
2015-05-04 19:31:33 +02:00
Emmanuel Gil Peyrot
656666e722 wayland: Fix typo introduced in e253beaa.
Closes #502.
2015-04-20 22:34:30 +02:00
Emmanuel Gil Peyrot
e253beaa2b wayland: Implement glfwGetCursorPos
Closes #499.
2015-04-19 13:27:43 +02:00
Eric Larson
ad1739c63f Fixed invalid pointer when Xrandr is unavailable.
Fixes #497.
Closes #498.
2015-04-14 21:11:27 +02:00
Camilla Berglund
b415b9aacf Fixed harmless argument reversal. 2015-04-14 19:05:58 +02:00
Camilla Berglund
dc9d287e33 Comment cleanup. 2015-04-14 18:32:54 +02:00
Camilla Berglund
135be952fe Added reporting of unlikely WGL extension error. 2015-04-14 18:32:53 +02:00
Camilla Berglund
c21a8573b4 Replaced comment with assertion. 2015-04-14 18:32:53 +02:00
Camilla Berglund
5c3f8efd23 Context config translation cleanup. 2015-04-10 13:18:26 +02:00
Camilla Berglund
076d9311fa Removed tab characters. 2015-04-10 13:17:27 +02:00
Camilla Berglund
c5099ff407 Cleanup of #493. 2015-04-09 17:59:37 +02:00
Chi-kwan Chan
4277e9f5d6 Removed NSScreen member of OS X monitor.
Apple's documentation of [NSScreen screens] mentions that, "The
(screens) array should not be cached.  Screens can be added, removed,
or dynamically reconfigured at any time."  Because of this, we simply
obtain the screen from a displayID whenever we need it.

Fixes #492.
Closes #493.
2015-04-09 17:59:37 +02:00
Camilla Berglund
882b770ecb Cleanup of #487. 2015-04-09 17:59:37 +02:00
Elviss Strazdins
a21f586c3b Removed check for whether context is current.
The GLFW TLS slot will be out of sync if an outside source makes another
context current.

Fixes #487.
2015-04-09 17:59:37 +02:00
Camilla Berglund
2fbd948a67 Fixed initialization failing on headless systems.
Fixes #482.
2015-04-09 17:59:37 +02:00
Camilla Berglund
49cf82a0ac Cleaned up monitor and video mode enumeration. 2015-04-09 17:40:27 +02:00
Camilla Berglund
16e80258b8 Shrunk error message buffer.
This fixes a VC++ static analysis warning.
2015-04-07 22:19:57 +02:00
Camilla Berglund
1861cf4975 Removed stale comment. 2015-04-07 02:29:49 +02:00
Emmanuel Gil Peyrot
4974585d04 wayland: Handle disconnect properly
Merge code for PollEvents and WaitEvents, and handle disconnect properly.
2015-03-26 15:12:49 +08:00
Camilla Berglund
5268914b3f Started 3.1.2. 2015-03-20 00:16:24 +01:00
Camilla Berglund
29b40112c2 Fixed sleeping monitors being excluded from list.
Closes #430.
2015-03-19 16:21:52 +01:00
Camilla Berglund
8f08661d9e Header option macro fixes and documentation work.
This adds compile-time checks and documentation warning about defining
header option macros during compilation of GLFW.

Fixes #445.
2015-03-17 16:39:09 +01:00
Camilla Berglund
eb7688df8f Added select to all custom X11 event polling.
All loops waiting for specific events now use select to sleep while
there is no new data.
2015-03-16 18:29:37 +01:00
Camilla Berglund
e8f8ec027d Documented C locale hack. 2015-03-15 15:55:54 +01:00
Camilla Berglund
d493a82f9e Various error fixes.
Fixed incorrect error types.  Added missing error string prefixes.
Removed some invalid or superfluous error emissions.  Clarified some
error strings.  Joined error string lines to aid grep.  Replaced some
generic error strings with specific ones.  Documentation work.

Fixes #450.
2015-03-15 15:52:27 +01:00
Camilla Berglund
a75e43ef22 Moved _NET_REQUEST_FRAME_EXTENTS to frame query.
The request is now only made when necessary and times out after 500ms.
This breaks our end of the protocol to work around broken
implementations at the other end.

It uses the GLFW timer instead of select, as select is not guaranteed to
update the timeout with the time remaining and a single select is not
sufficient as other events may be incoming.

Fixes #368 (mostly).
Fixes #429 (mostly).
2015-03-15 15:47:39 +01:00
Camilla Berglund
5bbc2b4949 Added and documented glfwSetGamma value checks. 2015-03-15 15:47:39 +01:00
BryceMehring
c43f082993 Fixed X11 mouse button mismatch.
Bug introduced by 4d146cb39d.

Closes #449.
2015-03-15 15:47:39 +01:00
Camilla Berglund
6e20cda7fd Fixed test for invalid timer values.
Fixes #436 (properly).
2015-03-15 15:47:39 +01:00
Camilla Berglund
c1dce0f617 Cleanup. 2015-03-07 22:33:04 +01:00
Camilla Berglund
6e9788a9e6 Removed invalid context hint checks.
These are documented as ignored for OpenGL ES contexts.
2015-03-07 22:31:59 +01:00
Camilla Berglund
d90f5e0429 Fixed debug bit not being set for OpenGL ES. 2015-02-27 02:53:21 +01:00
Camilla Berglund
48f4a591de Formatting. 2015-02-22 19:22:48 +01:00
Camilla Berglund
a8bc2af649 Removed support for Borland C++. 2015-02-22 19:22:48 +01:00
Camilla Berglund
4d146cb39d Fixed hole in mouse button sequence on X11. 2015-02-22 19:22:48 +01:00
Camilla Berglund
cf7dc1d737 Documented hidden cursor workaround. 2015-02-22 19:22:48 +01:00
Aleksey Rybalkin
a343e9a475 Added workaround for cursor hiding on some WMs.
Closes #431.
Fixes #309.
2015-02-22 19:22:48 +01:00
Jonathan Miller
dc4f0f6c91 Fixed close being used instead of inotify_rm_watch.
Closes #432.
Fixes #440.
2015-02-22 19:22:48 +01:00
Camilla Berglund
85de0db05d Fixed glfwSetTime accepting invalid values.
Fixes #436.
2015-02-22 19:22:33 +01:00
Camilla Berglund
75a6d87542 Added support for Cygwin-X.
Fixes #406.
2015-02-16 15:40:57 +01:00
Camilla Berglund
5f21e213df Made Xxf86vm optional at compile-time. 2015-02-16 15:40:41 +01:00
Camilla Berglund
f4c127f75a Made XInput2 optional at compile-time.
This is required for RHEL 5, CentOS 5 and Cygwin-X.

Fixes #314.
2015-02-16 15:40:39 +01:00
Camilla Berglund
93855ae6ab Fixed name of path drop list. 2015-02-16 15:40:08 +01:00
Camilla Berglund
ac8dba2a80 Cleaned up text/uri-list parsing. 2015-02-16 15:40:08 +01:00
Camilla Berglund
21280ca775 Fixed glfwSetWindowSize not changing video mode.
glfwSetWindowSize did not change the video mode for full screen windows
on OS X.

Fixes #423.
2015-01-29 15:56:06 +01:00
Camilla Berglund
ead8a1c333 Started 3.1.1. 2015-01-25 10:42:01 +01:00
Camilla Berglund
ce8f97c23c Documentation work.
Fixes #212.
Fixes #420.
2015-01-16 01:34:12 +01:00
Camilla Berglund
bb338a2b9c Fixed monitor size not corrected for rotation.
Fixes #413.
2015-01-08 04:01:40 +01:00
Camilla Berglund
4329a78011 Removed check for NULL to glfwExtensionSupported. 2015-01-08 04:01:40 +01:00
Camilla Berglund
d311e28038 Fixed extension retrieval for OpenGL ES 3+. 2015-01-06 20:22:34 +01:00
Camilla Berglund
6c7509c942 Improved robustness of Linux joystick init. 2015-01-06 19:36:23 +01:00
Camilla Berglund
dcc78017b0 Fixed iconification event for maximized windows. 2015-01-06 15:36:15 +01:00
Camilla Berglund
9ec1a4361b Removed duplication from bad rebase. 2015-01-06 15:24:53 +01:00
Camilla Berglund
40f7d4fce0 Fixed cleanup on some Mir errors.
Release was called on invalid handles.
2015-01-06 15:24:38 +01:00
Camilla Berglund
ead3937394 Mir string fixes. 2015-01-06 02:38:00 +01:00
BrandonSchaefer
cbc18bf968 Various Mir fixes.
Changed set_type --> set_state.
Give more info back when an error happens with a connection/surface.
Small var name change size --> mirPixelFormats.

Fixes #412.
2015-01-06 01:45:17 +01:00
Camilla Berglund
0fcbaeb596 Fixed broken Mir and Wayland builds.
Fixes #411.
2015-01-06 01:44:31 +01:00
Camilla Berglund
fe7a4eb4ff Improved CMake config file generation. 2015-01-06 01:42:01 +01:00
Camilla Berglund
58e9d7a8ec Added refresh event on backing property change. 2015-01-05 22:33:06 +01:00
Camilla Berglund
439417a22c Comment and string spell check pass. 2015-01-05 22:21:31 +01:00
Camilla Berglund
3c70155504 Formatting. 2015-01-05 20:24:48 +01:00
Camilla Berglund
e64699bd54 Updated no-replacement-for-function date. 2015-01-05 01:43:02 +01:00
Camilla Berglund
5f6aa9c34c Added IDE folders to CMake files.
Fixes #328.
2015-01-05 01:19:02 +01:00
Camilla Berglund
1634742177 Fixed lifetime management of application delegate. 2015-01-04 18:22:46 +01:00
Camilla Berglund
d459145d28 Made glfwGetCursorPos query system directly.
Fixes #103.
Fixes #153.
Fixes #193.
Fixes #355.
Fixes #381.
2015-01-04 16:54:19 +01:00
Camilla Berglund
641761ddb0 Changed state attribs to direct access.
Changed the window states (focused, iconified and visible) to query the
system directly.

THIS IS A BREAKING CHANGE, although a fairly obscure one.  It affects
applications that both care about telling actual key events from
synthetic ones, and are implemented in a non-self-synchronizing way, and
that poll the GLFW_FOCUSED window attribute instead of using the window
focus callback.

If you maintain one of these, please feel free to drop me an email and
I'll help any way I can to transition your application to 3.1.

Fixes #189.
Fixes #204.
2015-01-04 16:53:32 +01:00
Camilla Berglund
45eebb39fb Fixed order of operations. 2014-12-31 22:32:09 +01:00
Camilla Berglund
a6ded4d3fe Formatting. 2014-12-31 22:32:08 +01:00
Camilla Berglund
aa7f827e72 Fixed pre-drop cursor position update.
Progresses #381.
2014-12-31 22:24:21 +01:00
Camilla Berglund
54a1fad13b Fixed cursor sometimes not being set. 2014-12-30 21:55:20 +01:00
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
56202ee7c6 Added Linux joystick hot-plugging via inotify.
This is a temporary solution until the proper libudev one.

Progresses #17.
2014-12-28 13:28:09 +01:00
Camilla Berglund
5964f74e3a Fixed software renderer being selected on OS X. 2014-12-27 22:31:30 +01:00
Camilla Berglund
e0132c3099 Added use of OpenGL 4.1 profile token on OS X.
Fixes #395.
2014-12-27 22:29:25 +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
b2030f6d73 Fixed X11 character input for C locale.
Fixes #396.
2014-12-18 03:24:38 +01:00
Camilla Berglund
44372b89f6 Documentation work. 2014-12-18 02:53:14 +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
0c44a6be7f Fixed export directive for Optimus workaround. 2014-12-11 13:34:59 +01:00
Camilla Berglund
e1ae9af5a0 Removed OS X display capturing (for now).
Fixes #378 (poorly).
2014-12-02 23:25:07 +01:00
Camilla Berglund
b81a19928d Fixed auto-hiding of windowed windows on OS X. 2014-12-02 23:15:08 +01:00
BrandonSchaefer
e778b83667 Move redundant free to where its not redundant. 2014-12-01 21:12:20 +01:00
BrandonSchaefer
a71a52ddd6 Check queue == NULL if we can't connect to server. 2014-12-01 21:12:20 +01:00
BrandonSchaefer
d300aa3255 Fix the found issue. Found needs to be 1.
This is needed for realloc, while index should be 0.  So using i for the
index, and found for the count.
2014-12-01 21:12:19 +01:00
BrandonSchaefer
f306ea2f5d Create an event queue to store all MirEvents.
This ensures all events come out of the same thread, as well as ensuring
the threads sync up correctly when touching the event queue.
2014-12-01 21:12:15 +01:00
BrandonSchaefer
0a5d57eade Fixed realloc, should be monitors.
Moved found to the end of the loop, otherwise found = 1 causing index 0 to
crash.

HACK: Retrieve video modes from platform-specific code.
2014-12-01 21:08:25 +01:00
Camilla Berglund
a8b0d1c8e0 Updated changelog and credits, formatting.
Closes #384.
2014-11-27 15:41:17 +01:00
Cyril Pichard
cc10527706 Fixed position for full screen override redirect. 2014-11-27 15:38:21 +01:00
Camilla Berglund
916371e04c Formatting. 2014-11-10 02:04:43 +01:00
Camilla Berglund
e059f012d7 Removed unused members. 2014-11-10 02:00:14 +01:00
Camilla Berglund
13ac6e9a82 Fixed platform code writing to shared members. 2014-11-10 02:00:14 +01:00
Camilla Berglund
10a74924e3 Removed function duplicating _glfwAllocMonitor. 2014-11-10 02:00:14 +01:00
BrandonSchaefer
8d5043f409 Could be a crash here, best to just check. 2014-11-10 02:00:14 +01:00
BrandonSchaefer
c03f273941 Fix crash from test/sharing. 2014-11-10 02:00:14 +01:00
BrandonSchaefer
4674ed367d Fix some memory leaks.
One in wl_init.c, need to clean up Joysticks.
Finish getting the monitor modes set up.
Finish adding Unsupported error messages.
2014-11-10 02:00:14 +01:00
BrandonSchaefer
f4f525549c Finish up the monitor work. 2014-11-10 02:00:14 +01:00
BrandonSchaefer
ac73c2bd6c Get the correct mod for each KEY/MOTION event. 2014-11-10 02:00:14 +01:00
BrandonSchaefer
cb4ccc59c2 Realloc the monitor size for each IN USE monitor. 2014-11-10 02:00:14 +01:00
BrandonSchaefer
d76d56ce74 Add the start of size of each monitor and modes. 2014-11-10 02:00:14 +01:00
BrandonSchaefer
50cf4cfda3 Add Mir file licenses. 2014-11-10 02:00:14 +01:00
BrandonSchaefer
9bd0fae684 Make sure we go through all the pointer_coords. 2014-11-10 02:00:14 +01:00
BrandonSchaefer
8712d84bcc Add in Mir input handling. 2014-11-10 02:00:14 +01:00
BrandonSchaefer
49696d0134 Init context API for native display. 2014-11-10 02:00:14 +01:00
BrandonSchaefer
4295b77582 Set up the Mir connection.
Set up the first of the Mir surface.
2014-11-10 02:00:14 +01:00
BrandonSchaefer
46c9663ed7 I should add the actual mir_* source files :). 2014-11-10 02:00:14 +01:00
BrandonSchaefer
cfb7d2f036 Start with the skeleton code for Mir support. 2014-11-10 02:00:14 +01:00
Camilla Berglund
bc219056a6 Removed superfluous comments. 2014-11-10 01:57:45 +01:00
Camilla Berglund
899117e785 Possible control flow clarification. 2014-11-06 19:37:52 +01:00
Camilla Berglund
382133b384 Fixed test for no found monitors. 2014-11-06 02:11:52 +01:00
Camilla Berglund
8de5c4e3b8 Fixed OS X full screen window hiding. 2014-11-05 18:40:22 +01:00
Camilla Berglund
c112804539 Ignore deprecated attributes on OS X core. 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
9f58d8d715 Added comment. 2014-11-03 19:16:29 +01:00
Camilla Berglund
49ec306a0a Added glfwGet*Adapter to native API. 2014-10-29 02:55:02 +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
6a3779d635 Cleanup. 2014-10-13 18:51:47 +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
5f13279557 Merged time functions into input module. 2014-10-13 15:48:40 +02:00
Camilla Berglund
bb98eae131 Merged joystick functions into input module. 2014-10-13 15:48:40 +02:00
Stef Velzel
653079b792 Fixed Win32 string conversion.
Specifying -1 as the source string size makes the returned size include
the null terminator.

Closes #364.
2014-10-12 15:18:30 +02:00
Camilla Berglund
45d528baed Cleanup. 2014-10-07 16:20:49 +02:00
Camilla Berglund
2a255e49e2 Made static library build with -fPIC for Rust.
Fixes #199.
2014-10-07 12:48:01 +02:00
Camilla Berglund
e0c26f0ec5 Changed default of GLFW_REFRESH_RATE.
Fixes #354.
2014-10-06 23:52:10 +02:00
Jonas Ådahl
4dd669661b wayland: Coding style cleanup
Fixes * positioning, indentation and newline inconsistencies.
2014-09-28 21:54:09 +02:00
Jonas Ådahl
b1033a3443 wayland: Default to 32 cursor image size
This is the default across various toolkits (weston, GTK+ for example)
so lets stick to that.
2014-09-28 21:51:12 +02:00
Jonas Ådahl
cd51d285e6 wayland: Clean up anonymous file creation
It was a copy paste without fully updating the coding style. There were
also some autotools macros that were no longer valid. So far its assumed
that the needed functions exist. If better portability is needed, there
needs to be some detction added to the cmake build script.
2014-09-28 21:47:18 +02:00
Jonas Ådahl
6e8e94837d wayland: Don't check *alloc result 2014-09-28 21:46:16 +02:00
Camilla Berglund
468714cab9 Unified video mode enumeration. 2014-09-22 19:25:05 +02:00
Camilla Berglund
4918514eaf Added support for _NET_WM_FULLSCREEN_MONITORS.
This allows EWMH full screen windows to correctly cover monitors that
overlap other monitors, such as an Oculus Rift mapped onto a section of
a larger monitor.

Fixes #175.
2014-09-22 13:31:59 +02:00
Camilla Berglund
c769061a8a Cleanup of basic XIM support.
Shortened and simplified the code.  Removed reporting of XIM sentinel
key press event.  Added credit.  Updated changelog.

Closes #151.
2014-09-22 11:08:33 +02:00
Lucas Hinderberger
cec63f3cb5 Fixed dead keys in X11.
The library will now try to create an X input context to handle dead
keys properly on international keyboards.  This makes it possible to
enter for example an e with accent grave on a German keyboard without
further efforts.  A fallback mechanism is provided in case the client
does not support X input method / context creation.  In that case, the
library will behave as it did before.
2014-09-22 11:08:33 +02:00
Camilla Berglund
49579165a7 Added value clamping for stereo hint. 2014-09-18 20:40:11 +02:00
Camilla Berglund
58c390991c Made glfwGetX11Monitor return output, not CRTC. 2014-09-17 12:45:51 +02:00
Camilla Berglund
4b27050afe Fixed error return values of native EGL functions. 2014-09-17 12:36:11 +02:00
Camilla Berglund
a0742e99e3 Fixed error return value of glfwGetCocoaMonitor. 2014-09-17 12:28:26 +02:00
Camilla Berglund
99cedceef5 Expose display device name as UTF-8.
This makes interaction with libOVR simpler, as it provides the display
device name in the same encoding.
2014-09-16 18:28:08 +02:00
Camilla Berglund
1b6d8a6ed6 Enabled enumeration of mirroring displays.
This exposes all monitors in every mirroring group, which is needed for
robust detection of an Oculus Rift.
2014-09-16 18:27:33 +02:00
Camilla Berglund
8fd69bc6c2 Fixed monitor size using wrong incorrect value.
The display device string was used, instead of the adapter device name,
leading to the wrong incorrect physical size being returned for
non-primary monitors.  The right incorrect physical size is now returned
for all monitors.
2014-09-15 17:11:35 +02:00
Camilla Berglund
5bbb837635 Fixed gamma functions acting on whole desktop.
Fixes #336.
2014-09-12 14:40:28 +02:00
Camilla Berglund
5ca875a7ff Fixed incorrect full screen window placement.
Fixes #213.
2014-09-10 14:31:22 +02:00
Camilla Berglund
e9c7314d50 Added GLFW_FOCUSED window hint.
Fixes #101.
2014-09-10 11:50:50 +02:00
Camilla Berglund
4ae6eae58d Made queries use XRRGetScreenResourcesCurrent.
Fixes #347.
Closes #351.
2014-09-10 11:50:42 +02:00
Camilla Berglund
7dba90b7ca Removed racy checks of cached iconification state. 2014-09-09 16:53:22 +02:00
Camilla Berglund
41d998eb3c Removed duplicate inclusion of client header. 2014-09-09 16:43:24 +02:00
Ricardo Vieira
25204b1ec7 wayland: Support for setting a cursor image
Closes #346.
2014-09-09 16:38:47 +02:00
Camilla Berglund
8d170c7f47 Merged clipboard code into input. 2014-09-09 16:36:41 +02:00
Camilla Berglund
4aa9174e76 Clarified comments for X11 key repeat hack. 2014-09-03 01:46:11 +02:00
Camilla Berglund
3fcc2a6cb2 Documented use of deprecated OS X function. 2014-09-03 00:31:39 +02:00
Camilla Berglund
f8d80a936f Internal header cleanup. 2014-09-02 19:47:29 +02:00
Camilla Berglund
c85294e0b2 Window class cleanup. 2014-08-31 14:21:55 +02:00
Camilla Berglund
82dc6c8b8f Removed option to disable loading of winmm. 2014-08-31 13:51:21 +02:00
Camilla Berglund
b1fd3c00d0 Removed duplicate window position clearing. 2014-08-26 14:46:02 +02:00
Camilla Berglund
c700978c45 X11 library struct cleanup and comments. 2014-08-22 11:19:02 +02:00
Camilla Berglund
5d525c4a5f Moved display closing into _glfwPlatformTerminate. 2014-08-21 21:18:02 +02:00
Camilla Berglund
e5d890a1aa Made clipboard string member name consistent. 2014-08-21 21:14:29 +02:00
Camilla Berglund
44c899ce70 Added support for GL_KHR_context_flush_control. 2014-08-21 19:29:04 +02:00
Camilla Berglund
cfc47abf0d Made context creation backends more consistent. 2014-08-21 19:29:04 +02:00
Camilla Berglund
d5cf713c20 Clarified comment on APIENTRY hack. 2014-08-21 19:29:04 +02:00
Camilla Berglund
a5281df501 Moved RandR gamma probe to init. 2014-08-18 12:58:02 +02:00
Camilla Berglund
59d1aa52f2 Merged gamma files into monitor files. 2014-08-18 12:31:48 +02:00
Camilla Berglund
626dbf6057 Added clearing of global struct on terminate. 2014-08-18 12:17:00 +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
26f86ac50a Merge pull request #333 from ricardomv/fix-reopen
wayland: Release input focus when window is destroyed.
2014-08-13 08:59:25 +02:00
Arseny Kapoulkine
b4d4fc8f79 Optimize _glfwInitJoysticks on OS X.
This function used to enumerate all devices and capture all properties
of every device into a dictionary. This takes 180 ms on a MacBook Pro
without external devices and 280 ms with an external keyboard/mouse
attached.

Since we're only interested in a few properties, we can just get them
one by one - this reduces the time to <1 ms.

Note that we still use the dictionary to get the joystick elements.
For unknown reason this is required to get all axes/buttons - without
doing this we don't get any joystick elements in addJoystickElement.

Closes #332.
2014-08-13 08:06:37 +02:00
Camilla Berglund
3b7d34a1d5 Moved XKB header to header variable. 2014-08-11 23:56:05 +02:00
Camilla Berglund
aa4ec94d71 Removed link interface no-op.
Closes #327.
2014-08-11 20:30:21 +02:00
Camilla Berglund
6e0ea02f17 Quoted all CMake paths with substitution.
Fixes #258.
2014-08-11 20:26:37 +02:00
Camilla Berglund
87490316c8 Fixed video modes not being rotated to match CRTC.
Fixes #284.
2014-08-11 19:48:27 +02:00
Ricardo Vieira
a7c9ca3b43 wayland: Release input focus when window is destroyed
This fixes a seg. fault on the reopen test because events might occur
after the window is destroyed (for example leave events).
2014-07-26 21:55:43 +01:00
Camilla Berglund
434d0947e5 Merge pull request #321 from ricardomv/wayland-resize
Add support for resizing windows on Wayland.
2014-07-21 14:45:23 +02:00
Ricardo Vieira
acf6bfb1f6 wayland: Destroy window context before clearing the egl surface 2014-07-10 22:10:15 +01:00
Ricardo Vieira
2c5c6a1ff5 wayland: Add support for resizing windows 2014-07-10 22:07:30 +01:00
Ricardo Vieira
08dccc390d wayland: Remove unused code 2014-07-10 22:05:54 +01:00
Camilla Berglund
70fd348432 Fixed API version in header files. 2014-07-08 13:44:34 +02:00
Ricardo Vieira
704dc3e34d Fixed crash on Wayland with DRM-backend.
Fixes #319.
Fixes #301.
2014-07-01 10:41:32 +02:00
Jonas Ådahl
2230a68e42 wayland: Follow _glfwInputChar() type change 2014-06-30 09:09:33 +02:00
Camilla Berglund
896d040c68 Merge pull request #316 from jadahl/wayland-input
Wayland input work.
2014-06-29 23:44:35 +02:00
Jonas Ådahl
9ac854b7bb wayland: Add keyboard support
Adds libxkbcommon as a dependency when enabling the Wayland backend.
2014-06-29 23:21:06 +02:00
Jonas Ådahl
2f71bfc152 x11: Move KeySym to unicode converter out of x11 backend
To be used by the Wayland backend.
2014-06-29 23:18:40 +02:00
Jonas Ådahl
a75cf5a163 wayland: Add basic input support 2014-06-29 23:18:40 +02:00
Jonas Ådahl
4c68049d86 wayland: Fix indentation 2014-06-29 23:18:40 +02:00
Ricardo Vieira
dea861abd8 Fixed all EGLConfigs listed as single-buffered.
The commit c980858 added a new flag to _GLFWfbconfig that was not being
set by EGLConfig enumeration.  This patch assumes eglCreateWindowSurface
only creates double-buffered surfaces.

Fixes #315.
2014-06-29 23:16:28 +02:00
Doug Binks
55b5ca0bcc Fixed WGL not re-creating for sRGB hint.
Fixes #312.
2014-06-24 13:07:58 +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
9b6c14b7ae Unified X11 cursor creation. 2014-06-22 13:15:36 +02:00
Camilla Berglund
215924f797 Removed harmless CGDisplay to NSScreen error.
This used to be a failure state, but has since been fixed.

Closes #221.
2014-06-19 13:50:29 +02:00
Camilla Berglund
e8e05d462c Documentation work.
Fixes #276.
2014-06-19 11:38:22 +02:00
Camilla Berglund
a7b9deb2ca Fixed use of previous member name. 2014-06-18 21:07:54 +02:00
Camilla Berglund
8ac54e8b14 Formatting. 2014-06-18 18:24:42 +02:00
Camilla Berglund
f3b65445dc Fixed cursor outside new full screen windows.
The cursor was not positioned over newly created full screen windows,
leading to confusing behavior like invisible cursor or window
iconification.

This fix is a stop-gap until the direct cursor position work is merged.

Fixes #111.
2014-06-18 17:13:28 +02:00
Camilla Berglund
7cb217ed4a Fixed plural forms on key/button arrays. 2014-06-18 16:39:41 +02:00
Camilla Berglund
3ce7bfef07 Added GLFW_FLOATING.
Fixes #23.
2014-06-18 16:39:39 +02:00
Camilla Berglund
c9808586b3 Added GLFW_DOUBLEBUFFER. 2014-06-18 16:36:53 +02:00
Camilla Berglund
281013002d Added GLFW_DONT_CARE.
This changes the behavior of framebuffer hints set to zero.  Before,
zero meant that any value was acceptable.  This changes zero to be an
explicit preference and adds GLFW_DONT_CARE to mean that any value is
equally acceptable.

Fixes #70.
2014-06-18 16:36:22 +02:00
Camilla Berglund
25e7ff1196 Added GLFW_AUTO_ICONIFY.
By default, full screen windows that lose focus will be iconified and
the video mode will be restored.  This makes it impossible to create
applications spanning multiple monitors.  The GLFW_AUTO_ICONIFY window
hint will allow users to disable this behavior.

Fixes #143.
2014-06-18 16:33:58 +02:00
Camilla Berglund
4fb5da75dc Consume WM_ERASEBKGND. 2014-06-18 16:19:17 +02:00
Camilla Berglund
5e008ad074 Removed tautological test. 2014-06-18 16:19:17 +02:00
Camilla Berglund
7123bcfc3e Fixed modifier key events being lost. 2014-06-17 11:49:29 +02:00
Camilla Berglund
20b7ac0518 Formatting. 2014-06-12 22:08:37 +02:00
Camilla Berglund
7653f3af49 Updated comments on global variables. 2014-06-10 15:04:32 +02:00
Camilla Berglund
ae469ee614 Made X11 Unicode table const. 2014-06-10 15:04:32 +02:00
Camilla Berglund
c6e02c09ff Fixed leaks of joystick mutable arrays. 2014-05-29 13:19:08 +02:00
Camilla Berglund
8f2336f02c Fixed release of get rule objects.
Partial revert of b4c03b992c.

Fixes #262.
2014-05-29 11:28:22 +02:00
Camilla Berglund
04ea2112bd Fixed possible use of invalid HWND. 2014-05-23 13:24:36 +02:00
Camilla Berglund
4923f1cf7e Call platform API directly where possible. 2014-05-21 21:30:24 +02:00
Camilla Berglund
56f0bb8613 Comment fix. 2014-05-21 21:30:24 +02:00
Camilla Berglund
b91116e2bc Fixed glfwShowWindow restoring maximized windows.
Fixes #264.
2014-05-19 15:01:05 +02:00
Camilla Berglund
dc5c264e26 Fixed broken key repeat detection. 2014-05-19 15:01:05 +02:00
Camilla Berglund
22e1b525a5 Cleaned up shared key repeat detection. 2014-05-18 14:06:51 +02:00
Camilla Berglund
d95b1b33e5 Cleanup of XKB detection code. 2014-05-18 14:06:49 +02:00
Andrew Corrigan
b889aa7841 Automatically detect Xkb at run-time.
Uses XGetKeyboardMapping as a fallback.  Fixes #282.
2014-05-18 12:45:43 +02:00
Camilla Berglund
e02b278db1 Linux joystick cleanup. 2014-05-16 11:27:30 +02:00
Camilla Berglund
deed44a4af Fixed joystick name dangling pointer. 2014-05-16 11:25:34 +02:00
Camilla Berglund
aa6f8d40bd Fixed misspelled parameter.
Fixes #287.
2014-05-04 12:19:11 +02:00
Camilla Berglund
5ea485e197 Added missing function stub. 2014-05-04 11:51:40 +02:00
Camilla Berglund
cda5b25cb2 Moved to WM_NCCREATE. 2014-04-20 15:26:52 +02:00
Camilla Berglund
646c1cb8a8 Added inclusion of TLS header to Wayland. 2014-04-08 17:47:38 +02:00
Camilla Berglund
1fed6f8abd Fixed name of global TLS state macro. 2014-04-08 17:47:38 +02:00
Camilla Berglund
1127c0e6e5 Renamed Wayland files to match prefix. 2014-04-08 17:47:38 +02:00
Camilla Berglund
48619a385e Renamed joystick state members. 2014-04-08 17:47:38 +02:00
Camilla Berglund
eaf3bd5ca4 Formatting. 2014-04-08 17:47:38 +02:00
Camilla Berglund
12b28c4bb9 Fixed name of global context state macro. 2014-04-08 17:47:38 +02:00
Camilla Berglund
7c925353a5 Renamed context module headers. 2014-04-08 17:47:38 +02:00
Camilla Berglund
8113c00712 Merged CMake platform file picking blocks. 2014-04-08 17:47:38 +02:00
Camilla Berglund
17d9051b82 Separated time state from window system state. 2014-04-08 17:47:38 +02:00
Camilla Berglund
7a4623e034 Added cursor stubs to Wayland backend. 2014-04-08 17:47:38 +02:00
Camilla Berglund
115c6bc000 Removed superfluous include. 2014-04-08 17:47:38 +02:00
Camilla Berglund
fce0114174 Renamed POSIX time module. 2014-04-08 17:47:38 +02:00
Camilla Berglund
0e4096e201 Removed X11-specific macro from Wayland port. 2014-04-08 17:47:38 +02:00
Camilla Berglund
d6243c63fe Removed tab characters. 2014-04-08 17:47:38 +02:00
Camilla Berglund
420f3f7840 Wayland error reporting work. 2014-04-08 17:47:38 +02:00
Camilla Berglund
ede7a585bf Shortened Wayland platform prefix. 2014-04-08 17:47:38 +02:00
Camilla Berglund
5491bd4fd2 Formatting and cleanup. 2014-04-08 17:47:38 +02:00
Camilla Berglund
660034332d Separated joystick state from window system state.
This is partially in preparation for pending support for additional
joystick APIs like XInput, DirectInput and IOHID.
2014-04-08 16:07:21 +02:00
Camilla Berglund
22095d12f5 Made Wayland header macro structure match X11. 2014-04-08 16:07:20 +02:00
Camilla Berglund
b7fc8099f1 Removed duplicate addition of POSIX time header. 2014-04-08 16:07:20 +02:00
Camilla Berglund
f312b5e386 Removed unused file. 2014-04-08 16:07:20 +02:00
Jonas Ådahl
8e99996321 Introduce experimental Wayland backend
This patch introduces a new backend that enables GLFW applications to
run on Wayland. For now, only output is supported (windowed and
fullscreen). Pointer cursor management, input devices, clipboard etc are
not supported yet.

There are some concepts that can not be supported, more specifically
glfwSetWindowPos, glfwGetWindowPos and glfwSetCursorPos, as they are not
supported by Wayland.

This patch also changes the time and joystick implementations used by the
X11 backend to be shared between the Wayland backend and the X11 backend.
2014-04-08 16:07:20 +02:00
Camilla Berglund
99c98407c9 Removed flicker-inducing workaround.
Fixes #267.
2014-04-08 14:11:21 +02:00
Camilla Berglund
c1ed0b2d5b Removed duplicate fallback. 2014-04-08 13:25:20 +02:00
Camilla Berglund
70c1aff94c Fixed missing dereference in b29fbc82c2. 2014-04-08 12:07:44 +02:00
Camilla Berglund
b29fbc82c2 Ensure out arguments are always set. 2014-04-07 16:28:11 +02:00
Camilla Berglund
7911c9300d Nomenclature fix. 2014-04-07 13:38:54 +02:00
Camilla Berglund
bbc12ade7f Added missing X command flushing. 2014-04-07 13:36:25 +02:00
Camilla Berglund
4a8f6ba58c Moved window delegate creation to createWindow. 2014-04-06 13:46:16 +02:00
Camilla Berglund
f5a996a5af Fixed focus events triggered by window frame. 2014-04-02 13:30:23 +02:00
Camilla Berglund
b54c76d6a3 Removed typedef of removed struct. 2014-04-02 13:30:22 +02:00
Camilla Berglund
ebb7145ccc Fixed VC++ warnings. 2014-03-31 22:33:22 +02:00
Camilla Berglund
584879c759 Fixed flipped M and N key. 2014-03-31 21:59:45 +02:00
Camilla Berglund
1900d9a656 Included extended flag in Win32 scan code. 2014-03-30 20:54:38 +02:00
Camilla Berglund
78efc18079 Split out TLS code into separate modules.
This allows the TLS code to be re-used by partial ports like EGL.
2014-03-30 15:24:09 +02:00
Camilla Berglund
2889f484f4 Formatting. 2014-03-30 12:32:17 +02:00
Camilla Berglund
0c58df06d5 Added support for _NET_REQUEST_FRAME_EXTENTS. 2014-03-30 12:28:01 +02:00
Camilla Berglund
d6e0e0de2b Formatting. 2014-03-30 12:23:39 +02:00
Camilla Berglund
eb3f75e03e Added glfwGetWindowFrameSize. 2014-03-30 10:57:32 +02:00
Camilla Berglund
d3ae574418 Formatting. 2014-03-30 10:45:33 +02:00
Camilla Berglund
d7882cb89b Aligned libGL soname to Linux ABI.
Fixed #261.
2014-03-30 10:37:49 +02:00
Camilla Berglund
bf0adc2c70 Fixed crash on monitor disconnection. 2014-03-25 19:37:25 +01:00
Doug Binks
dc987edf34 First draft of physical key fix for Windows. 2014-03-20 23:46:43 +01:00
Camilla Berglund
7ac3d85126 Formatting. 2014-03-20 11:30:27 +01: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
aaac715060 Reverted 43095307da.
The proposed fix broke for multiple displays of the same model.
2014-03-19 23:25:03 +01:00
Camilla Berglund
8ebd135536 Fixed last use of wndconfig in EGL port. 2014-03-19 13:15:04 +01:00
Jonas Ådahl
b2b3f170a9 Make EGL use ctxconfig instead of wndconfig 2014-03-18 21:35:50 +01:00
Camilla Berglund
2200f87492 Fixed glfwDestroyWindow not flushing the output buffer. 2014-03-12 20:53:57 +01:00
Camilla Berglund
5c23071a81 Fixed leak of display name. 2014-03-10 18:56:33 +01:00
Camilla Berglund
43095307da Cleanup of CGDisplayIOServicePort replacement. 2014-03-10 18:56:33 +01:00
Matthew Henry
bebae14223 Replace CGDisplayIOServicePort with a workaround
This could be cleaned up and refined a bit by comparing more display
attributes when available, but it gets the job done.

Closes #192.
2014-03-10 18:56:33 +01:00
Camilla Berglund
a859c10fa1 Formatting. 2014-03-10 13:55:23 +01:00
Camilla Berglund
78f1b8bd15 Fixed invalid video mode being restored. 2014-03-10 12:44:27 +01:00
Camilla Berglund
87dd7b89f5 Video mode detection cleanup. 2014-03-10 12:36:23 +01:00
Camilla Berglund
1ccc23268c Added glfwPostEmptyEvent. 2014-03-09 17:55:55 +01:00
Camilla Berglund
9309f75704 Fixed missing ICCCM protocol message checks. 2014-03-09 13:24:37 +01:00
Camilla Berglund
98552f1d75 Added caching of X11 NULL atom. 2014-03-09 13:18:58 +01:00
Camilla Berglund
27c5760b0c Updated broken RandR gamma comment. 2014-03-07 01:02:54 +01:00
Camilla Berglund
6e990b77d1 Removed stale comment. 2014-03-07 00:11:43 +01:00
Camilla Berglund
596b1e69ce Fixes for legacy MinGW 4.2. 2014-03-06 23:33:09 +01:00
Camilla Berglund
d2205aa1a0 Added missing suffix for WNDCLASSW. 2014-03-06 23:21:13 +01:00
Camilla Berglund
76eefcc08a Moved some VC++ specific hacks to platform header. 2014-03-06 21:05:55 +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
Camilla Berglund
0701d4ce6e Made use of Win32 W-suffixed symbols explicit. 2014-03-06 18:30:14 +01:00
Camilla Berglund
d169557b00 Made GLX 1.3 the minimum supported version. 2014-03-06 16:45:40 +01:00
Camilla Berglund
ae8393c06e Fixed refresh of debug context attribute. 2014-03-06 15:29:45 +01:00
Camilla Berglund
e2d6f2761c Fixed constness of function parameters. 2014-03-06 14:37:13 +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
bf389f7183 Cleaned up RandR video mode handling. 2014-02-13 14:38:46 +01:00
Camilla Berglund
96433cdf19 Fixed meaningless Win32 video mode restore. 2014-02-13 14:25:55 +01:00
Camilla Berglund
2ec0acc972 Formatting (removed tab characters). 2014-02-13 13:30:15 +01:00
Camilla Berglund
b3c461bd7e Cleaned up fix for #234.
XFree may not be passed NULL.  An invalid window handle will cause
_glfwGetWindowProperty to not return 1.
2014-02-13 13:30:12 +01:00
Camilla Berglund
69e10b88b0 Fixed uncaught BadWindow in EWMH check.
Fixes #234.
2014-02-11 15:50:19 +01:00
Camilla Berglund
7f4e947447 Fixed return value for WM_DROPFILES. 2014-02-11 00:56:52 +01:00
Camilla Berglund
d0d2332193 WINVER fixes for MinGW and VC++. 2014-02-10 21:12:20 +01:00
Camilla Berglund
9beba1ba31 Fixed copypaste mistake. 2014-02-10 19:10:57 +01:00
Camilla Berglund
c1446618cf Blurb nomenclature fix. 2014-02-10 15:33:41 +01:00
Camilla Berglund
cf177905e5 Allowed drops from less privileged processes.
By default, UAC will prevent less privileged processes from sending
these messages.  This resolves that on Windows 7 and later.  Windows
Vista is still affected by this issue, as it has UAC but lacks
ChangeWindowMessageFilterEx.

Fixes #227.
2014-02-10 15:13:05 +01:00
Camilla Berglund
9cc8107c6b Fixed X11 drop support.
This was broken by 8ae063bb1b.

Fixes #224.
2014-02-10 14:19:35 +01:00
Camilla Berglund
84377c6175 Added _GLFW_USE_RETINA. 2014-02-10 13:45:13 +01:00
Shane Liesegang
b4c03b992c Fixing memory leak in cocoa_joystick
Making sure that propsRef and valueRef get released no matter when we
break out of the loop.

Resolves #231.
2014-02-06 23:18:43 +01:00
Camilla Berglund
a70bcb97bb Added missing winmm loading errors. 2014-01-29 15:22:35 +01:00
Camilla Berglund
58db8622bd Cleanup. 2014-01-22 20:15:27 +01:00
Camilla Berglund
5ed23e593c Handle case of no available CRTCs. 2014-01-22 20:13:22 +01:00
Camilla Berglund
dd02b96c94 Added flag for non-functional RandR monitor path. 2014-01-22 20:13:19 +01:00
Camilla Berglund
13156de8c3 Updated stale X11 gamma comments. 2014-01-22 16:37:27 +01:00
Camilla Berglund
a4b8b0f114 Removed superfluous test for RandR version. 2014-01-22 16:37:27 +01:00
Camilla Berglund
611006af18 Updated API version in comment headers. 2014-01-22 01:32:00 +01:00
Camilla Berglund
0163bc05d6 Moved internal context function declarations. 2014-01-22 01:23:35 +01:00
Camilla Berglund
8f349e84ae Cleaned up drop callback design. 2014-01-21 18:23:25 +01:00
Camilla Berglund
cd54dc84c4 Fixed off-by-one error. 2014-01-21 15:25:49 +01:00
Camilla Berglund
2b876da52d Fixed broken includes. 2014-01-21 15:25:49 +01:00
Camilla Berglund
ad9f880d61 Fixed broken calls to memset. 2014-01-21 15:25:49 +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
Camilla Berglund
0548c713e8 Renamed monitor helper functions for clarity. 2014-01-21 15:23:11 +01:00
Camilla Berglund
beb7e5909f Added comment on headless Macs. 2014-01-21 15:17:28 +01:00
Camilla Berglund
6eec7970c1 Made NSScreen to CGDisplay matching fail softly. 2014-01-21 15:14:14 +01:00
Camilla Berglund
7bbd3943c9 Removed superfluous display sorting. 2014-01-21 15:07:26 +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
54b8d0d3c8 Moved to XGrabPointer for cursor hiding. 2014-01-15 02:43:14 +01:00