1
0
Fork 0
mirror of https://github.com/gwm17/glfw.git synced 2024-11-23 10:48:51 -05:00
Commit Graph

1985 Commits

Author SHA1 Message Date
Camilla Berglund 2d2756cbad Simplify cursor window logic 2016-05-30 22:12:33 +02:00
Camilla Berglund 03db3ed6e9 Cleanup 2016-05-30 21:19:00 +02:00
Camilla Berglund bda031f4ac Cleanup 2016-05-29 15:34:08 +02:00
Camilla Berglund 797ee8d8e3 Move all cursor positioning to platform code
Due to Wayland, shared code cannot rely on cursor positioning being
supported by the underlying platform.

This implicitly fixes #617 as it moves cursor centering into
_glfwPlatformSetCursorMode, thus separating it from the stale value of
_glfw.cursorWindow.

Fixes #617.
2016-05-29 15:33:49 +02:00
Camilla Berglund 0e846883bf Clarify cursor position variable names 2016-05-27 02:39:03 +02:00
Camilla Berglund 72b3a7a59f Move comment to the actual line being discussed 2016-05-27 02:39:03 +02:00
Camilla Berglund 32f38b97d5 Fix OS X key names not following layout 2016-05-24 22:12:15 +02:00
Camilla Berglund 7fd7dca375 Remove completed todo 2016-05-23 22:59:11 +02:00
Camilla Berglund edb284f189 Add more argument value checks 2016-05-23 15:23:14 +02:00
Camilla Berglund 54cb23d234 Fix value checks failing on GLFW_DONT_CARE 2016-05-23 15:23:14 +02:00
Camilla Berglund c4c99727c5 Add dynamic loading of HIToolbox.framework
Fixes #717.
2016-05-23 15:21:56 +02:00
Camilla Berglund 57f4ba7b37 Add basic argument checks for glfwSetWindowMonitor 2016-05-23 15:19:09 +02:00
Camilla Berglund cd49efa84e Enable Cocoa multi-threaded mode 2016-05-22 14:02:29 +02:00
Camilla Berglund bc649e1632 Formatting 2016-05-11 15:23:27 +02:00
ocornut 3c1a83d61f Fix keys filtered by IME being passed to callback
Closes #651.
2016-05-10 12:30:04 +02:00
Brandon Schaefer 4eb7cbac47 Mir: Remove workaround for LP bug 1477285
Closes #756.
2016-05-05 14:22:57 +02:00
linkmauve a502152075 wayland: Always make the window surface opaque 2016-05-05 14:15:44 +02:00
Camilla Berglund ef80beab81 Add run-time context creation API selection
Fixes #145.
2016-05-04 17:00:07 +02:00
Camilla Berglund 9d50a346f0 Fix X11 build on non-Linux systems 2016-05-04 17:00:06 +02:00
Camilla Berglund 12a695696d Add validation of size limit and aspect ratio args 2016-05-04 16:34:52 +02:00
Camilla Berglund e640d840b7 Fix Win32 window size event race condition
The old window size was reported after re-entering full screen and
setting and reporting the new window size.

Fixes #740.
2016-05-04 16:34:48 +02:00
Camilla Berglund 11d051b69a Formatting 2016-05-03 13:43:17 +02:00
Camilla Berglund 932a161d44 Unconditionally use some EWMH atoms
These window properties do no harm if they're declared even if the WM
doesn't support them.  This makes GLFW slightly more tolerant of WM
changes as well as things like Ubuntu Unity reading _NET_WM_ICON without
declaring support for it.
2016-05-03 13:40:53 +02:00
Camilla Berglund 211bdab51f Fix NET_WM_STATE clobbering at creation 2016-05-03 13:40:53 +02:00
Camilla Berglund 6fcedb5396 Fix GLFW_RESIZABLE on X11 when exiting full screen
The WM normal hints were set with the wrong window dimensions.

Fixes #737.
2016-05-03 13:40:34 +02:00
bschaefer e44fd87fa3 Mir: Fix button states 2016-05-02 21:59:57 +02:00
bschaefer f000b5daff Mir: Fix window/context creation order
Need to create the native window before creating the context as creating
the context creates the EGL surface.
2016-05-02 21:58:54 +02:00
Emmanuel Gil Peyrot 1e82832737 wayland: Report unsupported operations as errors 2016-05-02 21:49:57 +02:00
Emmanuel Gil Peyrot c301a1e51a wayland: Implement remaining attribute getters 2016-05-02 21:49:31 +02:00
Emmanuel Gil Peyrot e673bdc617 wayland: Implement maximized state 2016-05-02 21:49:27 +02:00
Emmanuel Gil Peyrot 71cedc6cfe wayland: Implement glfwSetWindowMonitor 2016-05-02 21:49:23 +02:00
Emmanuel Gil Peyrot 5034c6c65e wayland: Handle hidden window as no shell surface 2016-05-02 21:47:21 +02:00
Emmanuel Gil Peyrot f0f5d9f644 wayland: Implement size limits and aspect ratio 2016-05-02 21:47:00 +02:00
Camilla Berglund 0b6a4313dd Create EWMH and XDND atoms on demand 2016-05-01 23:01:48 +02:00
IntellectualKitty 3b0b5dacf5 Fix test for joystick presence in matchCallback
The matchCallback function has an initial loop to filter out redundant
joystick additions based on matching deviceRef values.  However, the if
statement incorrectly combines this test with the condition that the
joystick is not present, which is obviously incorrect.

Closes #753.
2016-04-27 15:42:19 +02:00
Camilla Berglund 99dc2c48bd Fix setting of GLFW_MAXIMIZED hint
Caused by a bad rebase.

Fixes #738.
2016-04-17 13:44:07 +02:00
Camilla Berglund 135ed7feb4 Fix build on legacy MinGW 2016-03-31 15:04:25 +02:00
Camilla Berglund bd345164d3 Fix missing constant on VC++ 2010 2016-03-31 13:07:06 +02:00
Camilla Berglund 7cbdae1bed Add initial DirectInput 8 support
Fixes #232.
2016-03-31 12:24:01 +02:00
Camilla Berglund 3aebb0bfe3 Cleanup 2016-03-31 12:23:49 +02:00
Camilla Berglund 8a7fa306ce Add glfwSetJoystickCallback 2016-03-31 12:12:09 +02:00
Camilla Berglund bdd17c337f Make helper window child of HWND_MESSAGE 2016-03-31 12:12:08 +02:00
Camilla Berglund eb3577c1eb Add initial XInput support 2016-03-31 12:12:04 +02:00
Camilla Berglund c580949417 Cleanup 2016-03-29 14:01:06 +02:00
IntellectualKitty ae4ece840d Remove redundant OS X joystick polling
Closes #729.
2016-03-29 14:00:13 +02:00
Camilla Berglund c234a19423 Fix invalid EGL display being terminated 2016-03-29 11:13:07 +02:00
Camilla Berglund 20574fa81f Fix VC++ warnings 2016-03-29 11:13:07 +02:00
Camilla Berglund 29e232f4b2 Improved error messages 2016-03-29 11:13:06 +02:00
Camilla Berglund 33c68a24a0 Formatting
[ci skip]
2016-03-29 11:12:49 +02:00
Camilla Berglund f96d865b93 Cleanup 2016-03-28 20:16:53 +02:00
Camilla Berglund 925208d28f Fix copypaste mistake 2016-03-28 12:44:50 +02:00
Camilla Berglund 7ab7d8b4b1 Make use of uint32_t where appropriate
This change does not affect the ABI.
2016-03-28 12:34:57 +02:00
Camilla Berglund 5661d03be8 Replace GLFWuint64 with uint64_t
C99 stdint.h is provided by VS 2010 and later.  GLFW has not provided
testing or binaries for VS 2008 for several releases.

For earlier versions of VS there are third-party alternatives:

https://msinttypes.googlecode.com/svn/trunk/stdint.h
http://www.azillionmonkeys.com/qed/pstdint.h

This change does not affect the ABI.
2016-03-28 12:34:44 +02:00
Camilla Berglund 5eb2e83c82 Cleanup 2016-03-28 12:26:08 +02:00
Camilla Berglund c1e4c45c7a Replace Win32 window long with window property
Related to #25.
2016-03-28 10:57:19 +02:00
Camilla Berglund 3503cba5d9 Fix Ctrl+Pause reported as unknown key on Win32
Fixes #730
2016-03-24 21:26:57 +01:00
Camilla Berglund 17bcefeac1 Fix CGL context not being released until later
Fixes #721.
2016-03-18 12:01:48 +01:00
Camilla Berglund 6570d0c4b7 Add glfwSetWindowMonitor
This adds the ability to switch between windowed and full screen modes,
move a full screen window between monitors and update its desired
resolution and refresh rate.

Fixes #43.
2016-03-18 11:13:24 +01:00
Camilla Berglund 99c925efd8 Add tracking of which window 'owns' a monitor 2016-03-16 16:16:29 +01:00
Camilla Berglund ea888114fa Remove monitor from _GLFWwndconfig 2016-03-16 16:16:02 +01:00
Camilla Berglund 3a6fe042ea Cleanup 2016-03-16 16:15:49 +01:00
Camilla Berglund 0d1dd82b89 Move X11 PPosition hack to glfwSetWindowPos 2016-03-16 16:11:35 +01:00
Camilla Berglund ea73ccf22d Add support for EWMH _NET_WM_WINDOW_TYPE 2016-03-16 16:07:22 +01:00
Camilla Berglund 86751b42a6 Fix OS X default max window size 2016-03-16 15:05:50 +01:00
Camilla Berglund 9a78fd049d Fix view not being made first responder 2016-03-16 14:48:53 +01:00
Camilla Berglund 89f438de5a Fix window focus regression
Regression caused by baf574494d.
2016-03-15 22:22:51 +01:00
Camilla Berglund 4e4b8727fc Fix Win32 icon restoration 2016-03-11 14:41:58 +01:00
Camilla Berglund d2338f3a49 Fix X11 icon image copy 2016-03-11 14:41:57 +01:00
Camilla Berglund b823f7151e Add glfwSetWindowIcon
Adds support for setting window icons programmatically on platforms
where this makes sense.

Fixes #453.
Closes #467.
2016-03-10 17:26:26 +01:00
Camilla Berglund fca5a8ab48 Fix Win32 custom cursor set for non-client area
Udating the cursor via glfwSetCursor incorrectly included the non-client
area of the window.
2016-03-07 12:30:25 +01:00
Camilla Berglund 5620895e88 Add glfwWaitEventsTimeout
This function will put the calling thread to sleep until an event
arrives or until the specified timeout has elapsed.
2016-03-06 17:28:40 +01:00
Camilla Berglund 31f67dd3cc Add glfwGetTimerValue and glfwGetTimerFrequency
This adds raw timer access to the public API and builds the
floating-point time functions on top.  It also makes the GLFWuint64 type
public.
2016-03-06 11:51:23 +01:00
Camilla Berglund 8221aadea3 Include stddef.h unconditionally in public header 2016-03-06 09:40:16 +01:00
Camilla Berglund 663ee327b0 Decrease amount of Hocus Pocus 2016-03-02 23:15:02 +01:00
Camilla Berglund de2d4c7763 Clarify pointer assertions 2016-03-02 17:58:05 +01:00
Camilla Berglund 5fa7e2faa4 Release autorelease pool last 2016-03-01 19:36:05 +01:00
Camilla Berglund 5dc9d0f581 Avoid X11 frame size query of undecorated windows
This also works around an issue where Xfwm4 ignores Motif hints when
calculating frame extents.
2016-02-28 18:44:50 +01:00
Camilla Berglund 6494da3101 Fix reporting of non-root X11 window positions
Fixes #517.
2016-02-28 16:09:43 +01:00
Camilla Berglund e51e27fcab Add back tracking of X11 override-redirect 2016-02-28 16:09:36 +01:00
Camilla Berglund 73216e5fb1 Fix NSBeep being emitted for some keys
Fixes #719.
2016-02-28 11:02:26 +01:00
Camilla Berglund 4b63f70285 Fix no monitors found on VMware Windows guest
Monitor enumeration now switches to adapters if no displays are
connected to active adapters.  This should provide usable monitor
objects on headless and VMware guest systems.

Fixes #441.
Fixes #556.
Fixes #594.
2016-02-27 21:51:59 +01:00
Camilla Berglund a9b9c4cc33 Cleanup 2016-02-26 10:53:16 +01:00
Yoshiki Shibukawa e7bb03d8e7 Improve OS X IME candidate window placement 2016-02-26 10:53:03 +01:00
Camilla Berglund 59dbd3b6ce Cleanup 2016-02-26 10:48:53 +01:00
Mario Dorn 3107c9548d Implement NSTextInputClient protocol on OS X
This provides support for IME character composition.

Fixes #456.
Closes #643.
2016-02-26 10:48:33 +01:00
Xo Wang 9f5658c8ac Removed OS X modifier flags cache
Related to #566.
Related to #567.
2016-02-26 10:03:23 +01:00
Camilla Berglund d3f5d036f8 Fix OS X modifier flags cache getting out of date
Fixes #566.
Closes #567.
2016-02-26 08:39:46 +01:00
Camilla Berglund baf574494d Add glfwFocusWindow
This removes the (undocumented) behavior where glfwShowWindow would
bring the window to front and set input focus.  That function now
does what it says.
2016-02-25 21:37:40 +01:00
Camilla Berglund de3e413aab Fix VC++ signed/unsigned mismatch warning 2016-02-23 11:52:33 +01:00
Camilla Berglund 93b4c828c1 Fix VC++ build failure
Regression caused by 71c72db1e3.
2016-02-23 11:49:42 +01:00
Camilla Berglund 165171f9c8 Add comment for Win32 helper window path 2016-02-23 11:30:17 +01:00
Camilla Berglund 0ea193c4e2 Fix detection of Win32 software monitor events
Fixes #53.
2016-02-23 11:28:37 +01:00
Camilla Berglund d956dbbd2c Cleanup 2016-02-23 11:06:55 +01:00
Jonas Ådahl 9160a7ceb3 x11: Premultiply custom cursor image alpha
As with Wayland, X11 expects cursor pixels to have the alpha
premultiplied, so lets convert the non-premultiplied pixels to
premultiplied pixels.

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

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

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

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

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

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

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

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

The exception is WinMM, which will be replaced before 3.2.
2015-12-13 14:51:44 +01:00
Camilla Berglund 12b6c56903 Add suffixes to platform specific helper functions
Also merge win32_tls.h into win32_platform.h.
2015-12-13 14:50:59 +01:00
Camilla Berglund 0a3b5952e0 Make WGL backend more readable 2015-12-13 14:49:55 +01:00
Camilla Berglund 66b462d6e1 Make GLX backend more readable 2015-12-13 14:49:55 +01:00
Camilla Berglund 02fdd6459e Make EGL backend more readable 2015-12-13 14:49:55 +01:00
Camilla Berglund 0df4e06f11 Make more RFC 2119 compliant use of may 2015-12-13 14:49:01 +01:00
Camilla Berglund 8f0f1cf6c1 Only poll requested joystick on Linux
This also performs minor cleanup.
2015-12-13 14:49:01 +01:00
Camilla Berglund eea46be4e6 Fix missing MinGW import library prefix
Fixes #657.
2015-12-12 18:08:45 +01:00
Camilla Berglund fdc65e49e4 Fix bad Win32 updates 2015-12-10 12:16:13 +01:00
Camilla Berglund 75f1dfaf8a Move DWM enabled test to file where it is used 2015-12-09 19:39:16 +01:00
Camilla Berglund 72632a846b Cleanup 2015-12-09 19:39:16 +01:00