Commit Graph

1913 Commits

Author SHA1 Message Date
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