1
0
Fork 0
mirror of https://github.com/gwm17/glfw.git synced 2024-11-27 12:38:53 -05:00
Commit Graph

2416 Commits

Author SHA1 Message Date
Kyle Brenneman d590eb074f Add support for EGL_KHR_get_all_proc_addresses
If EGL_KHR_get_all_proc_addresses extension is supported, then don't try
to load a separate client library. Instead, just use eglGetProcAddress
to load everything.

This can also avoid problems with trying to use OpenGL functions from
libGL.so.1 (which is the GLX library) when an EGL context is current.

Closes #871.
2016-09-28 22:50:22 +02:00
Camilla Berglund f0a55df963 Cleanup 2016-09-26 13:26:36 +02:00
Camilla Berglund 54930ddd33 Check only for relevant Vulkan extensions
Related to #858.
2016-09-14 22:59:03 +02:00
Camilla Berglund 3e59b7345c Fix early-out in Vulkan extension check
Related to #858.
2016-09-14 18:15:09 +02:00
Camilla Berglund 838c4e938c Win32: Allow iconifying undecorated windows
Fixes #861.
2016-09-14 18:12:21 +02:00
Camilla Berglund f79a52fe9b Win32: Make glfwPostEmptyEvent use helper window 2016-09-14 13:07:52 +02:00
Emmanuel Gil Peyrot 2eb1657d91 Wayland: Only input a character on GLFW_PRESS action
Closes #804.
2016-09-13 13:09:25 +09:00
Camilla Berglund e6a32db7b9 Cleanup 2016-09-07 16:49:29 +02:00
Brandon Schaefer acce7ec9cf Mir: Add cursor mode support
Implements a few other missing functions. Cleaning up naming convention
as well.

Fix FindMir.cmake was not finding the correct mirclient.so when
you wanted something other then the system library.

Closes #839.
2016-09-07 16:49:29 +02:00
Camilla Berglund bb3cb8f233 Cleanup
Clean up code and documentation for glfwGetKeyScancode and add
implementation for Wayland and Mir.

Related to #830.
2016-09-07 16:46:48 +02:00
Michael Stocker e745b0dd47 Add glfwGetKeyScancode
Allows retrieval of platform scancode from GLFW_KEY_*.  Implemented for
Win32, Cocoa and X11.  Stubs for Mir and Wayland.

Closes #830.
2016-09-07 16:38:22 +02:00
Camilla Berglund f17d60da64 Add scancode arrays for Wayland and Mir
Related to #830.
2016-09-07 16:33:41 +02:00
Camilla Berglund afb6e485b7 X11: Make selection event checks include window 2016-09-07 16:33:41 +02:00
Camilla Berglund ccfd6dde45 X11: Make clipboard IPC use helper window 2016-09-07 16:33:41 +02:00
Camilla Berglund 706868dad8 X11: Make glfwPostEmptyEvent use helper window 2016-09-07 16:33:41 +02:00
Camilla Berglund 3b3a1390ad X11: Add IPC helper window 2016-09-07 16:33:41 +02:00
Camilla Berglund fafe1732b5 Cleanup 2016-09-07 16:33:41 +02:00
Camilla Berglund 5ff7d9505f Simplify Vulkan extension checks
Related to #478.
2016-09-07 16:31:18 +02:00
Camilla Berglund 9cd0c101f0 Fix glfwMaximizeWindow not checking window mode 2016-08-21 17:43:40 +02:00
Camilla Berglund 53fafad915 Start 3.3 2016-08-18 23:55:49 +02:00
Camilla Berglund 4aafdea5a7 X11: Fix glfw*WindowPos operating on window frame
Fixes #800.
2016-08-17 01:45:41 +02:00
Camilla Berglund c18d3aecbc Cocoa: Remove duplicate includes
Fixes #838.
2016-08-17 01:39:47 +02:00
Camilla Berglund f1c536fe13 X11: Fix BadMatch on XSetInputFocus
Input focus was in some cases set before the window was visible (ICCCM
section 4.2.2).

Related to #798.
Fixes #789.
2016-08-12 14:01:03 +02:00
Camilla Berglund ad9233e620 X11: Clean up event wait timeout logic
Simplify interface and implement timeout updating.
2016-08-12 13:33:21 +02:00
Camilla Berglund f88a609000 X11: Only unmaximize visible windows 2016-08-12 13:33:21 +02:00
Camilla Berglund b581799c9a Fix comment 2016-08-12 01:46:21 +02:00
Camilla Berglund 067d1d6935 Cleanup 2016-08-12 01:46:21 +02:00
Camilla Berglund ada1fdc14d Formatting 2016-08-12 01:46:21 +02:00
Patrick Snape 74ed35792f Cocoa: Add missing call to removeObserver:
As noted in the documentation for NSDistributedNotificationCenter,
(under the Discussion heading) before an observer is deallocated a call
should be made to removeObserver: in order to ensure that the listener
is correctly removed from all observation pools.

Fixes #817.
Closes #826.
2016-08-08 16:57:24 +02:00
Camilla Berglund 25914d381a Fix glfwVulkanSupported emitting errors
Regression caused by 614debd13f.
2016-08-05 11:50:05 +02:00
Camilla Berglund fcdef1d0a0 Fix potential context resource leaks
There is a gap between the creation of the context and the call to
_glfwRefreshContextAttribs.
2016-08-05 11:23:05 +02:00
Camilla Berglund 1d3240ff9c Fix Vulkan header macro not breaking compilation
Fixes #823.
2016-08-05 01:32:23 +02:00
Camilla Berglund 7c3706763a Cleanup
Cleanup of 8bdb105897.

Add build macro to configuration header and documentation.  Add
corresponding CMake option.  Add change log entry and credit.  Add
loader static library to link dependencies and add detection to
FindVulkan.cmake.
2016-08-05 01:00:08 +02:00
Philip Rideout 8bdb105897 Add _GLFW_VULKAN_STATIC build macro
This allows clients to link GLFW with a staticly-built loader library.
This is useful in hermetic build systems that build the Khronos loader
from source, rather than depending on the LunarG SDK binaries.

Closes #820.
2016-08-04 18:24:41 +02:00
Camilla Berglund e77a76a284 Cleanup 2016-08-04 13:19:22 +02:00
Camilla Berglund 52e47b5a53 Formatting 2016-08-02 15:39:01 +02:00
Camilla Berglund 7be62631ae Cleanup 2016-08-01 23:13:11 +02:00
Camilla Berglund d2686c8413 Fix comment 2016-08-01 23:13:11 +02:00
Camilla Berglund cba652e4f3 Cleanup 2016-08-01 23:13:11 +02:00
Camilla Berglund 370cd14b46 Comment work 2016-08-01 23:13:11 +02:00
Camilla Berglund 06a6629eef EGL: Fix missing include 2016-08-01 23:13:11 +02:00
Camilla Berglund a19490c291 Cleanup
Cleanup of a42d27011b3ef1e6229a1b83aaa075727a5521f3.
2016-08-01 23:13:11 +02:00
Keringar d4eb88b255 X11: Fix application of window size limits
Closes #805.
2016-08-01 23:12:05 +02:00
Camilla Berglund c844fea9df Improve client API error messages
Add separate strings for each client API to make it easier to grep.
Remove 'client' from fallback error messages as API-related error tokens
are used for non-client APIs as well.
2016-08-01 20:49:22 +02:00
Camilla Berglund 923568a279 Add support for WGL_ARB_create_context errors 2016-08-01 20:46:59 +02:00
Camilla Berglund 2c32503b10 Fix comment 2016-08-01 12:15:08 +02:00
Camilla Berglund 751be1ae8c Fix comment 2016-07-31 19:26:57 +02:00
Camilla Berglund f48b63de38 Fix Valgrind false-positive
Fixes #818.
2016-07-31 17:54:30 +02:00
Camilla Berglund d43b743ff4 Fix GCC warnings 2016-07-21 00:15:55 +02:00
Camilla Berglund 6431c26e8b Add EGL library missing error 2016-07-20 15:39:38 +02:00
Camilla Berglund 04d05fbdc2 Formatting 2016-07-20 15:19:02 +02:00
Camilla Berglund 614debd13f Initialize Vulkan API on demand 2016-07-20 15:18:42 +02:00
Camilla Berglund 2060de5ed0 Match presence of lib prefix on EGL/GLES binaries 2016-07-20 13:11:08 +02:00
Camilla Berglund d5e00e6b0f Initialize context creation APIs on demand 2016-07-20 13:10:51 +02:00
Camilla Berglund 52d801bd19 Cleanup 2016-07-19 00:15:34 +02:00
Camilla Berglund ac09592355 Call context GetProcAddress directly 2016-07-18 23:31:54 +02:00
Camilla Berglund fb418b26d7 Fix grammar
Fixes #776.
2016-07-17 15:39:25 +02:00
Camilla Berglund 0ff22e4a49 Win32: Fix GLFW_MAXIMIZED ignored by first window
Fixes #780.
2016-07-12 16:04:02 +02:00
Camilla Berglund 613868b893 Add missing assertion 2016-07-11 16:39:53 +02:00
Camilla Berglund 3bb5c459d6 GLX: Verify all entry points during load 2016-07-01 18:18:04 +02:00
Camilla Berglund 145ea03ca2 EGL: Verify all entry points during load 2016-07-01 18:17:30 +02:00
Camilla Berglund 49f429018e Win32: Fix code analysis warning 2016-06-23 17:41:22 +02:00
Camilla Berglund 66149a29da Cleanup 2016-06-23 17:40:30 +02:00
Camilla Berglund 0ee8159f6c Win32: Remove intermediate clipboard string copy 2016-06-23 17:06:03 +02:00
Camilla Berglund 1b82546b90 Cleanup 2016-06-23 15:34:23 +02:00
Camilla Berglund e250c226ca Cleanup 2016-06-23 14:48:25 +02:00
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
Xo Wang 9f5658c8ac Removed OS X modifier flags cache
Related to #566.
Related to #567.
2016-02-26 10:03:23 +01:00
Camilla Berglund d3f5d036f8 Fix OS X modifier flags cache getting out of date
Fixes #566.
Closes #567.
2016-02-26 08:39:46 +01:00
Camilla Berglund baf574494d Add glfwFocusWindow
This removes the (undocumented) behavior where glfwShowWindow would
bring the window to front and set input focus.  That function now
does what it says.
2016-02-25 21:37:40 +01:00
Camilla Berglund de3e413aab Fix VC++ signed/unsigned mismatch warning 2016-02-23 11:52:33 +01:00
Camilla Berglund 93b4c828c1 Fix VC++ build failure
Regression caused by 71c72db1e3.
2016-02-23 11:49:42 +01:00
Camilla Berglund 165171f9c8 Add comment for Win32 helper window path 2016-02-23 11:30:17 +01:00
Camilla Berglund 0ea193c4e2 Fix detection of Win32 software monitor events
Fixes #53.
2016-02-23 11:28:37 +01:00
Camilla Berglund d956dbbd2c Cleanup 2016-02-23 11:06:55 +01:00
Jonas Ådahl 9160a7ceb3 x11: Premultiply custom cursor image alpha
As with Wayland, X11 expects cursor pixels to have the alpha
premultiplied, so lets convert the non-premultiplied pixels to
premultiplied pixels.

Fixes #353.
Closes #707.
2016-02-22 13:06:55 +01:00
Jonas Ådahl 71c72db1e3 wayland: Pre-multiply custom cursor image alpha
Since the Wayland SHM buffer format is implicitly premultiplied and the
GLFWimage pixels are defined to be non-premultiplied, we need to
convert the non-premultiplied pixels to premultiplied when filling the
buffer.

Related to #707.
2016-02-22 12:45:05 +01:00
Jonas Ådahl cb08dc574c wayland: Implement 'DISABLED' cursor mode
This implements support for the 'DISABLED' cursor mode, which
effectively means locking the pointer to the surface. The cursor is also
explicitly hidden.

This adds two new build dependencies: wayland-scanner and
wayland-protocols.

Closes #708.
2016-02-22 12:36:34 +01:00
Camilla Berglund bb3b3452f3 Cleanup 2016-02-22 12:29:52 +01:00
Camilla Berglund 7669ade19c Make instance extension count unsigned
Fixes #714.
2016-02-22 10:44:43 +01:00
Camilla Berglund 2be2e0fa86 Fix X11 WSI extension selection logic 2016-02-21 18:36:28 +01:00
Camilla Berglund bda18bc899 Remove XInput2 XI_Motion support
Sadly, this interferes with the Steam overlay.

Fixes #304.
2016-02-21 18:32:57 +01:00
Camilla Berglund a10caa4631 Add glfwMaximizeWindow and GLFW_MAXIMIZED
Fixes #266.
2016-02-21 15:32:26 +01:00
Camilla Berglund 3b64bae323 Fix X11 WSI extension selection logic 2016-02-19 08:56:46 +01:00
Camilla Berglund 7da0ffa5ea Formatting 2016-02-18 22:28:26 +01:00
Camilla Berglund 6e103d5dca Change priority order of X11 WSI extensions 2016-02-18 20:05:35 +01:00
Camilla Berglund 5e5fea2293 Fix struct member names of Mir WSI 2016-02-18 14:48:33 +01:00
Camilla Berglund b6a72db2ad Add missing inclusion of linux/input.h 2016-02-18 14:48:07 +01:00
Camilla Berglund c56af32bb7 Fix use of undeclared constant 2016-02-18 14:22:11 +01:00
Camilla Berglund 2826f3d42f Check success of MakeCurrent before updating TLS
Fixes #706.
2016-02-18 09:37:19 +01:00
Camilla Berglund 2accdb76bd Cleanup 2016-02-17 21:30:17 +01:00
Camilla Berglund be94eb67be Add support for EGL_KHR_gl_colorspace
Fixes #285.
2016-02-17 17:27:33 +01:00
Camilla Berglund b955936ee1 Semantics fix 2016-02-17 08:55:24 +01:00
Camilla Berglund 96cdcec58a Fix declaration of dispatchable Vulkan handles 2016-02-16 21:40:01 +01:00
Camilla Berglund 9b75bffc88 Add basic Vulkan support
Added GLFW_INCLUDE_VULKAN.  Added glfwVulkanSupported,
glfwGetRequiredInstanceExtensions, glfwGetInstanceProcAddress,
glfwGetPhysicalDevicePresentationSupport and glfwCreateWindowSurface.
Added port of LunarG SDK tri example.
2016-02-16 14:58:58 +01:00
Camilla Berglund f7228bb562 Fix window class not being unregistered
The helper window kept the window class from being unregistered.

Fixes #704.
2016-02-11 17:10:57 +01:00
Aaron Jacobs 49d228207f Fix crash when joystick name unavailable on OS X
Fixes #694.
Closes #701.
2016-02-09 07:52:00 +01:00
Camilla Berglund 7f7ad39e15 CMake target installation fixes 2016-02-02 06:10:22 +01:00
Marcus Geelnard 075140aefe Add public header path to target interface
Closes #697.
2016-02-02 06:00:18 +01:00
Nicholas Vitovitch 453631773e Export transitive dependencies for static library 2016-02-02 06:00:18 +01:00
Zbigniew Mandziejewicz 8637612908 Add GLFW_DLL to target interface 2016-02-02 06:00:18 +01:00
Nicholas Vitovitch a247f7d797 Include imported targets into module config file 2016-02-02 06:00:18 +01:00
Camilla Berglund 276b1bc07a Add check for EGL specific buffer swap issue
Fixes #675.
2016-01-31 19:17:21 +01:00
Camilla Berglund 0ebdad53e8 Add asserts for public API pointer parameters 2016-01-31 17:56:36 +01:00
Camilla Berglund d0649e6868 Fix confusing legacy parameter names 2016-01-27 03:26:32 +01:00
Camilla Berglund 2cc6caf182 Remove superfluous call 2016-01-10 20:08:14 +01:00
celestinmarot 80cef67580 Fix memory leak in X11 key LUT generation
Closes #662.
2016-01-10 20:06:43 +01:00
Camilla Berglund d2d57c70e2 Fix pkg-config file generation regression
Fixes regression cased by 37c93ba031.

Fixes #664.
Closes #679.
2015-12-30 21:09:40 +01:00
Ioannis Tsakpinis 06899bd9a6 Fix SetProcessDpiAwareness case mismatch
Closes #678.
2015-12-30 15:31:55 +01:00
Jonas Ådahl cf6c11cfaa wayland: Only set surface buffer scale when supported
Although very unlikely, the wl_compositor version might not support
wl_surface.set_buffer_scale while the wl_output emits a wl_output.scale
that is larger than 1. So for correctness, bail on changing the buffer
scale if we won't be able to set it later.
2015-12-27 10:46:23 +08:00
Emmanuel Gil Peyrot 06479ba535 Wayland: Implement HiDPI support
Windows now keep track of the monitors they are on, so we can calculate
the best scaling factor for them, by using the maximum of each of the
monitors.

The compositor scales down the buffer automatically when it is on a
lower density monitor, instead of the previous way where it was scaling
up the buffer on higher density monitors, which makes the application
look much better on those ones.
2015-12-27 10:35:46 +08:00
Camilla Berglund 864ca4dd57 Remove duplicate inclusion 2015-12-15 22:37:25 +01:00
Camilla Berglund f079d0625d Platform affix cleanup
Fixes #659.
2015-12-15 22:37:24 +01:00
Camilla Berglund 37c93ba031 Compiler flag cleanup 2015-12-15 22:37:23 +01:00
Camilla Berglund b56fce1570 Fix typo
Fixes regression cased by 10c0eb648a.
2015-12-15 22:35:59 +01:00
Camilla Berglund 10c0eb648a Cleanup 2015-12-15 15:21:25 +01:00
Camilla Berglund ec9fe02a30 Sort initial joystick set on Linux
Fixes #654.
2015-12-15 14:57:02 +01:00
Camilla Berglund 6b0f660180 Fix EGL backend MinGW build errors 2015-12-13 16:56:11 +01:00
Camilla Berglund 12871db0f9 Only poll requested joystick on OS X 2015-12-13 15:15:50 +01:00
Camilla Berglund 45efb935c5 Use more GLFWbool 2015-12-13 15:09:33 +01:00
Camilla Berglund 2b52008405 Check Linux joystick init on Wayland and Mir 2015-12-13 14:51:44 +01:00
Camilla Berglund 7fec7a0569 Make source file names more consistent
Use platform prefix for files specific to that platform AND that have no
credible alternative API on that platform.

The exception is WinMM, which will be replaced before 3.2.
2015-12-13 14:51:44 +01:00
Camilla Berglund 12b6c56903 Add suffixes to platform specific helper functions
Also merge win32_tls.h into win32_platform.h.
2015-12-13 14:50:59 +01:00
Camilla Berglund 0a3b5952e0 Make WGL backend more readable 2015-12-13 14:49:55 +01:00
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