Commit Graph

1950 Commits

Author SHA1 Message Date
Camilla Berglund
7f2e4d8ace Win32: Fix possible leak of dummy context 2016-06-23 14:17:54 +02:00
Camilla Berglund
6f313ff245 Win32: Use helper window to load WGL extensions
This removes window re-creation logic by performing the initial context
creation on the helper window, simplifying both window and context
creation and paving the way for attaching to existing window handles
without compromising on context or framebuffer hint support.
2016-06-22 23:33:34 +02:00
Camilla Berglund
a991c01731 Fail sharing if either window is context-less 2016-06-22 14:36:46 +02:00
Camilla Berglund
f2ba78e04b Rename static functions to allow unity build
Fixes regression introduced by GLFW_CONTEXT_CREATION_API.

Fixes #783.
2016-06-15 01:35:07 +02:00
Camilla Berglund
df5dcf5162 Win32: Fix stub comment 2016-06-15 01:35:07 +02:00
Camilla Berglund
76801973e1 Cocoa: Clean up joystick globals 2016-06-15 01:35:07 +02:00
Camilla Berglund
b6b8ff591d Fix cursor position coordinate delimiter
Comma would be great but we don't control the locale.
2016-06-15 01:35:07 +02:00
Camilla Berglund
9a781cef53 Formatting 2016-06-15 01:35:07 +02:00
Camilla Berglund
aaccfd8201 I don't know how to C
Fixes #773.
2016-06-15 01:35:07 +02:00
Camilla Berglund
5f17b61ff2 Win32: Remove accidental C99 2016-06-02 15:57:47 +02:00
Camilla Berglund
757eea2779 Update email address 2016-06-01 21:25:20 +02:00
Camilla Berglund
6a8e169001 Update copyright notice year 2016-06-01 21:25:19 +02:00
Camilla Berglund
28d4c9e9f4 X11: Re-enable cursor for all types of FocusOut
This prevents disabled cursor mode from interfering with window frame
interactions.

Related to #650.
2016-05-31 13:04:04 +02:00
Camilla Berglund
ed076b7c5b Win32: Re-enable cursor during modal loops
Related to #650.
2016-05-31 12:59:41 +02:00
Camilla Berglund
915a98c560 Add missing XFlush calls 2016-05-30 22:14:13 +02:00
Camilla Berglund
2d2756cbad Simplify cursor window logic 2016-05-30 22:12:33 +02:00
Camilla Berglund
03db3ed6e9 Cleanup 2016-05-30 21:19:00 +02:00
Camilla Berglund
bda031f4ac Cleanup 2016-05-29 15:34:08 +02:00
Camilla Berglund
797ee8d8e3 Move all cursor positioning to platform code
Due to Wayland, shared code cannot rely on cursor positioning being
supported by the underlying platform.

This implicitly fixes #617 as it moves cursor centering into
_glfwPlatformSetCursorMode, thus separating it from the stale value of
_glfw.cursorWindow.

Fixes #617.
2016-05-29 15:33:49 +02:00
Camilla Berglund
0e846883bf Clarify cursor position variable names 2016-05-27 02:39:03 +02:00
Camilla Berglund
72b3a7a59f Move comment to the actual line being discussed 2016-05-27 02:39:03 +02:00
Camilla Berglund
32f38b97d5 Fix OS X key names not following layout 2016-05-24 22:12:15 +02:00
Camilla Berglund
7fd7dca375 Remove completed todo 2016-05-23 22:59:11 +02:00
Camilla Berglund
edb284f189 Add more argument value checks 2016-05-23 15:23:14 +02:00
Camilla Berglund
54cb23d234 Fix value checks failing on GLFW_DONT_CARE 2016-05-23 15:23:14 +02:00
Camilla Berglund
c4c99727c5 Add dynamic loading of HIToolbox.framework
Fixes #717.
2016-05-23 15:21:56 +02:00
Camilla Berglund
57f4ba7b37 Add basic argument checks for glfwSetWindowMonitor 2016-05-23 15:19:09 +02:00
Camilla Berglund
cd49efa84e Enable Cocoa multi-threaded mode 2016-05-22 14:02:29 +02:00
Camilla Berglund
bc649e1632 Formatting 2016-05-11 15:23:27 +02:00
ocornut
3c1a83d61f Fix keys filtered by IME being passed to callback
Closes #651.
2016-05-10 12:30:04 +02:00
Brandon Schaefer
4eb7cbac47 Mir: Remove workaround for LP bug 1477285
Closes #756.
2016-05-05 14:22:57 +02:00
linkmauve
a502152075 wayland: Always make the window surface opaque 2016-05-05 14:15:44 +02:00
Camilla Berglund
ef80beab81 Add run-time context creation API selection
Fixes #145.
2016-05-04 17:00:07 +02:00
Camilla Berglund
9d50a346f0 Fix X11 build on non-Linux systems 2016-05-04 17:00:06 +02:00
Camilla Berglund
12a695696d Add validation of size limit and aspect ratio args 2016-05-04 16:34:52 +02:00
Camilla Berglund
e640d840b7 Fix Win32 window size event race condition
The old window size was reported after re-entering full screen and
setting and reporting the new window size.

Fixes #740.
2016-05-04 16:34:48 +02:00
Camilla Berglund
11d051b69a Formatting 2016-05-03 13:43:17 +02:00
Camilla Berglund
932a161d44 Unconditionally use some EWMH atoms
These window properties do no harm if they're declared even if the WM
doesn't support them.  This makes GLFW slightly more tolerant of WM
changes as well as things like Ubuntu Unity reading _NET_WM_ICON without
declaring support for it.
2016-05-03 13:40:53 +02:00
Camilla Berglund
211bdab51f Fix NET_WM_STATE clobbering at creation 2016-05-03 13:40:53 +02:00
Camilla Berglund
6fcedb5396 Fix GLFW_RESIZABLE on X11 when exiting full screen
The WM normal hints were set with the wrong window dimensions.

Fixes #737.
2016-05-03 13:40:34 +02:00
bschaefer
e44fd87fa3 Mir: Fix button states 2016-05-02 21:59:57 +02:00
bschaefer
f000b5daff Mir: Fix window/context creation order
Need to create the native window before creating the context as creating
the context creates the EGL surface.
2016-05-02 21:58:54 +02:00
Emmanuel Gil Peyrot
1e82832737 wayland: Report unsupported operations as errors 2016-05-02 21:49:57 +02:00
Emmanuel Gil Peyrot
c301a1e51a wayland: Implement remaining attribute getters 2016-05-02 21:49:31 +02:00
Emmanuel Gil Peyrot
e673bdc617 wayland: Implement maximized state 2016-05-02 21:49:27 +02:00
Emmanuel Gil Peyrot
71cedc6cfe wayland: Implement glfwSetWindowMonitor 2016-05-02 21:49:23 +02:00
Emmanuel Gil Peyrot
5034c6c65e wayland: Handle hidden window as no shell surface 2016-05-02 21:47:21 +02:00
Emmanuel Gil Peyrot
f0f5d9f644 wayland: Implement size limits and aspect ratio 2016-05-02 21:47:00 +02:00
Camilla Berglund
0b6a4313dd Create EWMH and XDND atoms on demand 2016-05-01 23:01:48 +02:00
IntellectualKitty
3b0b5dacf5 Fix test for joystick presence in matchCallback
The matchCallback function has an initial loop to filter out redundant
joystick additions based on matching deviceRef values.  However, the if
statement incorrectly combines this test with the condition that the
joystick is not present, which is obviously incorrect.

Closes #753.
2016-04-27 15:42:19 +02:00
Camilla Berglund
99dc2c48bd Fix setting of GLFW_MAXIMIZED hint
Caused by a bad rebase.

Fixes #738.
2016-04-17 13:44:07 +02:00
Camilla Berglund
135ed7feb4 Fix build on legacy MinGW 2016-03-31 15:04:25 +02:00
Camilla Berglund
bd345164d3 Fix missing constant on VC++ 2010 2016-03-31 13:07:06 +02:00
Camilla Berglund
7cbdae1bed Add initial DirectInput 8 support
Fixes #232.
2016-03-31 12:24:01 +02:00
Camilla Berglund
3aebb0bfe3 Cleanup 2016-03-31 12:23:49 +02:00
Camilla Berglund
8a7fa306ce Add glfwSetJoystickCallback 2016-03-31 12:12:09 +02:00
Camilla Berglund
bdd17c337f Make helper window child of HWND_MESSAGE 2016-03-31 12:12:08 +02:00
Camilla Berglund
eb3577c1eb Add initial XInput support 2016-03-31 12:12:04 +02:00
Camilla Berglund
c580949417 Cleanup 2016-03-29 14:01:06 +02:00
IntellectualKitty
ae4ece840d Remove redundant OS X joystick polling
Closes #729.
2016-03-29 14:00:13 +02:00
Camilla Berglund
c234a19423 Fix invalid EGL display being terminated 2016-03-29 11:13:07 +02:00
Camilla Berglund
20574fa81f Fix VC++ warnings 2016-03-29 11:13:07 +02:00
Camilla Berglund
29e232f4b2 Improved error messages 2016-03-29 11:13:06 +02:00
Camilla Berglund
33c68a24a0 Formatting
[ci skip]
2016-03-29 11:12:49 +02:00
Camilla Berglund
f96d865b93 Cleanup 2016-03-28 20:16:53 +02:00
Camilla Berglund
925208d28f Fix copypaste mistake 2016-03-28 12:44:50 +02:00
Camilla Berglund
7ab7d8b4b1 Make use of uint32_t where appropriate
This change does not affect the ABI.
2016-03-28 12:34:57 +02:00
Camilla Berglund
5661d03be8 Replace GLFWuint64 with uint64_t
C99 stdint.h is provided by VS 2010 and later.  GLFW has not provided
testing or binaries for VS 2008 for several releases.

For earlier versions of VS there are third-party alternatives:

https://msinttypes.googlecode.com/svn/trunk/stdint.h
http://www.azillionmonkeys.com/qed/pstdint.h

This change does not affect the ABI.
2016-03-28 12:34:44 +02:00
Camilla Berglund
5eb2e83c82 Cleanup 2016-03-28 12:26:08 +02:00
Camilla Berglund
c1e4c45c7a Replace Win32 window long with window property
Related to #25.
2016-03-28 10:57:19 +02:00
Camilla Berglund
3503cba5d9 Fix Ctrl+Pause reported as unknown key on Win32
Fixes #730
2016-03-24 21:26:57 +01:00
Camilla Berglund
17bcefeac1 Fix CGL context not being released until later
Fixes #721.
2016-03-18 12:01:48 +01:00
Camilla Berglund
6570d0c4b7 Add glfwSetWindowMonitor
This adds the ability to switch between windowed and full screen modes,
move a full screen window between monitors and update its desired
resolution and refresh rate.

Fixes #43.
2016-03-18 11:13:24 +01:00
Camilla Berglund
99c925efd8 Add tracking of which window 'owns' a monitor 2016-03-16 16:16:29 +01:00
Camilla Berglund
ea888114fa Remove monitor from _GLFWwndconfig 2016-03-16 16:16:02 +01:00
Camilla Berglund
3a6fe042ea Cleanup 2016-03-16 16:15:49 +01:00
Camilla Berglund
0d1dd82b89 Move X11 PPosition hack to glfwSetWindowPos 2016-03-16 16:11:35 +01:00
Camilla Berglund
ea73ccf22d Add support for EWMH _NET_WM_WINDOW_TYPE 2016-03-16 16:07:22 +01:00
Camilla Berglund
86751b42a6 Fix OS X default max window size 2016-03-16 15:05:50 +01:00
Camilla Berglund
9a78fd049d Fix view not being made first responder 2016-03-16 14:48:53 +01:00
Camilla Berglund
89f438de5a Fix window focus regression
Regression caused by baf574494d.
2016-03-15 22:22:51 +01:00
Camilla Berglund
4e4b8727fc Fix Win32 icon restoration 2016-03-11 14:41:58 +01:00
Camilla Berglund
d2338f3a49 Fix X11 icon image copy 2016-03-11 14:41:57 +01:00
Camilla Berglund
b823f7151e Add glfwSetWindowIcon
Adds support for setting window icons programmatically on platforms
where this makes sense.

Fixes #453.
Closes #467.
2016-03-10 17:26:26 +01:00
Camilla Berglund
fca5a8ab48 Fix Win32 custom cursor set for non-client area
Udating the cursor via glfwSetCursor incorrectly included the non-client
area of the window.
2016-03-07 12:30:25 +01:00
Camilla Berglund
5620895e88 Add glfwWaitEventsTimeout
This function will put the calling thread to sleep until an event
arrives or until the specified timeout has elapsed.
2016-03-06 17:28:40 +01:00
Camilla Berglund
31f67dd3cc Add glfwGetTimerValue and glfwGetTimerFrequency
This adds raw timer access to the public API and builds the
floating-point time functions on top.  It also makes the GLFWuint64 type
public.
2016-03-06 11:51:23 +01:00
Camilla Berglund
8221aadea3 Include stddef.h unconditionally in public header 2016-03-06 09:40:16 +01:00
Camilla Berglund
663ee327b0 Decrease amount of Hocus Pocus 2016-03-02 23:15:02 +01:00
Camilla Berglund
de2d4c7763 Clarify pointer assertions 2016-03-02 17:58:05 +01:00
Camilla Berglund
5fa7e2faa4 Release autorelease pool last 2016-03-01 19:36:05 +01:00
Camilla Berglund
5dc9d0f581 Avoid X11 frame size query of undecorated windows
This also works around an issue where Xfwm4 ignores Motif hints when
calculating frame extents.
2016-02-28 18:44:50 +01:00
Camilla Berglund
6494da3101 Fix reporting of non-root X11 window positions
Fixes #517.
2016-02-28 16:09:43 +01:00
Camilla Berglund
e51e27fcab Add back tracking of X11 override-redirect 2016-02-28 16:09:36 +01:00
Camilla Berglund
73216e5fb1 Fix NSBeep being emitted for some keys
Fixes #719.
2016-02-28 11:02:26 +01:00
Camilla Berglund
4b63f70285 Fix no monitors found on VMware Windows guest
Monitor enumeration now switches to adapters if no displays are
connected to active adapters.  This should provide usable monitor
objects on headless and VMware guest systems.

Fixes #441.
Fixes #556.
Fixes #594.
2016-02-27 21:51:59 +01:00
Camilla Berglund
a9b9c4cc33 Cleanup 2016-02-26 10:53:16 +01:00
Yoshiki Shibukawa
e7bb03d8e7 Improve OS X IME candidate window placement 2016-02-26 10:53:03 +01:00
Camilla Berglund
59dbd3b6ce Cleanup 2016-02-26 10:48:53 +01:00
Mario Dorn
3107c9548d Implement NSTextInputClient protocol on OS X
This provides support for IME character composition.

Fixes #456.
Closes #643.
2016-02-26 10:48:33 +01:00