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

2714 Commits

Author SHA1 Message Date
Camilla Löwy 334a485968 Win32: Fix potential buffer overrun
Found with VS static analysis.
2019-04-15 15:35:19 +02:00
Camilla Löwy 0e74265426 Cocoa: Fix cursor hover test 2019-04-15 14:52:17 +02:00
Camilla Löwy 3c3981a4f0 Cocoa: Fix coordinate transformations
Window relative mouse locations provided via NSWindow and NSEvent are
based at 0,1 while screen relative locations use 0,0.  Incorrect
handling of this had crept into other coordinate transformations.  Note
that most of these errors canceled each other out, so the reported
positions of windows, monitors and work areas are unaffected.  This
corrects the cursor position for glfwGetCursorPos and glfwSetCursorPos.

Fixes #1461.
2019-04-15 14:52:17 +02:00
Camilla Löwy 28f118f4de NSGL: Disable swap interval
Swap interval now uses CVDisplayLink.
2019-04-15 14:36:12 +02:00
Camilla Löwy 93962ec168 Win32: Fix VS 2010 build error 2019-04-15 02:46:07 +02:00
Camilla Löwy 3461d1c2a5 Fix missing context APIs in version strings 2019-04-08 20:51:34 +02:00
Camilla Löwy c585bf010b Fix file flags 2019-04-07 20:44:21 +02:00
Cliff Smolinsky 87458617e0 Win32: Bypass composition check on Windows 8+
DWM composition is always enabled on Windows 8 and later, so there's no
need to call DwmIsCompositionEnabled on those platforms.

Fixes #1452.
Closes #1453.
2019-04-01 18:11:55 +02:00
Camilla Löwy 297999c9e1 Add missing SDL2 attribution 2019-04-01 17:42:27 +02:00
Camilla Löwy 5292914ce1 Win32: Fix message pump filtering during init
Fixes #886.
2019-03-28 23:50:13 +01:00
Camilla Löwy 02874d9c14 Align joystick axis to gamepad button behavior
This is an SDL2 compatibility fix.
2019-03-28 23:01:27 +01:00
Camilla Löwy 0d355379e0 Cocoa: Support some sim page joystick elements
This is an SDL2 compatibility fix.
2019-03-28 22:58:47 +01:00
Camilla Löwy c32dc3a085 Fix half-axis to gamepad button value mapping
Negative half-axes were not negated when mapped onto gamepad buttons.
2019-03-27 20:34:54 +01:00
Camilla Löwy cad22cb2f6 Cocoa: Fix missing check for selector
Fixes #1457.
2019-03-27 20:04:43 +01:00
Camilla Löwy 1fca33b3c1 Cocoa: Remove checks for pre-10.8 SDK
OS X 10.8 is now the minimum required version but these checks were not
removed when that change was made.
2019-03-27 20:03:05 +01:00
Camilla Löwy 9420e6f0d0 Fix invalid ranges for gamepad axis sources
Buttons and hat bits were mapped to [0,1] instead of [-1,1].

Fixes #1293.
2019-03-27 19:35:19 +01:00
Camilla Löwy 980fc9b52f Cocoa: Apply retina window hint to Metal layer
Related to #1340.
2019-03-27 17:14:30 +01:00
Camilla Löwy e108c0de0d Cocoa: Explicitly set layer on surface creation
Implicitly setting the layer doesn't work when there is already a layer.
Our view is now layer-hosting for Vulkan.

Fixes #1340.
2019-03-27 16:28:16 +01:00
Camilla Löwy 056c5d3f90 Cleanup 2019-03-27 01:26:39 +01:00
Camilla Löwy a4fbc6fe91 NSGL: Disable API deprecation warnings 2019-03-26 18:30:17 +01:00
Camilla Löwy 8d7e5cdb49 NSGL: Update current display for display link
This solution of one display link per window is far from ideal but is
still better than no solution.

As a side-effect this fixes swap interval breaking being ignored for
occluded windows on earlier versions of macOS.

Fixes #680.
Fixes #1337.
Related to #1417.
Fixes #1435.
2019-03-05 20:22:00 +01:00
Camilla Löwy f8bcc7e65c NSGL: Fix leak of condition object
Related to #1417.
2019-03-05 20:22:00 +01:00
Camilla Löwy ba761ab06e NSGL: Fix display link leaking and left running
Related to #1417.
2019-03-05 20:22:00 +01:00
Camilla Löwy d0e8d06d95 Cleanup
Related to #1417.
2019-03-05 20:22:00 +01:00
Camilla Löwy 3615d437a7 Formatting
Related to #1417.
2019-03-05 20:22:00 +01:00
amarcu5 82ca58da04 NSGL: Implement swap interval with CVDisplayLink
This fixes OpenGL swap interval (vsync) on macOS 10.14 Mojave by using
CVDisplayLink to synchronise to the monitor refresh rate rather than
setting NSOpenGLContextParameterSwapInterval.

Solution based on advice provided by @rcgordon.

Closes #1417.
2019-03-05 20:21:56 +01:00
Camilla Löwy 4e3204d86d Cocoa: Replace global autorelease pool with blocks
This is another small step towards having GLFW play nice with other
toolkits sharing the same process, including AppKit.

Any macOS platform function that touches Cocoa must now wrap itself in
an autoreleasepool block.

Since GLFW no longer provides an autoreleasepool outside of its
functions, THIS MAY BREAK EXISTING CODE MIXING GLFW AND COCOA.  Sorry!
Please add your own autoreleasepool blocks as needed.

Fixes #1107.
Closes #1114.
2019-03-05 20:11:20 +01:00
Camilla Löwy 9883cb64f0 Cocoa: Disable shadow for transparent framebuffer 2019-03-05 20:03:29 +01:00
Camilla Löwy 4b20fb705b Cocoa: Fix work area using NS screen coordinates
Related to #1322.
2019-03-05 17:41:32 +01:00
Camilla Löwy 3a2a97f15d X11: Fix implementation of work area retrieval
This intersects the global work area from _NET_WORKAREA with the monitor
viewport.  The monitor viewport falls back to the core display
dimensions where working RandR is missing.  The _NET_WORKAREA query is
now checked for success.  The _NET_WORKAREA extent array is now indexed
by _NET_CURRENT_DESKTOP.  The _NET_WORKAREA atom is now checked for
availability.

Related to #1322.
2019-03-05 16:58:45 +01:00
Camilla Löwy 4f14c1e776 X11: Fix copypaste errors
Related to #1322.
2019-03-05 16:58:45 +01:00
Camilla Löwy d82e7b5cb1 Win32: Use cached monitor handle for work area
This facility was added after the original PR was made.

Related to #1322.
2019-03-05 16:58:45 +01:00
Camilla Löwy 0118743333 Formatting
Related to #1322.
2019-03-05 16:58:45 +01:00
Camilla Löwy a726942bfe Cocoa: Unify NSScreen cached lookup for monitors
Related to #1322.
2019-03-05 16:58:45 +01:00
Doug Binks 68fd4e8bb3 Cocoa: Fix work area retrieval on missing screen
Closes #1322.
2019-03-05 16:58:45 +01:00
Doug Binks ba4e78e57f Wayland: Return whole output area as work area
Related to #1322.
2019-03-05 16:10:59 +01:00
Doug Binks 222ac78a44 Cocoa: Add work area NULL checks and fix size
Related to #1322.
2019-03-05 16:10:59 +01:00
Doug Binks bea4818030 X11: Add NULL checks in work area retrieval
Related to #1322.
2019-03-05 16:10:59 +01:00
Doug Binks e6d22346f9 Fix copypaste error in glfwGetMonitorWorkarea
Related to #1322.
2019-03-05 16:10:59 +01:00
Doug Binks f7733c7b4f Win32: Add missing out parameter NULL checks
This fixes _glfwPlatformGetMonitorWorkarea not checking if its out
parameters were NULL.

Related to #1322.
2019-03-05 16:10:59 +01:00
Doug Binks 5c752355cb Win32: Fix and simplify work area retrieval
Related to #1322.
2019-03-05 16:10:59 +01:00
Felipe Ferreira da Silva be295ccbea Add glfwGetMonitorWorkarea
This function retrieves the work area rectangle of the specified
monitor.

Related to #920.
Closes #989.
2019-03-05 16:10:59 +01:00
Camilla Löwy c20754c4a6 Fix Coverity Scan false positive 2019-03-04 18:52:56 +01:00
Camilla Löwy 621ece63c8 Round refresh rate instead of truncating
Fixes #1441.
2019-03-04 17:31:14 +01:00
Camilla Löwy 2fbb560eb7 Cocoa: Fix window creation blocking after re-init
Fixes #1439.
2019-02-25 02:41:05 +01:00
Camilla Löwy 7c3aaf8065 Win32: Fix OCR_HAND macro missing on MinGW
Fixes #1438.
2019-02-24 04:18:11 +01:00
Camilla Löwy 44af6bb936 Wayland: Implement raw mouse motion control
Related to #1400.
Related to #1401.
2019-02-22 14:52:02 +01:00
Camilla Löwy 1155c83013 Rename raw input to raw mouse motion, cleanup
This renames 'raw input' to 'raw mouse motion' as there are other kinds
of raw input.  The update path is restructured to avoid reinitializing
all of disabled cursor mode.  Modification of shared state is moved out
into shared code.  Raw mouse motion is disabled by default for
compatibility.

Related to #1401.
2019-02-22 13:04:11 +01:00
Nathan Poirier 9e29f556fd Add GLFW_RAW_INPUT and glfwRawInputSupported
This adds runtime per-window control of whether accelerated or raw mouse
motion is provided when the cursor is disabled.

Fixes #1400.
Closes #1401.
2019-02-22 13:04:11 +01:00
Emmanuel Gil Peyrot 5f9cbd0ebc Wayland: keyboard repeat rate is given in Hz
It was currently interpreted as ms, which is obviously wrong.

Thanks to https://github.com/Smithay/client-toolkit/pull/62 for making
me notice this issue.
2019-02-20 15:56:04 +01:00
Camilla Löwy ec3784f3d7 WGL: Unify query error handling 2019-02-17 18:34:56 +01:00
Camilla Löwy 782f7fe0c7 WGL: Fix leak on format attrib query failure
This was found by Coverity Scan.
2019-02-17 18:34:56 +01:00
Emmanuel Gil Peyrot 45bd991ea9 Wayland: Fix auto-iconify on kwin_wayland
We now keep track of the fullscreen and activated state and only iconify
if we were previously fullscreen and now we are either not fullscreen or
not activated anymore.

This is the proper way to do it, compared to the previous hack where we
didn’t iconify only if it was the first configure event received.
2019-02-15 18:12:09 +01:00
Emmanuel Gil Peyrot edf0a07174 Wayland: Only auto-iconify fullscreen windows
Thanks to kwin for exposing a bug here!
2019-02-15 17:03:37 +01:00
Greg V 36ce73bbfd Wayland: use SHM_ANON on FreeBSD
This works like memfd on Linux.
2019-02-15 15:45:25 +01:00
Camilla Löwy 1d95acdf56 Cocoa: Fix detection of Clang 2019-02-14 00:19:45 +01:00
schraf 2e70950c0f Fix quoting of CMAKE_C_COMPILER_ID
I was getting an error in this cmake file when using 3.10.2 on linux.
Here was the error message I was getting:

[cmake] CMake Error at external/glfw/src/CMakeLists.txt:82 (if):
[cmake]   if given arguments:
[cmake]
[cmake]     "STREQUAL" "GNU" "OR" "STREQUAL" "Clang"
[cmake]
[cmake]   Unknown arguments specified

Adding the quotes around the cmake variables seems to do the trick. That
was also done with the STREQUAL condition earlier on line 66.

Closes #1411.
2019-02-14 00:19:45 +01:00
Camilla Löwy 2a27eb95e4 X11: Fix system cursor used for GLFW_HAND_CURSOR
Fixes #1432.
2019-02-14 00:04:39 +01:00
Camilla Löwy e2fa82ffbb Cleanup
Related to #1431.
2019-02-13 23:21:05 +01:00
Max Risuhin cf79f06257 Win32: Fix standard cursors not being DPI aware
Closes #1431.
2019-02-11 19:19:06 +01:00
Camilla Löwy 90e22947c6 Cleanup 2019-01-31 01:58:04 +01:00
Camilla Löwy 463ef7eb71 Cocoa: Fix handling of analog joystick buttons
The reported state was not clamped to [0,1], i.e. GLFW_RELEASE and
GLFW_PRESS.

Fixes #1385.
2019-01-31 01:54:49 +01:00
Camilla Löwy 51ca41dd9f Cocoa: Add missing IOHID page and usages
Related to #1385.
2019-01-31 01:53:55 +01:00
Camilla Löwy 530b37f4db Cocoa: Disable automatic tabbing for GLFW windows
Related to #1250.
2019-01-31 00:20:24 +01:00
Camilla Löwy 78e6a0063d X11: Fix EWMH state update for hidden windows
The EWMH window state code assumed the window was mapped.

Fixes #1358.
2019-01-31 00:02:16 +01:00
Camilla Löwy b41cd34143 Cleanup 2019-01-25 12:46:46 +01:00
Camilla Löwy d5ab3e919a Cleanup
Replace client area with content area.
2019-01-25 12:46:46 +01:00
iamCaveLamp a46104ee69 Removed duplicates of centerCursor function 2019-01-22 20:17:35 +01:00
Camilla Löwy 3d748cf530 Cleanup
Related to #1381.
2019-01-17 00:12:59 +01:00
Doug Binks babafc13db WGL: Add array-based call to wglGetPixelFormatAttribivARB
This improves performance of pixel format enumeration and helps the very
poor performance reported on a small number of machines.

Closes #1381.
2019-01-17 00:12:59 +01:00
Camilla Löwy 2053f3ed22 Cleanup 2019-01-17 00:11:17 +01:00
Camilla Löwy 55b1a16f90 Remove window requirement for all event functions
This lets an application wait for non-window events without needing to
create a window.

Fixes #1317.
2019-01-15 19:28:17 +01:00
Camilla Löwy ea7eb2ddab Cocoa: Move app delegate and menu creation to init
The application delegate needs to be set at init to receive monitor
events before window creation.  Menu creation is moved to
applicationWillFinishLaunching: to play nicer with other toolkits in the
same process.

Related to #1317.
2019-01-11 01:05:00 +01:00
Camilla Löwy 9a9568212c Cocoa: Move slightly towards modern Objective-C 2019-01-10 23:20:56 +01:00
Camilla Löwy 72c3908e14 X11: Fix glfwSetWindowMonitor not flushing buffer 2019-01-02 21:55:30 +01:00
Camilla Löwy cde0aaaab1 X11: Fix glfwSetWindowMonitor not updating hints
This makes glfwSetWindowMonitor update the WM_NORMAL_HINTS when resizing
non-user-resizable windowed mode windows.
2019-01-02 21:55:30 +01:00
Camilla Löwy 1635fe2826 Cleanup
Put the non-client painting related message cases with the client ones
so that they can be happy together.

Related to #1383.
2018-12-26 15:22:20 +01:00
Aaron Loucks 9ac9d7b85a Win32: Disable non-client painting if undecorated
Fixes an issue where a small title bar and window caption
buttons were being painted after restoring a minimized
undecorated window.

Closes #1383.
2018-12-26 15:00:39 +01:00
Vallentin e29882523e Fix typos
Closes #1402.
2018-12-26 15:00:39 +01:00
Camilla Löwy 3531c320af Fix glfwSetGamma generating ramps of invalid sizes
This makes glfwSetGamma generate a gamma ramp of the same size as the
monitor's current ramp, which will avoid failure on non-256 entry
monitors on X11 and avoid ramp interpolation on macOS.

Closes #1387.
Fixes #1388.
2018-12-26 15:00:39 +01:00
Camilla Löwy 52c7a4fc7f Fix glfwGetGammaRamp error handling
This makes glfwGetGammaRamp return NULL on platform error as specified.

Related to #1387.
2018-12-26 15:00:39 +01:00
Camilla Löwy 3201eedc34 Cleanup
We have a usable fminf now.
2018-12-26 14:59:51 +01:00
Alexander Monakov 064dfaa549 Wayland: Remove gamma-related TODOs
Commit 9c513346ad ("Gamma will never be
supported on Wayland") made it clear that it cannot be implemented, so
this removes the TODO markers and rewords the error messages.

Related to #1387.
2018-12-26 14:50:22 +01:00
Camilla Löwy 751c6f9a27 Fix assertions for glfwSetGamma value
The NaN assert was implicit in the other ones.  The lower bound assert
incorrectly allowed a value of zero.

Related to #1387.
2018-12-26 14:48:40 +01:00
Camilla Löwy 8c611fd5d0 Win32: Fix build on older versions of Visual C++
Older versions did not provide fmin or fmax.  This adds internal
versions of fminf and fmaxf that should not be confused with
standards compliant implementations.
2018-12-26 14:45:40 +01:00
Camilla Löwy a59315ed6a Win32: Fix joystick element info memory leak
The array was freed on failure but not on success.

Fixes #1396.
2018-12-26 14:43:33 +01:00
Keith Bauer c4903d9267 Cocoa: Fix half of all key events for Caps Lock
This adds reporting of those Caps Lock key events that cause the lock
state to change.

The full fix involving IOHID is being worked on in #1368.

Related to #1368.
Closes #1373.
2018-12-25 21:39:48 +01:00
Andrew Belt cc621765e5 Cocoa: Accept focusing mouse click as input
This makes the behavior on macOS consistent with other platforms.

Fixes #1209.
Closes #1386.
2018-12-25 20:50:50 +01:00
Camilla Löwy 17a15a20f2 Cocoa: Move to modern Objective-C literals 2018-12-25 18:52:56 +01:00
Camilla Löwy c3ed70a4b7 Cocoa: Add NSApplicationDelegate protocol 2018-12-25 18:35:09 +01:00
Camilla Löwy 88c5edb409 Cocoa: Remove subclassing of NSApplication
This removes the GLFW NSApplication subclass as a step towards better
coexistence with other libraries that touch Cocoa.

This moves application object creation to platform init to allow event
processing before window creation.

Related to #1317.
2018-12-25 18:13:59 +01:00
Rolf Eike Beer f9923e9095 Use GNUInstallDirs for install destinations
This has the advantage that the user may override e.g. the include
location, and the correct libdir (lib, lib64, lib/something) is
automatically determined.

Closes #1367.
2018-12-03 19:28:31 +01:00
Camilla Löwy f680001b95 Cocoa: Remove superfluous compatibility macro 2018-11-27 21:44:20 +01:00
Camilla Löwy 18145a7f3d Cocoa: Use NSURLs for drag and drop
Fixes #1377.
2018-11-27 21:44:20 +01:00
Dominique Martinet 62993d9391 x11 window: update cursor position on enter event
click events would have an incorrect position after changing workspace,
if the mouse didn't move in between.
(Another example where this matters is a new window, if it appears under
the cursor, clicking would lead the application to think the user clicked
at 0,0)
2018-11-03 14:17:39 +01:00
MrVallentin 85fd5aa6c4 Use HTTPS when possible 2018-11-03 11:57:47 +01:00
meditator d9466050d9 X11: Fix missing check for NET_WM_STATE
Closes #1356.
2018-11-01 17:26:51 +01:00
Camilla Löwy 5595fa3ae6 Cocoa: Fix OpenGL rendering not being displayed
Fix based on information provided by @rcgordon.

Fixes #1334.
Closes #1346.
2018-10-26 16:24:16 +02:00
Camilla Löwy 6dfc12a439 Cocoa: Fix some macOS 10.14 deprecation warnings 2018-10-26 15:19:48 +02:00
Camilla Löwy 031a8f9583 Cocoa: Cleanup 2018-10-24 18:01:12 +02:00
Emmanuel Gil Peyrot c08abffc50 Wayland: Implement clipboard copy 2018-10-24 14:03:08 +02:00
Emmanuel Gil Peyrot 8b54e28c4e Wayland: Implement clipboard paste 2018-10-24 14:03:08 +02:00
Emmanuel Gil Peyrot 3c4b9a7eef Wayland: Add boilerplate for clipboard handling 2018-10-24 14:03:08 +02:00
Ricardo Vieira 92b3fd02e5 wayland: save serial from all input sources 2018-10-24 14:03:08 +02:00
Camilla Löwy 0b3677c2b1 X11: Clarify comment 2018-10-22 00:51:08 +02:00
Camilla Löwy e779280802 Win32: Fix invalid calls to GetDpiForWindow
The check for Windows 10 Anniversary Edition or later was not always
performed before calling GetDpiForWindow.

Fixes #1335.
Closes #1363.
2018-10-22 00:51:08 +02:00
Camilla Löwy 1725d1c4f5 Win32: Fix build on early Windows 10 SDKs
Related to #1320.
2018-10-22 00:51:08 +02:00
Camilla Löwy 6bd264244a WGL: Cleanup 2018-10-22 00:51:08 +02:00
emersion 5afcd0981b wayland: add support for XCURSOR_THEME and XCURSOR_SIZE
These can be set by the compositor or the user to configure the
xcursor theme and size.
2018-10-11 00:58:23 +02:00
Emmanuel Gil Peyrot cc805c0963 Mir: Remove this experimental backend
As of the release of Mir 1.0, libmirclient has been deprecated[1] and
its developers recommend clients using it to switch to Wayland.  This
patch removes support for libmirclient and instruct users to use the
experimental Wayland backend instead.

[1] https://discourse.ubuntu.com/t/mir-news-28th-september-2018/8184
2018-10-05 11:59:26 +02:00
Emmanuel Gil Peyrot e75af5f531 Linux: Include the null byte in joystick path
This potential bug was found thanks to gcc 8’s -Wstringop-truncation
warning.
2018-10-03 22:03:20 +02:00
Emmanuel Gil Peyrot dcd2a19d90 Wayland: Add support for xdg-decoration
This allows compositors which prefer to draw the decorations around
clients to do so, rather than letting GLFW draw its own decorations.
The appearance is thus entirely subject to the compositor used, but
should generally be better than the current solid colour decorations we
have, which we continue to use when the compositor doesn’t support this
protocol or tells us to draw the decorations ourselves.

This new protocol has been tested against wlroots’s rootston compositor.

Fixes #1257.
2018-10-01 16:37:24 +02:00
Emmanuel Gil Peyrot 3e884aea46 Wayland: Use memfd_create() and seals if available
This allows the compositor to avoid having to setup and teardown a
SIGBUS signal handler whenever it needs to read from this surface, as it
knows we won’t be able to shrink the file and so doesn’t have to protect
against that.

This codepath will only be used on Linux ≥ 3.17 with glibc ≥ 2.27, and
possibly other kernels and libc.  The former code will continue to be
used as a fallback, either if memfd_create() fails or if it isn’t
available.
2018-10-01 13:13:19 +02:00
Emmanuel Gil Peyrot ab16fcc8db Wayland: Check for buffer creation failure
This prevents unusable decoration objects from being created, and
invalid cursors from being returned to the user.
2018-09-29 22:59:02 +02:00
Emmanuel Gil Peyrot 754b7feaa1 Wayland: Rename handlers for more unicity 2018-09-29 21:01:03 +02:00
Emmanuel Gil Peyrot 4d3f0fb5df Wayland: Split long lines for function declaration 2018-09-29 18:11:13 +02:00
Emmanuel Gil Peyrot 15cad02235 Wayland: Use HiDPI cursors for standard cursors 2018-09-11 14:28:44 +02:00
Emmanuel Gil Peyrot e0b83bbe8d Wayland: Use HiDPI cursors on decorations 2018-09-11 14:28:44 +02:00
Emmanuel Gil Peyrot 321062833a Wayland: Load a bigger cursor theme for HiDPI 2018-09-11 14:28:44 +02:00
Emmanuel Gil Peyrot 5ea6e6cda2 Wayland: Add support for animated standard cursors 2018-09-09 13:12:20 +02:00
Emmanuel Gil Peyrot dede6d6886 Wayland: Add a timerfd for animated cursors 2018-09-09 13:12:20 +02:00
Emmanuel Gil Peyrot 685f2a5f91 Wayland: Close forgotten timerfd on terminate. 2018-09-09 13:12:20 +02:00
Camilla Löwy eeac43c3f7 Win32: Fix symbol definition detection
Related to #1320.
2018-09-05 22:45:06 +02:00
Camilla Löwy 089ea9af22 Add GLFW_SCALE_TO_MONITOR
This adds the GLFW_SCALE_TO_MONITOR window hint for automatically
resizing the content area of a window to the requested size times the
monitor content scale each time it is placed on a new monitor.  This
only applies to windowed mode windows and includes the initial placement
at window creation.

This hint only has an effect on platforms where screen coordinates and
pixels always map 1:1 such as Windows and X11.  Platforms like macOS
instead change the resolution of the framebuffer independently of the
window size.

Related to #676.
Related to #1115.
2018-09-03 23:12:39 +02:00
Camilla Löwy 5294439595 Win32: Add support for Per-Monitor V2 awareness
This adds basic support for the Per-Monitor V2 level of DPI awareness
in Windows 10, which allows for automatic DPI scaling of window
decorations.

This commit does not include resizing the window content area to match
the new window content scale.

Related to #1115.
Fixes #1294.
2018-09-03 23:12:39 +02:00
Doug Binks ed12a54afd Win32: Fix keypad equals key reported as unknown
Fixes #1315.
Closes #1316.
2018-08-30 13:47:54 +02:00
Camilla Löwy 338afe3c6d X11: Clean up cursor shape translation 2018-08-30 13:47:54 +02:00
Camilla Löwy b1b21292b9 X11: Clean up context lookup 2018-08-30 13:47:54 +02:00
Camilla Löwy a67d8afbd4 Win32: Clean up DWM detection 2018-08-24 15:06:39 +02:00
Camilla Löwy d4cbe451fc Win32: Clean up cursor shape translation 2018-08-24 15:06:39 +02:00
Camilla Löwy 096ace5a68 Clarify comment 2018-08-24 15:06:39 +02:00
Camilla Löwy f82a8f09eb Win32: Disable mouse trails for full screen
When mouse trails are enabled, the cursor becomes invisible when the
OpenGL ICD detects a full screen window and switches to page flipping.

Mouse trails are now disabled as long as any full screen windows are
visible.

Fixes #1263.
2018-08-02 00:01:26 +02:00
Doug Binks 0be4f3f75a Add GLFW_FOCUS_ON_SHOW window hint and attribute
This adds a window hint and attribute for controlling whether
glfwShowWindow gives the specified window input focus in addition to
making it visible.

Fixes #1189.
Closes #1275.
2018-05-29 15:51:36 +02:00
Camilla Löwy fdfb5ab466 Fix tpyo 2018-05-18 15:22:48 +02:00
Camilla Löwy a9a5a0b016 Replace use of ctype function that caused warning 2018-05-18 11:30:14 +02:00
Camilla Löwy 8d1a64c831 X11: Make event polling more robust
This makes X11 event polling less likely to block if the application
uses the display via native access.

Fixes #1225.
2018-05-17 14:41:16 +02:00
Camilla Löwy 15d89bdff6 Win32: Allow compile-time override of class name
To use, define _GLFW_WNDCLASSNAME to any sane wide string.

Fixes #1120.
2018-05-16 17:15:02 +02:00
Camilla Löwy 7ef34eb06d X11: Add support for Cygwin/X sonames 2018-04-25 21:50:51 +02:00
Camilla Löwy c443b02472 Cleanup 2018-04-25 21:50:51 +02:00
Andreas Noever fcc244ea6d Win32: Fix windows build with WINVER >= Vista
In 32e78aeb2 the definition of DWM_BLURBEHIND in win32_platform.h was
moved behind a WINVER < 0x0600 preprocessor check (< Vista). This broke
the build for WINVER >= 0x0600 since DWM_BLURBEHIND is not defined.

Starting with Vista DWM_BLURBEHIND is available in Dwmapi.h.
So we can just include the header directly on Vista and above.

Closes #1253.
2018-04-25 21:50:51 +02:00
Camilla Löwy 8b9221d845 X11: Fix missing dlclose calls for X extensions 2018-04-25 21:49:41 +02:00
Camilla Löwy 50eccd298a Fix cursor mode application for unfocused windows
Fixes #1239.
Fixes #1247.
2018-04-25 21:49:26 +02:00
Camilla Löwy 819a2205e5 Cleanup 2018-04-12 03:27:06 +02:00
Greg V 0a3c4f5d80 Add support for Wayland on FreeBSD and other OSes 2018-03-27 22:03:37 +02:00
Camilla Löwy 2884915000 Cocoa: Set CAMetalLayer contents scale from window
Fixes #1229.
2018-03-20 19:58:39 +01:00
Camilla Löwy 5f8108e8a9 Cocoa: Fix SDK version numbers
The pattern for version 10.10 and later was incorrectly applied to
version number for 10.8.

Fixes #1232.
2018-03-20 01:03:37 +01:00
Camilla Löwy 94ffc12b38 Fix value for VK_MVK_macos_surface constant
Value changed between MoltenVK 0.15 and 0.16 and GLFW was never updated.

Related to #870.
2018-03-03 22:07:54 +01:00
Camilla Löwy ab3bfb4205 Cocoa: Update MoltenVK support for LunarG SDK
GLFW now checks for the libvulkan.1.dylib loader instead of what is now
the ICD.  This removes checking for libMoltenVK.dylib to avoid cryptic
errors.  This unfortunately also breaks compatibility with the
standalone MoltenVK SDK.

This also removes support for the static loader library as that is not
present in the LunarG SDK.

Related to #870.
2018-03-01 21:45:46 +01:00
Emmanuel Gil Peyrot 8d98a6e37d Add a FreeMonitor platform API
This fixes the leak of a wl_output object everytime a monitor is freed.
2018-03-01 08:31:54 +01:00
Camilla Löwy 77879736af Cocoa: Event polling did not initialize AppKit
Fixes #1218.
2018-03-01 02:23:27 +01:00
Emmanuel Gil Peyrot 0d4534733b Wayland: Destroy subcompositor and viewporter on terminate 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 2926ce4838 Prevent resizing smaller than 1×1 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot a8e551cffa Fix resizing and moving under xdg-shell 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot a0dbffb8f2 Set decorations as opaque, to optimise composition 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot dfc7eacd50 Do not leak the 1×1 buffer used for decorations 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 0c4ca85149 Fix _glfwPlatformSetWindowMonitor to correctly destroy/recreate decorations 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot c9d691e65e Fix window size calculation when wp_viewporter isn’t supported 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 60e82ba472 Handle scaling factor (hidpi) correctly 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot f51c219b1c Handle maximized size correctly 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 31cea7fa24 Remove decorations when fullscreen 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 58b21d336c Factorise moving to fullscreen 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 8ed91e8a77 Only create decorations if wp_viewporter is supported 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 4e31dc5e6e Make it possible to toggle window decorations 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 1f8ec20b55 Correctly destroy subsurfaces on window destroy 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 4a42364a19 Return correct values for frame size 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 9f7ec6b094 Implement window decorations 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 9dc18a62a6 Rename wl_pointer to pointer 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 5b65b9b860 Prevent a crash when giving focus to a non-GLFWwindow surface 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 552e40a4be Add wl_subcompositor support 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 79e16baca3 Add wp_viewporter support 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 9a7656364e Split shm buffer creation out of _glfwPlatformCreateCursor 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot 2de3605b4c Make createAnonymousFile static 2018-02-25 16:54:44 +01:00
Emmanuel Gil Peyrot d6b9d00ceb Wayland: Handle monitor removal 2018-02-24 22:18:39 +01:00
Emmanuel Gil Peyrot f67b610dd4 Wayland: Handle repeats which missed a timer 2018-02-24 21:06:25 +01:00
Emmanuel Gil Peyrot 608f055c72 Wayland: Open the timerfd with cloexec 2018-02-24 21:06:25 +01:00
Emmanuel Gil Peyrot 84d10b32c3 Wayland: Ask xkbcommon whether to repeat a key 2018-02-24 21:06:25 +01:00
Emmanuel Gil Peyrot 8bc0c5c2c0 Wayland: dlsym() xkb_keymap_key_repeats 2018-02-24 21:06:25 +01:00
Emmanuel Gil Peyrot 97bf16e5b6 Wayland: Check for wayland protocol version
wl_keyboard version 4 is more recent than the libwayland available in
Ubuntu 14.04.
2018-02-24 21:06:25 +01:00
Emmanuel Gil Peyrot 90f5edc0b8 Wayland: Use a timerfd for key repeat 2018-02-24 21:06:25 +01:00
Emmanuel Gil Peyrot c14a35e21e Wayland: Obtain keyboard repeat_info
This had to bump the seat version, we now may get the seat name but we
don’t do anything with it.
2018-02-24 21:06:25 +01:00
Camilla Löwy f4cd470bcb Move to modern mappings database with modifiers 2018-02-13 18:57:56 +01:00
Camilla Löwy 3c9011030f Cleanup 2018-02-13 18:33:31 +01:00
Camilla Löwy 2040309d0c Add support for gamepad mapping input modifiers
This adds support for the + and - and ~ input modifiers for joystick
axes.  It also changes how joystick axes are translated to buttons to
more closely match SDL 2.0.7.

Output modifiers are still not supported but have not yet been seen in
the wild.
2018-02-13 18:30:07 +01:00
Camilla Löwy 58cc4b2c5c Move full screen cursor centering to shared code 2018-02-07 16:47:00 +01:00
Camilla Löwy d10463ac91 Win32: Fix extra resize event during mode switch
The switch to full screen is now done with a single call to
SetWindowPos.
2018-02-07 16:46:59 +01:00
Camilla Löwy cfb5cb8805 Add comment 2018-02-07 16:46:58 +01:00
Camilla Löwy 1d75b205cb Cleanup
Allow window creation despite video mode setting failure.

Video mode setting failure is ignored the rest of the time and the
desired video mode has never been a hard constraint anyway.
2018-02-07 16:46:58 +01:00
Ahmad Fatoum f940a97500 Linux: Add support for kernels < v2.6.39
Broke build for me on CentOS-6, which sports a 2.6.32 kernel:
http://www.cpantesters.org/cpan/report/d956d128-0339-11e8-b0d1-b6c4abd39192

CentOS-6 is supported till 2020-11-30.

Closes #1196.
2018-02-07 16:46:58 +01:00
Camilla Löwy c29e4455bb Move more context logic out of glfwCreateWindow 2018-02-06 13:10:41 +01:00
Camilla Löwy 9bfa499d94 Formatting 2018-02-06 13:10:41 +01:00
Camilla Löwy 53b193a161 Wayland: Fix uninitialized variable warning
Related to #1143.
Fixes #1197.
2018-02-06 13:10:41 +01:00
Emmanuel Gil Peyrot f5d3954568 Stop checking for resizing
Fixes #1197
2018-02-06 12:57:17 +01:00
Camilla Löwy ae53cd29ef Improve context function error descriptions
Fixes #1193.
2018-01-30 19:28:37 +01:00
Camilla Löwy a678665c49 Cleanup 2018-01-30 19:28:37 +01:00
Corentin Wallez 8a8eefa0d8 Fail Vulkan surface creation if window has context
OpenGL / OpenGL ES cannot share presentation on a window with Vulkan.
This adds an error to `glfwCreateWindowSurface` when it is called on a
window without the GLFW_CLIENT_API hint set to GLFW_NO_API.  This
prevents undefined bahevior and hard to debug crashes.

Fixes #1194.
Closes #1205.
2018-01-30 19:25:17 +01:00
Emmanuel Gil Peyrot 525ad7bfb8 Close the libwayland-cursor handle after destroying the cursor theme
Fixes a segfault on glfwTerminate().
2018-01-29 04:55:55 +01:00
Emmanuel Gil Peyrot eb7c9994bf Prevent auto-iconify from firing on window creation 2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot f2617a671f Add a roundtrip after creating the xdg-surface
The specification says we must not attach a buffer until we’ve received
a configure event.
2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot 4778d02c67 Ignore _glfwPlatformShowWindow when already visible 2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot f710db6504 Ignore configure events of 0×0px 2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot 0e759c9422 Don’t set min/max size on GLFW_DONT_CARE 2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot ae44a28125 Wayland: Add an alternate surface role using xdg-shell
This protocol matches desktops much better than the deprecated
wl_shell, fixing a bunch of race conditions, removing undefined
behaviour, adding missing features, and generally providing a much more
user-friendly experience.

Since most compositors don’t support it yet, the wl_shell_surface role
is kept as fallback for now.
2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot 14856e8b60 Wayland: Bind, listen and destroy xdg_wm_base 2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot 73567ae5be Wayland: Add xdg-shell to the platform 2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot 0d5f7a9eab Wayland: Add xdg-shell to the build system 2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot a199efae44 Wayland: Emit an error when wl_shell is absent or unusable 2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot 440e7e36f3 Fix typography of error messages 2018-01-29 02:34:10 +01:00
Emmanuel Gil Peyrot 407a3e2860 Load libwayland-cursor at runtime 2018-01-29 02:34:10 +01:00
Emmanuel Gil Peyrot 5fbf4ddde8 Load libwayland-egl at runtime 2018-01-29 02:34:10 +01:00
Emmanuel Gil Peyrot 6e69f63ffa Use the _glfw_dlopen/dlsym/dlclose define 2018-01-29 02:26:12 +01:00
Emmanuel Gil Peyrot eb732457ea Prevent a race between surface destruction and focus
The Wayland protocol is asynchronous, by the time we destroy a surface,
the compositor may have sent a wl_keyboard::enter or wl_pointer::enter
events which now point to no surface, yet we receive it after.

To prevent this race, we can just ignore any enter event targetting a
NULL surface.

Fixes #1150.
2018-01-29 02:03:24 +01:00
Camilla Löwy 973bf29622 Remove use of non-standard function strdup
Related to #873.
2018-01-17 11:56:35 +01:00
Camilla Löwy bb3ab87a18 Remove unmaintained internal Doxygen docs
The useful bits have been transformed to function definition comments.
The style guide stub has been added to the regular docs build.
2018-01-17 11:25:32 +01:00
Emmanuel Gil Peyrot 6c421f131d Wayland: Implement scale callback
Closes #1181.
2018-01-09 22:39:35 +01:00
Emmanuel Gil Peyrot 93186e4999 Wayland: Fix glfwTerminate segfault on failed init
Closes #1172.
2018-01-09 22:13:28 +01:00
ocornut 20b12204af Win32: Fix GLFW_FOCUSED hint being ignored
The window was activated by _glfwPlatformShowWindow, causing the
GLFW_FOCUSED window hint to be ignored when set to false.

Fixes #1179.
Closes #1180.
2018-01-09 20:36:13 +01:00
Camilla Löwy ee9dffcd66 Add GLFW_HOVERED for polling cursor hover state
This window attribute corresponds to the cursor enter/leave callback.

Fixes #1166.
2018-01-09 18:02:52 +01:00
Camilla Löwy 370eac3c48 Add glfwSetWindowContentScaleCallback
Related to #677.
Related to #1115.
2018-01-09 18:00:22 +01:00
Camilla Löwy 1034b6e0db Move context management out of glfwCreateWindow
Related to #25.
2018-01-09 17:58:54 +01:00
przemekmirek 9f91bd6ea9 Win32: Fix HDEVNOTIFY handle leak
Closes #1170.
2018-01-05 08:12:51 +01:00
Emmanuel Gil Peyrot 10c18f8124 Use quotes consistently for wayland-protocols 2017-12-20 04:53:42 +01:00
Camilla Löwy 7c2c7858c6 Add monitor and joystick user pointers 2017-12-19 15:08:28 +01:00
Camilla Löwy 9da2285b14 Cocoa: Make frame autosave hint a string 2017-12-19 15:08:28 +01:00
Camilla Löwy 6158801aeb Change glfwInitHintString to glfwWindowHintString
Fixes #1139.
2017-12-19 15:08:27 +01:00
Emmanuel Gil Peyrot c3cba58a71 Remove trailing whitespace 2017-12-14 15:36:55 +01:00
Camilla Löwy ce4672d74b Make glfwSetGamma use powf instead of pow
Related to #1125.
2017-12-14 02:22:27 +01:00
Camilla Löwy 8dab9f6ab1 Wayland: Clarify assertion
Related to #1143.
2017-12-13 21:57:32 +01:00
Camilla Löwy 682f1cf203 Fix wrong element array for hat to axis 2017-12-06 18:01:34 +01:00
Camilla Löwy 0e8c4ea7ce Add lock key modifier bits input mode
This adds the GLFW_MOD_CAPS_LOCK and GLFW_MOD_NUM_LOCK modifier bits.
Set the GLFW_LOCK_KEY_MODS input mode to enable these for all callbacks
that receive modifier bits.

Fixes #946.
2017-12-06 18:01:34 +01:00
Camilla Löwy fd72eb917e Mir: Fix modifier bit translation 2017-12-06 18:01:33 +01:00
Camilla Löwy 638c4b604e Cleanup 2017-12-06 18:01:33 +01:00
Camilla Löwy c2858e9ed7 Verify gamepad mapping indices match hardware 2017-12-06 18:01:32 +01:00
Camilla Löwy 7c87948eaf Win32: Fix accidentally working bit tests
Good grief.
2017-11-28 19:59:59 +01:00
Camilla Löwy 30489c5aa1 X11: Expose zero monitor for functional headless
Fixes #1147.
2017-11-28 14:37:49 +01:00
Camilla Löwy 9e6c0c747b X11: Fix segfault when using NVidia EGL 2017-11-27 15:54:33 +01:00
Camilla Löwy 3169179de1 Fix string literal exceeding max length
Fixes #1145.
2017-11-23 20:54:44 +01:00
Camilla Löwy fe9c7a01c5 Update gamepad mappings and source URL
This matches the recent upstream update.
2017-11-23 19:35:45 +01:00
Emmanuel Gil Peyrot 65166858ff Wayland: Add support for the idle-inhibit protocol
Closes #955.
2017-11-20 22:27:37 +01:00
Emmanuel Gil Peyrot d18431338a Wayland: Disable the compose key on old xkbcommon 2017-11-20 18:24:30 +01:00
Emmanuel Gil Peyrot cc87d5ab10 Wayland: Assert that we only get a known axis 2017-11-20 18:06:29 +01:00
Stephen Gowen bb13275b72 Cocoa: Fix Xcode Warnings
Closes #1132.
2017-11-20 18:04:05 +01:00
Kovid Goyal 68809869f9
Fix spurious error from glfwInitHintString
Closes #1138
2017-11-20 21:16:59 +05:30
Camilla Löwy 1fe319d234 Cocoa: Filter out duplicate size events
Fixes #1085.
2017-11-16 11:56:06 +01:00
Camilla Löwy d630684654 Win32: Remove double resize of full screen window
Related to #1085.
2017-11-16 11:56:03 +01:00
Camilla Löwy 8b81a03a5a Cocoa: Remove double resize of full screen window
Related to #1085.
2017-11-16 11:37:00 +01:00
Camilla Löwy 11e47f08b1 Add glfwGetWindowOpacity and glfwSetWindowOpacity
This adds support for setting the opacity of the whole window, including
any decorations.

Fixes #1089.
2017-11-15 15:46:01 +01:00
Camilla Löwy bf7cc2ffac Fix missing inclusion guard needed for unity build
Fixes #1127.
2017-11-15 04:21:41 +01:00
Camilla Löwy fb4f633243 Fix y-axis sign for XInput thumb sticks
This breaks strict compatibility but does it to make XInput y-axes
consistent with every other API and OS.

Fixes #1083.
2017-11-14 19:50:59 +01:00
Camilla Löwy 49130ab8ec Rename framebuffer transparency hint
This is a breaking change of an unreleased API.
2017-11-14 17:21:36 +01:00
Camilla Löwy baed2dad56 Cleanup 2017-11-10 02:58:19 +01:00
Camilla Löwy 98990217bc Cleanup 2017-11-10 02:58:19 +01:00
Camilla Löwy 71018b4ab5 Fix termination on mapping parse error 2017-11-10 02:58:18 +01:00
Camilla Löwy 79e2433eb0 Fix termination on sync object creation failure 2017-11-10 02:58:18 +01:00
Camilla Löwy 7b877c4e24 Improve placement when forcing windowed mode
This is a temporary fix while waiting the for workarea query.

Related to #1106.
2017-11-10 02:58:18 +01:00
Camilla Löwy 31cbb20ba2 Deprecate window parameter of clipboard functions 2017-11-10 02:52:16 +01:00
Camilla Löwy 80d181f12d Win32: Fix maximization of undecorated windows
Fixes #899.
2017-10-31 15:47:01 +01:00
Emmanuel Gil Peyrot a7a70cf34d Wayland: Add dynamic loading of libxkbcommon 2017-10-30 12:01:17 +00:00
Camilla Löwy a1154247fa Fix default value of GLFW_CENTER_CURSOR
Regression introduced by 72ac5badb0.

Fixes #1105.
2017-10-29 15:53:19 +01:00
Camilla Löwy fcedb0be32 Fix windows not detaching on monitor disconnect
Regression introduced by 04f559e28d.

Related to #1106.
2017-10-26 18:52:43 +02:00
Camilla Löwy bf09dba95b Cleanup 2017-10-26 18:05:56 +02:00
Camilla Löwy 16bf872117 Add content scale queries
This adds glfwGetWindowContentScale and glfwGetMonitorContentScale for
querying the recommended drawing scale factor for DPI-aware rendering.

Parts of this patch are based on code by @ferreiradaselva.

Fixes #235.
Fixes #439.
Fixes #677.
Fixes #845.
Fixes #898.
2017-10-26 17:26:36 +02:00
Camilla Löwy 94ee10e655 Remove trailing else 2017-10-03 00:41:19 +02:00
Camilla Löwy 6d463d36fa Cleanup 2017-10-02 17:31:39 +02:00
Emmanuel Gil Peyrot 95e282d5a0 Wayland: Add transparency support
Closes #788.
2017-10-01 01:39:27 +01:00
Camilla Löwy 5aeb37d1b8 Cocoa: Fix window title being lost when untitled
The window title was lost and could not be updated while the window did
not have NSWindowStyleMaskTitled set.

Fixes #1082.
2017-09-28 19:04:11 +02:00
Camilla Löwy da68ec56c3 Cocoa: Start using instancetype
The first tiny step towards using more modern Objective-C.
2017-09-28 19:03:50 +02:00
Camilla Löwy 5d0d30db38 Cleanup 2017-09-28 17:32:15 +02:00
Camilla Löwy 32e78aeb2e Add GLFW_TRANSPARENT attribute and documentation
This completes support for window framebuffer transparency on Windows,
macOS and X11.  Note that the hint/attribute may be renamed before
release to clarify its relationship to GLFW_OPACITY.

Fixes #197.
Closes #1079.
Related to #663.
Related to #715.
Related to #723.
Related to #1078.
2017-09-27 21:54:04 +02:00
Bailey Cosier 93e66661d3 Cleanup
This is an extract of a commit, minimally edited to ensure it compiles.

Closes #1078.
Related to #197.
2017-09-27 21:33:03 +02:00
Cem Karan ac009a5f5c Cocoa: Implement GLFW_TRANSPARENT
This is an extract of a commit, minimally edited to ensure it compiles.

Closes #663.
Related to #197.
2017-09-27 21:33:03 +02:00
Christopher Pelloux 51f0cd3b51 Win32: Implement GLFW_TRANSPARENT
This is a squashed extract of several commits, minimally edited to
ensure it compiles.

Related to #197.
Related to #723.
2017-09-27 21:33:03 +02:00
Wolfgang Draxinger 019609b6cd Add GLFW_TRANSPARENT and X11 implementation
This is a squashed extract of several commits, minimally edited to
ensure it compiles.

Related to #197.
Related to #715.
2017-09-27 21:33:03 +02:00
Camilla Löwy eed94448fd Win32: Remove unused GUID 2017-09-27 21:33:03 +02:00
Camilla Löwy 25b7eba4a0 Win32: Clean up dynamic loading and version checks 2017-09-27 21:33:03 +02:00
Camilla Löwy f4fb25b63d X11: Fix init order breaking cursor hiding
The hidden cursor was created before Xcursor was loaded.
2017-09-17 16:06:02 +02:00
Camilla Löwy e3be6b8ae0 Cleanup
Break up some overly long lines.
2017-09-17 15:14:22 +02:00
Camilla Löwy 3d110d2e1b X11: Fix selection error nomenclature
[ci skip]
2017-09-17 13:54:17 +02:00
Camilla Löwy 0b5023bc62 X11: Fix Latin-1 text not being converted to UTF-8 2017-09-17 13:50:10 +02:00
Camilla Löwy 9dbc935afb X11: Stop reporting support for COMPOUND_TEXT 2017-09-17 13:50:10 +02:00
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