1
0
Fork 0
mirror of https://github.com/gwm17/glfw.git synced 2024-11-30 05:58:52 -05:00
Commit Graph

2285 Commits

Author SHA1 Message Date
Camilla Löwy f7dc6df02c X11: Add support for reading clipboard via INCR
This allows glfwGetClipboardString to retrieve clipboard contents larger
than (typically) 2^18 bytes.

Related to #275.
2017-09-17 13:50:00 +02:00
Camilla Löwy 16ae02ab85 Add CMake target for updating gamepad mappings
This adds the 'mappings' build target that downloads the upstream
gamecontrollerdb.txt file and regenerates the mappings.h header.

Related to #900.
2017-09-15 15:50:39 +02:00
Camilla Löwy 4637c31d82 Win32: Remove unused header 2017-09-13 23:19:29 +02:00
Camilla Löwy 7f0d5e0a03 Win32: Fix text conversion size semantics 2017-09-13 17:55:51 +02:00
Camilla Löwy f8668c5a9f Win32: Fix key names not matching other platforms
This brings printable key names more in line with the results provided
on other platforms.

Fixes #943.
2017-09-13 17:55:51 +02:00
Camilla Löwy d099181307 Add library name override macros 2017-09-10 21:02:26 +02:00
Camilla Löwy b97039f3f5 Cleanup 2017-09-10 20:57:06 +02:00
Camilla Löwy a368d89c94 Win32: Fix disabled cursor mode vs caption buttons
This postpones disabling the cursor until the user is done interacting
with a caption button.

Related to #650.
Fixes #1071.
2017-09-08 16:18:15 +02:00
Camilla Löwy d8551b73f6 Cleanup 2017-08-28 18:31:14 +02:00
Camilla Löwy 45ca8b8d19 Win32: Add HMONITOR to monitor data 2017-08-28 18:27:55 +02:00
Camilla Löwy 58a247b26d Cocoa: Fix some characters not repeating
Fixes #1010.
2017-08-23 19:10:35 +02:00
Camilla Löwy ce5e649d3b Cleanup
Move global data to library struct.  Simplify semantics.  Update
changelog.

Related to #1028.
2017-08-23 13:24:05 +02:00
Sergey Tikhomirov 80e4922b5e Cocoa: Hide cursor instead of using blank image
When cursor isn't in normal mode and should be hidden, use [NSCursor hide]
method instead of setting it to blank image. This should prevent
situations when hidden cursor becomes visible after system notification
was shown.

Fixes #971.
Closes #1028.
2017-08-23 08:44:56 +03:00
Camilla Löwy 0882fffc37 Fix missing CMake file path quoting 2017-08-20 14:47:44 +02:00
Camilla Löwy 0d6937b33b Cleanup 2017-08-20 14:41:49 +02:00
Camilla Löwy 0c70eb8d5c Unify error message buffer lengths 2017-08-17 14:25:10 +02:00
Camilla Löwy 08737bdc02 X11: Close extension libraries after XCloseDisplay 2017-08-16 21:12:48 +02:00
Camilla Löwy 0d9e71fe81 Cleanup 2017-08-16 21:03:10 +02:00
Camilla Löwy 99e72830ea X11: Add dynamic loading of libXcursor 2017-08-16 20:59:59 +02:00
Camilla Löwy 3f852c321f X11: Add dynamic loading of libXinerama 2017-08-16 20:06:22 +02:00
Camilla Löwy 15d102b75e X11: Add dynamic loading of libXrandr 2017-08-16 20:05:55 +02:00
Emmanuel Gil Peyrot 0019f7a45e Wayland: Stop crashing when Compose is unavailable
There was a missing check for when no Compose key was configured in the
xkb file, making _glfw.wl.xkb.composeState NULL and crashing on key
press.

Closes #1059.
2017-08-13 21:25:22 +02:00
Camilla Löwy 2d0ffd788b Fix type in filename 2017-08-13 21:24:58 +02:00
Camilla Löwy e27dc50689 Add non-VS warning about C99 declarations
This adds a warning in GCC and Clang about using intermingled
variable declarations in source files that will be built by VS.

This currently excludes egl_context.c and osmesa_context.c.  It will
be addressed by a separate commit.

Related to #1026.
2017-08-13 21:24:58 +02:00
Camilla Löwy b7a0f225ea Cleanup
Don't advertise native functions in public API guides.  Don't list
primary selection access as most notable new feature.  Don't have
different levels of abstraction among selection helper functions.  Don't
forget to take credit.

Related to #1056.
2017-08-13 21:22:36 +02:00
Kristian Nielsen 29a75ab09d X11: Add native access to primary selection
This adds the native access functions glfwSetX11SelectionString and
glfwGetX11SelectionString under GLFW_EXPOSE_NATIVE_X11.  They are
similar to glfwSetClipboardString and glfwGetClipboardString but operate
on the PRIMARY selection.

The primary selection is widely used in X11, and so seems important to
support.  Primary selection is mostly an X11-specific thing, hence it's
exposed as an X11 native interface.

Fixes #894.
Closes #1056.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
2017-08-13 18:52:24 +02:00
Camilla Löwy 3ee7f8f695 Cocoa: Fix warnings caused by _XOPEN_SOURCE 2017-08-10 22:24:44 +02:00
Camilla Löwy e376404d38 Cleanup 2017-08-09 16:26:29 +02:00
Camilla Löwy 079518617c Linux: Fix missing feature macro for using strdup
This adds _XOPEN_SOURCE = 500.

Fixes #1055.
2017-08-09 16:25:47 +02:00
Camilla Löwy 549308051d Linux: Update joystick API in version strings 2017-08-09 12:20:51 +02:00
Camilla Löwy f95c9d1bf3 Win32: Fix XInput axis normalization
Fixes #1045.
2017-08-09 12:20:50 +02:00
Camilla Löwy 75e44abf09 Win32: Remove deadzone logic from XInput path
Related to #1021.
Related to #1045.
2017-08-09 12:20:42 +02:00
Camilla Löwy a397195d3f Linux: Make joystick init always fail silently
Related to #833.
2017-08-09 12:18:28 +02:00
Camilla Löwy ab2247f8f3 Cocoa: Fix string object being updated incorrectly
Fixes #1050.
2017-08-06 23:27:58 +02:00
Camilla Löwy 5b7281bd41 Add glfwGetJoystickGUID
This function completes the first round of support for
SDL_GameControllerDB.

Fixes #900.
2017-07-30 16:15:12 +02:00
Camilla Löwy 213dd2d0d6 Add glfwInitHintString
Adds string type init hints.  Adds X11 specific init hints for WM_CLASS
components.  Documentation work.

Fixes #893.
2017-07-25 23:53:52 +02:00
Camilla Löwy 472e5fc4a9 Fix warning 2017-07-17 23:15:48 +02:00
Camilla Löwy e55e616f1f Cleanup
Replaces tabs with spaces.  Makes code idiomatic.  Adds credit.

Closes #1043.
2017-07-13 01:37:05 +02:00
Michał Cichoń 50a228394f Win32: Fix bad call to _glfwPlatformPollJoystick
Related to #1043.
2017-07-13 01:34:08 +02:00
Michał Cichoń afbd589348 Fix function signature in null joystick backend
Related to #1043.
2017-07-13 01:28:02 +02:00
Camilla Löwy 82284b86eb Cleanup
Thanks to glfwGetKeyScancode we can now pass only a scancode to the
platform layer for glfwGetKeyName.
2017-07-13 01:26:06 +02:00
Camilla Löwy 8e899ccc29 Cocoa: Add support for MoltenVK dynamic library
Tested with MoltenVK 0.18.0.

Related to #870.
2017-07-10 21:34:02 +02:00
Camilla Löwy ea6c50d9e2 Cleanup 2017-07-10 12:53:20 +02:00
Camilla Löwy 2fa90ae19f Win32: Fix capture logic ignoring last mouse button 2017-07-09 18:37:24 +02:00
Camilla Löwy 617c42b20a Cleanup 2017-07-09 14:01:48 +02:00
Camilla Löwy 953106e74d Add support for SDL_GameControllerDB
This adds support for importing and applying mappings from the
SDL_GameControllerDB database.

Related to #900.
2017-07-07 15:52:33 +02:00
Camilla Löwy 07bf2b166b GLX: Fix segfault when no GLXFBConfigs available
Fixes #1040.
2017-07-07 10:30:10 +02:00
Camilla Löwy 9bb5e880ae Win32: Fix XInput button bit mask array size 2017-07-02 20:15:36 +02:00
Camilla Löwy 58c05ba8ee Fix library destination for DLL platforms
Fixes #1035.
2017-06-28 12:07:39 +02:00
Camilla Löwy d5de48ab53 Report invalid constants in the appropriate base
If the expected constants are defined in hexadecimal in the header then
the error string should also use hexadecimal.

Idea by IntellectualKitty.

Related to #970.
2017-06-28 12:07:06 +02:00
Camilla Löwy 99762ad7f0 Cleanup 2017-06-15 20:03:40 +02:00
Camilla Löwy 6da26c8d6c Linux: Ignore partial state after SYN_DROPPED
Related to #1005.
2017-06-15 20:01:45 +02:00
Camilla Löwy d2952e4e92 Cleanup
Related to #1005.
2017-06-15 20:01:44 +02:00
Camilla Löwy 206f9ca4bc Linux: Fix joystick array bugs
Related to #1005.
2017-06-15 20:00:21 +02:00
Anthony Pesch d1a2ec4d20 Linux: Move to evdev for joystick input
Closes #1005.
2017-06-13 18:49:20 +02:00
Camilla Löwy 78666204a1 Linux: Fix path buffer length warning 2017-06-11 23:29:16 +02:00
Camilla Löwy 5bcf9c76fd Linux: Fix path buffer length warning
Fixes #1025.
2017-06-08 19:29:57 +02:00
ryogo.yoshimura 4dee58d480 Cocoa: Fix conversion between NSPoint and CGPoint
GLFW still supports versions of macOS before these became the same
underlying type.

Closes #1023.
2017-06-08 16:39:02 +02:00
Camilla Löwy 32f482a6d8 Cleanup 2017-06-08 16:38:45 +02:00
Camilla Löwy 0321bec232 Documentation work
[ci skip]
2017-06-08 16:09:17 +02:00
Camilla Löwy 2bb8517e9e EGL: Fix EGL_KHR_create_context_no_error support 2017-06-08 16:09:16 +02:00
Camilla Löwy f4ea29cd06 GLX: Add GLX_ARB_create_context_no_error support 2017-06-08 16:09:16 +02:00
Camilla Löwy 52f7684487 WGL: Add WGL_ARB_create_context_no_error support 2017-06-08 16:09:15 +02:00
Camilla Löwy a3007b9b0e Rename thread source files
This to reflect that they now contain more than TLS.
2017-06-08 16:09:14 +02:00
Camilla Löwy 14a3fe0ac0 Make glfwGetError also provide description
Related to #970.
2017-06-08 16:08:36 +02:00
Camilla Löwy 372e908682 Remove internal header inclusion guards
Inclusion of internal headers is already both centralized and follows
strict rules.  Inclusion guards are both an unneccessary maintenance
burden and may hide inclusion order bugs.
2017-05-25 19:35:13 +02:00
Camilla Löwy 186d03b32a Cleanup
Related to #983.
2017-05-17 22:26:15 +02:00
Camilla Löwy c8ea64976f XKB: Workaround for Num Lock
Related to #983.
2017-05-17 22:26:08 +02:00
Camilla Löwy 2023095d8e XKB: Fix Unicode lookup regression
This fixes a sorting error introduced by
8597002a17.  The array must be sorted for
the binary search.
2017-05-17 22:24:26 +02:00
Denis Bernard 8597002a17 X11: Make glfwGetKeyName return UTF-8 strings
Fixes #981.
Closes #983.
2017-05-17 22:21:22 +02:00
Camilla Löwy 4f7102be26 Clarify joystick ID error message 2017-05-17 22:21:22 +02:00
Camilla Löwy 018ae69b33 Cleanup
Related to #985.
2017-05-16 15:43:28 +02:00
Konstantin Käfer d1d08ef99f Cocoa: Fix EGL support
This adds support for using GLFW with EGL backends on macOS.  While EGL
isn't available by default on macOS, there are third-party
implementations like SwiftShader.

The addition of MoltenVK support added an override to makeBackingLayer.
In non-Vulkan mode, this means that we are returning nil from that
function.  The NSGL implementation creates this layer manually later on,
but other OpenGL backends don't necessarily do that.

Closes #985.
2017-05-16 15:42:19 +02:00
Camilla Löwy 85c6168bba Fix missing type cast
Thanks, Clang!
2017-05-16 14:33:14 +02:00
Camilla Löwy baa9cd8968 Cleanup
Closes #988.
2017-05-11 20:10:04 +02:00
Felipe Ferreira da Silva 412eb6a611 Add glfwRequestWindowAttention
Related to #988.
2017-05-11 13:36:39 +02:00
Camilla Löwy 731ff91acd WGL: Add support for WGL_EXT_colorspace 2017-05-10 19:36:26 +02:00
Camilla Löwy b234e28d5d Win32: Stop exporting GUIDs from static library 2017-05-10 19:36:17 +02:00
Camilla Löwy 6350641f0a Add glfwGetError
Related to #970.

If you have opinions on the design or implementation of this function,
please come join us in #970 before it is frozen for release.
2017-05-03 18:30:11 +02:00
pengo 4884232360 Wayland: Update serial on button callback
The serial needs to be update for starting operations like moving and
resizing a window.

Closes #992.
2017-04-13 03:59:49 +02:00
Camilla Löwy 66b16f1fc1 X11: Add validation of RandR gamma ramp size 2017-04-05 17:53:00 +02:00
Brandon Schaefer c9003b5547 Mir: Get ready for Mir 1.0
Clean up CMake finding and check version.  Change last remaining
deprecations.

Closes #979.
2017-03-30 00:43:03 +02:00
Camilla Löwy 4ff66a7818 X11: Fix IM-duplicated key events leaking through
Fixes #747.
Fixes #964.
2017-03-27 02:00:31 +02:00
Camilla Löwy 72d58d7b93 Cleanup 2017-03-26 16:46:17 +02:00
Camilla Löwy 11c15b562d Remove superfluous comments 2017-03-26 16:46:17 +02:00
Camilla Löwy 9b81d72c46 X11: Fix libXi soname 2017-03-26 16:46:17 +02:00
Camilla Löwy b0277a129b Fix comment 2017-03-26 16:46:17 +02:00
Camilla Löwy 6abb5cbcbb Formatting 2017-03-26 16:46:17 +02:00
Camilla Löwy b215a989f5 Win32: Check for monitor object creation failure 2017-03-26 16:46:17 +02:00
Camilla Löwy 5fe4dfb511 X11: Narrow criteria for disabling RandR
Fixes #972.
2017-03-26 16:46:17 +02:00
Camilla Löwy cf2eab5b4e Cocoa: Made axis auto-calibration less jumpy 2017-03-23 17:33:05 +01:00
Camilla Löwy 55d0560746 Cocoa: Fix range handling for hats and buttons
Fixes #888.
2017-03-23 15:58:14 +01:00
Camilla Löwy 1982543cd2 Cleanup 2017-03-19 02:46:16 +01:00
Camilla Löwy aaf2800c9c Add internal TLS support
Related to #970.
2017-03-19 00:52:46 +01:00
Camilla Löwy 62414bff6e X11: Fix inverted coordinate transform 2017-03-17 14:09:07 +01:00
Camilla Löwy 6a65341e14 X11: Fix multiple issues in XDND support
The code blindly expected UTF8_STRING for files.  It did not downgrade
based on source protocol version.  It did not handle hostnames in
text/uri-list data.  It did not specify the source time stamp when
converting the selection.  It did not search the XdndTypeList when
necessary.  It did not ignore sources that specified invalid versions.

While better, this is still not fully conformant.  Hostnames are not
validated and it does not guard against source crashes.

Fixes #968.
2017-03-16 23:41:06 +01:00
Camilla Berglund 7410346c5c Cocoa: Allow undecorated windows to become main 2017-03-16 15:46:21 +01:00
Camilla Löwy 27a8b3c17b EGL: Add support for EGL_KHR_context_flush_control 2017-03-15 17:37:33 +01:00
Camilla Löwy 7c070f55be EGL: Add support for Cygwin 2017-03-15 14:40:21 +01:00
Camilla Löwy 3d8aa53573 Cocoa: Fix full screen window not being restorable
Once a full screen window was iconified, it would appear to restore but
then disappear.

Fixes #848.
2017-03-15 01:27:46 +01:00
Camilla Löwy 7c88c92778 Cocoa: Fix window rect on leaving video mode
Fixes #748.
2017-03-14 21:23:48 +01:00
Camilla Löwy 21355e31db Cleanup 2017-03-14 20:39:18 +01:00
Camilla Löwy 97dbd8b63b Win32: Fix monitor event emission
Fixes #784.
2017-03-14 19:21:57 +01:00
Camilla Löwy 0df9cc2fc5 Win32: Improve monitor enumeration
This changes enumeration to add as a GLFW monitor any active adapter
without displays, even if other active adapters do have displays.

Related to #441.
Fixes #960.
2017-03-14 19:10:57 +01:00
Camilla Löwy 6a8ade99c7 Cocoa: Remove errors emitted on headless systems
Related to #958.
2017-03-10 14:44:55 +01:00
A. Tombs 5ae781586f X11: Handle Selection* events despite NULL window
X11 event processing currently discards events that can not be mapped to
a current GLFW window.  However, this breaks clipboard functionality by
failing to respond to SelectionRequest and SelectionClear events.

This commit moves processing of these important clipboard events to
before the NULL window test so that they are always considered.

Fixes #961.
Closes #963.
2017-03-07 19:24:31 +01:00
Camilla Löwy 798d7c6d68 Implement glfwGetJoystickHats
This moves the buttons-as-hats logic to shared code and adds the
GLFW_JOYSTICK_HAT_BUTTONS input mode as a way to disable this legacy
behavior.

Fixes #889.
2017-03-06 03:23:29 +01:00
IntellectualKitty 368dec7ac7 Add glfwGetJoystickHats
This merges the public part of the glfwGetJoystickHats work by
@IntellectualKitty.  The implementation needs replacing due to
refactoring in preparation for gamecontrollerdb support.

Closes #906.
2017-03-05 23:20:07 +01:00
Emmanuel Gil Peyrot 0e0862cfc7 Wayland: Fix broken build
Regression caused by e9560ef021.
2017-03-03 17:51:40 +00:00
Camilla Löwy 5b306f0390 Cleanup 2017-03-03 14:22:38 +01:00
Camilla Löwy d88347ee7d Mir: Fix broken build
Regression caused by e9560ef021.
2017-03-02 17:52:32 +01:00
Camilla Löwy 7a8516d296 Cleanup 2017-03-01 04:36:00 +01:00
Camilla Löwy c50aba1335 Cocoa: Add support for MainMenu.nib loading 2017-03-01 04:36:00 +01:00
Camilla Löwy 6d9a58bfef Add glfwInitHint
This allows setting hints that control how the library is initialized,
transforming more compile-time options into run-time ones.
2017-03-01 04:35:41 +01:00
Camilla Löwy 071a049f07 Documentation work
[ci skip]
2017-02-28 22:54:50 +01:00
Camilla Löwy e019f7e7f2 Remove misleading platform API documentation
[ci skip]
2017-02-28 22:54:45 +01:00
Camilla Löwy 315c9455d5 OSMesa: Use framebuffer size for framebuffer 2017-02-28 22:21:42 +01:00
Camilla Löwy 97b0c645bf Remove unused stub 2017-02-28 22:21:02 +01:00
Camilla Löwy 53f46d32e2 Make OSMesa backend an almost proper null backend
It still depends on POSIX time and TLS.
2017-02-28 21:57:43 +01:00
Camilla Löwy e9560ef021 Add GLFW_OSMESA_CONTEXT_API
This allows the creation of OpenGL contexts via OSMesa on existing
platforms.  It does not add a compile- or link-time dependency on
OSMesa.

Fixes #281.
2017-02-28 20:38:10 +01:00
Camilla Löwy a44f2c0e65 Win32: Fix VC++ warning 2017-02-28 00:07:37 +01:00
Camilla Löwy ce8fe645f4 Cleanup 2017-02-26 22:22:53 +01:00
Camilla Löwy 9950d8a319 Cleanup 2017-02-26 22:18:47 +01:00
Camilla Löwy 4928e2bf0a Clarify undocumented platform errors 2017-02-26 20:09:46 +01:00
Camilla Löwy a570d0a129 X11: Use XI_RawMotion for disabled cursor motion
Related to #125.
2017-02-26 18:48:04 +01:00
Camilla Löwy 918b4e81d2 Win32: Move to WM_INPUT for disabled cursor motion
Related to #125.
2017-02-26 18:48:03 +01:00
Camilla Löwy dd96d0ac93 Win32: Fix mouse button messages lost by capture
Fixes #954.
2017-02-26 18:48:02 +01:00
Camilla Löwy 3817b4e1c5 Add more assertions 2017-02-23 17:47:41 +01:00
Camilla Löwy 2ba461e348 Formatting 2017-02-23 17:46:59 +01:00
Camilla Löwy 5352e2caa0 X11: Fix read past top of stack on 64-bit
Fixes #951.
2017-02-23 03:27:23 +01:00
Camilla Löwy 980f955f6c Fix undefined behavior
Fixes #950.
2017-02-16 05:23:10 +01:00
Camilla Löwy 343288c1f6 Fix line endings
[ci skip]
2017-02-11 21:17:26 +01:00
Camilla Löwy 355b46e6c5 Win32: Fix screensaver and blanking prevention
On Vista and later, Handling WM_SYSCOMMAND is not enough to prevent
password protected screensavers or monitor blanking.

Fixes #851.
2017-02-10 02:28:55 +01:00
Camilla Löwy 366b90be1a Documentation work 2017-02-10 01:55:03 +01:00
Camilla Löwy 77a8f103d8 Add GLFW_COCOA_GRAPHICS_SWICTHING
This provides control over whether the context should participate in
macOS Automatic Graphics Switching.

Closes #377.
Closes #935.
2017-02-10 01:29:29 +01:00
Camilla Löwy 558afefc04 X11: Fix sonames for dynamically loaded libraries
Fixes #941.
2017-02-08 06:53:04 +01:00
Camilla Löwy 21eabd3938 Documentation work 2017-02-08 06:53:04 +01:00
Camilla Löwy 0c090a8c8b Perform full termination on platform init failure 2017-02-08 06:53:04 +01:00
Camilla Löwy 926d2beddb Move initialized flag into library struct 2017-02-08 06:53:04 +01:00
Camilla Löwy 98bdd36231 Fix glfwVulkanSupported semantics 2017-02-07 21:28:50 +01:00
Camilla Löwy 8e870d4cc0 Win32: Fix bad error from glfwVulkanSupported
A VK_ERROR_OUT_OF_HOST_MEMORY error would be passed on to client code on
systems that had a Vulkan loader but no ICD.

Fixes #916.
2017-02-07 20:08:14 +01:00
Camilla Löwy 5a74b5008d Cleanup
Related to #842.
2017-02-06 15:16:27 +01:00
Liam Middlebrook 72ac5badb0 Add GLFW_CENTER_CURSOR
Adds a hint for controlling whether the cursor is centered over newly
created full screen windows.

Fixes #749.
Closes #842.
2017-02-06 15:16:26 +01:00
Camilla Löwy ef5a21496c X11: Fix set not being reset each call to select 2017-02-01 03:16:29 +01:00
Camilla Löwy 67a55efa27 Add null joystick backend
This prepares the X11 backend to support other joystick APIs, for
example the FreeBSD libusb one.
2017-02-01 03:07:25 +01:00
Camilla Löwy c5694b3013 Linux: Fix joystick disconnection detection
Joystick disconnection was not dectected by the event processing
functions and required calling a joystick function.

Fixes #932.
2017-01-31 00:21:53 +01:00
Camilla Löwy 9cfaf0944c Fix file API version number 2017-01-30 16:52:49 +01:00
Camilla Löwy bfd564f257 Move internals to shared joystick objects
Preparation for gamecontrollerdb support and the gamepad API.
2017-01-30 16:52:49 +01:00
Camilla Löwy 43c1910453 Win32: Cleanup 2017-01-29 19:50:41 +01:00
Camilla Löwy 260dbf0a1d Win32: Cleanup 2017-01-29 19:50:35 +01:00