Luflosi
2db3b9688d
Replace some tabs with spaces
...
I found some tabs where there should be spaces for consistency.
Closes #1496 .
2019-06-16 16:57:09 +02:00
Camilla Löwy
84ec99bb01
Remove pointless comments
2019-05-24 14:43:49 +02:00
Camilla Löwy
d0c3fa900a
Win32: Fix non-client actions for disabled cursor
...
Disabled cursor mode interfered with some non-client actions.
2019-05-24 14:43:49 +02:00
Camilla Löwy
267e06a41e
Win32: Remove stale comment
2019-05-24 14:43:49 +02:00
Camilla Löwy
22a6c02a4c
WGL: Add extension function macro aliases
...
This should have been done when the WGL extension members were moved
from the context struct to the library struct.
2019-05-24 14:43:49 +02:00
Camilla Löwy
3fd4e79adb
WGL: Fix misplaced block comment
2019-05-24 14:43:49 +02:00
Camilla Löwy
56aad76b16
Add C dialect reminders to each source file
...
Files built for Win32 must use C89 style declarations for compatibility
with VS 2010 and 2012, which are still supported by GLFW.
2019-05-24 14:43:49 +02:00
Camilla Löwy
0b01d850ed
NSGL: Remove enforcement of forward-compatible flag
...
This sharp corner should have been addressed a long time ago.
2019-05-19 21:10:29 +02:00
Camilla Löwy
a255e7ace6
Move to the modern CMake project version option
...
This replaces the manual ad-hoc version variables we have used since
CMake 2.x (and GLFW 2.x lite).
2019-05-17 16:12:52 +02:00
Konstantin Podsvirov
15af302f77
Fix use of absolute path in INSTALL_INTERFACE
...
Closes #1470 .
2019-05-17 16:12:52 +02:00
Emmanuel Gil Peyrot
599fb3de34
Wayland: Remove wl_shell support
...
This protocol is part of the core Wayland, but it is pretty badly
designed and is missing quite a few features, and is in the process of
being phased out in compositors. Its support in GLFW requires
duplicating pretty much every single window management codepath.
This bumps the required compositor versions to the ones which have
implemented xdg-shell, approximately two years ago, which seems sensible
to me.
2019-04-20 10:05:15 +02:00
Camilla Löwy
a337c56848
Start 3.4
2019-04-16 23:08:39 +02:00
Camilla Löwy
ab118b2529
Fix copyright years (somewhat)
2019-04-15 20:50:00 +02:00
Camilla Löwy
1f91697cd3
Win32: Fix VS static analysis warnings
2019-04-15 15:37:15 +02:00
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