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

1651 Commits

Author SHA1 Message Date
Camilla Berglund e8f8ec027d Documented C locale hack. 2015-03-15 15:55:54 +01:00
Camilla Berglund d493a82f9e Various error fixes.
Fixed incorrect error types.  Added missing error string prefixes.
Removed some invalid or superfluous error emissions.  Clarified some
error strings.  Joined error string lines to aid grep.  Replaced some
generic error strings with specific ones.  Documentation work.

Fixes #450.
2015-03-15 15:52:27 +01:00
Camilla Berglund a75e43ef22 Moved _NET_REQUEST_FRAME_EXTENTS to frame query.
The request is now only made when necessary and times out after 500ms.
This breaks our end of the protocol to work around broken
implementations at the other end.

It uses the GLFW timer instead of select, as select is not guaranteed to
update the timeout with the time remaining and a single select is not
sufficient as other events may be incoming.

Fixes #368 (mostly).
Fixes #429 (mostly).
2015-03-15 15:47:39 +01:00
Camilla Berglund 5bbc2b4949 Added and documented glfwSetGamma value checks. 2015-03-15 15:47:39 +01:00
BryceMehring c43f082993 Fixed X11 mouse button mismatch.
Bug introduced by 4d146cb39d.

Closes #449.
2015-03-15 15:47:39 +01:00
Camilla Berglund 6e20cda7fd Fixed test for invalid timer values.
Fixes #436 (properly).
2015-03-15 15:47:39 +01:00
Camilla Berglund c1dce0f617 Cleanup. 2015-03-07 22:33:04 +01:00
Camilla Berglund 6e9788a9e6 Removed invalid context hint checks.
These are documented as ignored for OpenGL ES contexts.
2015-03-07 22:31:59 +01:00
Camilla Berglund d90f5e0429 Fixed debug bit not being set for OpenGL ES. 2015-02-27 02:53:21 +01:00
Camilla Berglund 48f4a591de Formatting. 2015-02-22 19:22:48 +01:00
Camilla Berglund a8bc2af649 Removed support for Borland C++. 2015-02-22 19:22:48 +01:00
Camilla Berglund 4d146cb39d Fixed hole in mouse button sequence on X11. 2015-02-22 19:22:48 +01:00
Camilla Berglund cf7dc1d737 Documented hidden cursor workaround. 2015-02-22 19:22:48 +01:00
Aleksey Rybalkin a343e9a475 Added workaround for cursor hiding on some WMs.
Closes #431.
Fixes #309.
2015-02-22 19:22:48 +01:00
Jonathan Miller dc4f0f6c91 Fixed close being used instead of inotify_rm_watch.
Closes #432.
Fixes #440.
2015-02-22 19:22:48 +01:00
Camilla Berglund 85de0db05d Fixed glfwSetTime accepting invalid values.
Fixes #436.
2015-02-22 19:22:33 +01:00
Camilla Berglund 75a6d87542 Added support for Cygwin-X.
Fixes #406.
2015-02-16 15:40:57 +01:00
Camilla Berglund 5f21e213df Made Xxf86vm optional at compile-time. 2015-02-16 15:40:41 +01:00
Camilla Berglund f4c127f75a Made XInput2 optional at compile-time.
This is required for RHEL 5, CentOS 5 and Cygwin-X.

Fixes #314.
2015-02-16 15:40:39 +01:00
Camilla Berglund 93855ae6ab Fixed name of path drop list. 2015-02-16 15:40:08 +01:00
Camilla Berglund ac8dba2a80 Cleaned up text/uri-list parsing. 2015-02-16 15:40:08 +01:00
Camilla Berglund 21280ca775 Fixed glfwSetWindowSize not changing video mode.
glfwSetWindowSize did not change the video mode for full screen windows
on OS X.

Fixes #423.
2015-01-29 15:56:06 +01:00
Camilla Berglund ead8a1c333 Started 3.1.1. 2015-01-25 10:42:01 +01:00
Camilla Berglund ce8f97c23c Documentation work.
Fixes #212.
Fixes #420.
2015-01-16 01:34:12 +01:00
Camilla Berglund bb338a2b9c Fixed monitor size not corrected for rotation.
Fixes #413.
2015-01-08 04:01:40 +01:00
Camilla Berglund 4329a78011 Removed check for NULL to glfwExtensionSupported. 2015-01-08 04:01:40 +01:00
Camilla Berglund d311e28038 Fixed extension retrieval for OpenGL ES 3+. 2015-01-06 20:22:34 +01:00
Camilla Berglund 6c7509c942 Improved robustness of Linux joystick init. 2015-01-06 19:36:23 +01:00
Camilla Berglund dcc78017b0 Fixed iconification event for maximized windows. 2015-01-06 15:36:15 +01:00
Camilla Berglund 9ec1a4361b Removed duplication from bad rebase. 2015-01-06 15:24:53 +01:00
Camilla Berglund 40f7d4fce0 Fixed cleanup on some Mir errors.
Release was called on invalid handles.
2015-01-06 15:24:38 +01:00
Camilla Berglund ead3937394 Mir string fixes. 2015-01-06 02:38:00 +01:00
BrandonSchaefer cbc18bf968 Various Mir fixes.
Changed set_type --> set_state.
Give more info back when an error happens with a connection/surface.
Small var name change size --> mirPixelFormats.

Fixes #412.
2015-01-06 01:45:17 +01:00
Camilla Berglund 0fcbaeb596 Fixed broken Mir and Wayland builds.
Fixes #411.
2015-01-06 01:44:31 +01:00
Camilla Berglund fe7a4eb4ff Improved CMake config file generation. 2015-01-06 01:42:01 +01:00
Camilla Berglund 58e9d7a8ec Added refresh event on backing property change. 2015-01-05 22:33:06 +01:00
Camilla Berglund 439417a22c Comment and string spell check pass. 2015-01-05 22:21:31 +01:00
Camilla Berglund 3c70155504 Formatting. 2015-01-05 20:24:48 +01:00
Camilla Berglund e64699bd54 Updated no-replacement-for-function date. 2015-01-05 01:43:02 +01:00
Camilla Berglund 5f6aa9c34c Added IDE folders to CMake files.
Fixes #328.
2015-01-05 01:19:02 +01:00
Camilla Berglund 1634742177 Fixed lifetime management of application delegate. 2015-01-04 18:22:46 +01:00
Camilla Berglund d459145d28 Made glfwGetCursorPos query system directly.
Fixes #103.
Fixes #153.
Fixes #193.
Fixes #355.
Fixes #381.
2015-01-04 16:54:19 +01:00
Camilla Berglund 641761ddb0 Changed state attribs to direct access.
Changed the window states (focused, iconified and visible) to query the
system directly.

THIS IS A BREAKING CHANGE, although a fairly obscure one.  It affects
applications that both care about telling actual key events from
synthetic ones, and are implemented in a non-self-synchronizing way, and
that poll the GLFW_FOCUSED window attribute instead of using the window
focus callback.

If you maintain one of these, please feel free to drop me an email and
I'll help any way I can to transition your application to 3.1.

Fixes #189.
Fixes #204.
2015-01-04 16:53:32 +01:00
Camilla Berglund 45eebb39fb Fixed order of operations. 2014-12-31 22:32:09 +01:00
Camilla Berglund a6ded4d3fe Formatting. 2014-12-31 22:32:08 +01:00
Camilla Berglund aa7f827e72 Fixed pre-drop cursor position update.
Progresses #381.
2014-12-31 22:24:21 +01:00
Camilla Berglund 54a1fad13b Fixed cursor sometimes not being set. 2014-12-30 21:55:20 +01:00
Camilla Berglund e480c76a11 Removed use of cursor rectangles.
Poor use of cursor rectangles broke Lion full screen and led to rect
reset loop.  Cursor image is now updated only with the existing
enter/exit detection NSTrackingArea.

Fixes #339.
Fixes #375.
2014-12-30 15:25:48 +01:00
Camilla Berglund e57da19d4a Fixed OS X enter/leave full screen triggers. 2014-12-30 15:25:48 +01:00
Camilla Berglund 81bcefe86c Moved to using NSOpenGLView. 2014-12-30 15:25:24 +01:00
Camilla Berglund 56202ee7c6 Added Linux joystick hot-plugging via inotify.
This is a temporary solution until the proper libudev one.

Progresses #17.
2014-12-28 13:28:09 +01:00
Camilla Berglund 5964f74e3a Fixed software renderer being selected on OS X. 2014-12-27 22:31:30 +01:00
Camilla Berglund e0132c3099 Added use of OpenGL 4.1 profile token on OS X.
Fixes #395.
2014-12-27 22:29:25 +01:00
Camilla Berglund 9aa15aa710 Fixed menu bar for non-bundled OS X applications.
The menu bar for non-bundled applications did not become visible until
it had lost and regained focus.  This is fixed (somehow) by letting the
NSApplication run loop start and stop.

Technique by scoopr.
2014-12-18 03:34:32 +01:00
Camilla Berglund b2030f6d73 Fixed X11 character input for C locale.
Fixes #396.
2014-12-18 03:24:38 +01:00
Camilla Berglund 44372b89f6 Documentation work. 2014-12-18 02:53:14 +01:00
Camilla Berglund 2a1375e97c Added glfwCreateStandardCursor.
This function allows the creation of cursor objects using one of several
standard cursor shapes from the current system cursor theme.
2014-12-15 21:58:44 +01:00
Camilla Berglund 1495134398 Changed all key translation to arrays. 2014-12-15 21:55:17 +01:00
Camilla Berglund 0c44a6be7f Fixed export directive for Optimus workaround. 2014-12-11 13:34:59 +01:00
Camilla Berglund e1ae9af5a0 Removed OS X display capturing (for now).
Fixes #378 (poorly).
2014-12-02 23:25:07 +01:00
Camilla Berglund b81a19928d Fixed auto-hiding of windowed windows on OS X. 2014-12-02 23:15:08 +01:00
BrandonSchaefer e778b83667 Move redundant free to where its not redundant. 2014-12-01 21:12:20 +01:00
BrandonSchaefer a71a52ddd6 Check queue == NULL if we can't connect to server. 2014-12-01 21:12:20 +01:00
BrandonSchaefer d300aa3255 Fix the found issue. Found needs to be 1.
This is needed for realloc, while index should be 0.  So using i for the
index, and found for the count.
2014-12-01 21:12:19 +01:00
BrandonSchaefer f306ea2f5d Create an event queue to store all MirEvents.
This ensures all events come out of the same thread, as well as ensuring
the threads sync up correctly when touching the event queue.
2014-12-01 21:12:15 +01:00
BrandonSchaefer 0a5d57eade Fixed realloc, should be monitors.
Moved found to the end of the loop, otherwise found = 1 causing index 0 to
crash.

HACK: Retrieve video modes from platform-specific code.
2014-12-01 21:08:25 +01:00
Camilla Berglund a8b0d1c8e0 Updated changelog and credits, formatting.
Closes #384.
2014-11-27 15:41:17 +01:00
Cyril Pichard cc10527706 Fixed position for full screen override redirect. 2014-11-27 15:38:21 +01:00
Camilla Berglund 916371e04c Formatting. 2014-11-10 02:04:43 +01:00
Camilla Berglund e059f012d7 Removed unused members. 2014-11-10 02:00:14 +01:00
Camilla Berglund 13ac6e9a82 Fixed platform code writing to shared members. 2014-11-10 02:00:14 +01:00
Camilla Berglund 10a74924e3 Removed function duplicating _glfwAllocMonitor. 2014-11-10 02:00:14 +01:00
BrandonSchaefer 8d5043f409 Could be a crash here, best to just check. 2014-11-10 02:00:14 +01:00
BrandonSchaefer c03f273941 Fix crash from test/sharing. 2014-11-10 02:00:14 +01:00
BrandonSchaefer 4674ed367d Fix some memory leaks.
One in wl_init.c, need to clean up Joysticks.
Finish getting the monitor modes set up.
Finish adding Unsupported error messages.
2014-11-10 02:00:14 +01:00
BrandonSchaefer f4f525549c Finish up the monitor work. 2014-11-10 02:00:14 +01:00
BrandonSchaefer ac73c2bd6c Get the correct mod for each KEY/MOTION event. 2014-11-10 02:00:14 +01:00
BrandonSchaefer cb4ccc59c2 Realloc the monitor size for each IN USE monitor. 2014-11-10 02:00:14 +01:00
BrandonSchaefer d76d56ce74 Add the start of size of each monitor and modes. 2014-11-10 02:00:14 +01:00
BrandonSchaefer 50cf4cfda3 Add Mir file licenses. 2014-11-10 02:00:14 +01:00
BrandonSchaefer 9bd0fae684 Make sure we go through all the pointer_coords. 2014-11-10 02:00:14 +01:00
BrandonSchaefer 8712d84bcc Add in Mir input handling. 2014-11-10 02:00:14 +01:00
BrandonSchaefer 49696d0134 Init context API for native display. 2014-11-10 02:00:14 +01:00
BrandonSchaefer 4295b77582 Set up the Mir connection.
Set up the first of the Mir surface.
2014-11-10 02:00:14 +01:00
BrandonSchaefer 46c9663ed7 I should add the actual mir_* source files :). 2014-11-10 02:00:14 +01:00
BrandonSchaefer cfb7d2f036 Start with the skeleton code for Mir support. 2014-11-10 02:00:14 +01:00
Camilla Berglund bc219056a6 Removed superfluous comments. 2014-11-10 01:57:45 +01:00
Camilla Berglund 899117e785 Possible control flow clarification. 2014-11-06 19:37:52 +01:00
Camilla Berglund 382133b384 Fixed test for no found monitors. 2014-11-06 02:11:52 +01:00
Camilla Berglund 8de5c4e3b8 Fixed OS X full screen window hiding. 2014-11-05 18:40:22 +01:00
Camilla Berglund c112804539 Ignore deprecated attributes on OS X core. 2014-11-05 18:40:22 +01:00
Camilla Berglund 70c349f36b Fixed OS X full screen window placement. 2014-11-05 18:38:39 +01:00
Camilla Berglund 34bf1b13e9 Fixed Lion full screen regression.
Restored lines lost during testing surgery.
2014-11-04 16:39:46 +01:00
Camilla Berglund 9f58d8d715 Added comment. 2014-11-03 19:16:29 +01:00
Camilla Berglund 49ec306a0a Added glfwGet*Adapter to native API. 2014-10-29 02:55:02 +01:00
Camilla Berglund 6743761c2c Moved OS X from full screen view to window. 2014-10-28 22:21:10 +01:00
Camilla Berglund 3b9a14fc9c Moved note to new place of inversion. 2014-10-26 18:29:34 +01:00
Camilla Berglund 4c64e94d39 Fixed X-axis scroll offset inversion (take two).
Fixed #239 (properly).
2014-10-26 15:15:42 +01:00
Patrick Walton 5052b2d7e0 Create an autorelease pool in glfwPostEmptyEvent.
This prevents leaking NSEvent objects.

Closes #372.
2014-10-21 12:20:13 +02:00
Camilla Berglund 6a3779d635 Cleanup. 2014-10-13 18:51:47 +02:00
Camilla Berglund f4a467a864 Fixed OS X scroll X-axis inversion.
When natural scrolling is disabled on OS X, the X-axis of the scroll
offsets is inverted compared to the direction on Windows.  The X11
scrolling directions are unspecified and so have been aligned with the
Windows port.  Natural scrolling inverts both axes on both OS X and X11,
so the issue remains when the feature is enabled.

This inverts the provided X-axis scroll offset, making "unnatural"
scroll data align with the Windows and X11 ports and "natual" scroll
data be fully inverted and aligned with its counterpart on X11.

Fixes #239.
2014-10-13 15:48:40 +02:00
Camilla Berglund 5f13279557 Merged time functions into input module. 2014-10-13 15:48:40 +02:00
Camilla Berglund bb98eae131 Merged joystick functions into input module. 2014-10-13 15:48:40 +02:00
Stef Velzel 653079b792 Fixed Win32 string conversion.
Specifying -1 as the source string size makes the returned size include
the null terminator.

Closes #364.
2014-10-12 15:18:30 +02:00
Camilla Berglund 45d528baed Cleanup. 2014-10-07 16:20:49 +02:00
Camilla Berglund 2a255e49e2 Made static library build with -fPIC for Rust.
Fixes #199.
2014-10-07 12:48:01 +02:00
Camilla Berglund e0c26f0ec5 Changed default of GLFW_REFRESH_RATE.
Fixes #354.
2014-10-06 23:52:10 +02:00
Jonas Ådahl 4dd669661b wayland: Coding style cleanup
Fixes * positioning, indentation and newline inconsistencies.
2014-09-28 21:54:09 +02:00
Jonas Ådahl b1033a3443 wayland: Default to 32 cursor image size
This is the default across various toolkits (weston, GTK+ for example)
so lets stick to that.
2014-09-28 21:51:12 +02:00
Jonas Ådahl cd51d285e6 wayland: Clean up anonymous file creation
It was a copy paste without fully updating the coding style. There were
also some autotools macros that were no longer valid. So far its assumed
that the needed functions exist. If better portability is needed, there
needs to be some detction added to the cmake build script.
2014-09-28 21:47:18 +02:00
Jonas Ådahl 6e8e94837d wayland: Don't check *alloc result 2014-09-28 21:46:16 +02:00
Camilla Berglund 468714cab9 Unified video mode enumeration. 2014-09-22 19:25:05 +02:00
Camilla Berglund 4918514eaf Added support for _NET_WM_FULLSCREEN_MONITORS.
This allows EWMH full screen windows to correctly cover monitors that
overlap other monitors, such as an Oculus Rift mapped onto a section of
a larger monitor.

Fixes #175.
2014-09-22 13:31:59 +02:00
Camilla Berglund c769061a8a Cleanup of basic XIM support.
Shortened and simplified the code.  Removed reporting of XIM sentinel
key press event.  Added credit.  Updated changelog.

Closes #151.
2014-09-22 11:08:33 +02:00
Lucas Hinderberger cec63f3cb5 Fixed dead keys in X11.
The library will now try to create an X input context to handle dead
keys properly on international keyboards.  This makes it possible to
enter for example an e with accent grave on a German keyboard without
further efforts.  A fallback mechanism is provided in case the client
does not support X input method / context creation.  In that case, the
library will behave as it did before.
2014-09-22 11:08:33 +02:00
Camilla Berglund 49579165a7 Added value clamping for stereo hint. 2014-09-18 20:40:11 +02:00
Camilla Berglund 58c390991c Made glfwGetX11Monitor return output, not CRTC. 2014-09-17 12:45:51 +02:00
Camilla Berglund 4b27050afe Fixed error return values of native EGL functions. 2014-09-17 12:36:11 +02:00
Camilla Berglund a0742e99e3 Fixed error return value of glfwGetCocoaMonitor. 2014-09-17 12:28:26 +02:00
Camilla Berglund 99cedceef5 Expose display device name as UTF-8.
This makes interaction with libOVR simpler, as it provides the display
device name in the same encoding.
2014-09-16 18:28:08 +02:00
Camilla Berglund 1b6d8a6ed6 Enabled enumeration of mirroring displays.
This exposes all monitors in every mirroring group, which is needed for
robust detection of an Oculus Rift.
2014-09-16 18:27:33 +02:00
Camilla Berglund 8fd69bc6c2 Fixed monitor size using wrong incorrect value.
The display device string was used, instead of the adapter device name,
leading to the wrong incorrect physical size being returned for
non-primary monitors.  The right incorrect physical size is now returned
for all monitors.
2014-09-15 17:11:35 +02:00
Camilla Berglund 5bbb837635 Fixed gamma functions acting on whole desktop.
Fixes #336.
2014-09-12 14:40:28 +02:00
Camilla Berglund 5ca875a7ff Fixed incorrect full screen window placement.
Fixes #213.
2014-09-10 14:31:22 +02:00
Camilla Berglund e9c7314d50 Added GLFW_FOCUSED window hint.
Fixes #101.
2014-09-10 11:50:50 +02:00
Camilla Berglund 4ae6eae58d Made queries use XRRGetScreenResourcesCurrent.
Fixes #347.
Closes #351.
2014-09-10 11:50:42 +02:00
Camilla Berglund 7dba90b7ca Removed racy checks of cached iconification state. 2014-09-09 16:53:22 +02:00
Camilla Berglund 41d998eb3c Removed duplicate inclusion of client header. 2014-09-09 16:43:24 +02:00
Ricardo Vieira 25204b1ec7 wayland: Support for setting a cursor image
Closes #346.
2014-09-09 16:38:47 +02:00
Camilla Berglund 8d170c7f47 Merged clipboard code into input. 2014-09-09 16:36:41 +02:00
Camilla Berglund 4aa9174e76 Clarified comments for X11 key repeat hack. 2014-09-03 01:46:11 +02:00
Camilla Berglund 3fcc2a6cb2 Documented use of deprecated OS X function. 2014-09-03 00:31:39 +02:00
Camilla Berglund f8d80a936f Internal header cleanup. 2014-09-02 19:47:29 +02:00
Camilla Berglund c85294e0b2 Window class cleanup. 2014-08-31 14:21:55 +02:00
Camilla Berglund 82dc6c8b8f Removed option to disable loading of winmm. 2014-08-31 13:51:21 +02:00
Camilla Berglund b1fd3c00d0 Removed duplicate window position clearing. 2014-08-26 14:46:02 +02:00
Camilla Berglund c700978c45 X11 library struct cleanup and comments. 2014-08-22 11:19:02 +02:00
Camilla Berglund 5d525c4a5f Moved display closing into _glfwPlatformTerminate. 2014-08-21 21:18:02 +02:00
Camilla Berglund e5d890a1aa Made clipboard string member name consistent. 2014-08-21 21:14:29 +02:00
Camilla Berglund 44c899ce70 Added support for GL_KHR_context_flush_control. 2014-08-21 19:29:04 +02:00
Camilla Berglund cfc47abf0d Made context creation backends more consistent. 2014-08-21 19:29:04 +02:00
Camilla Berglund d5cf713c20 Clarified comment on APIENTRY hack. 2014-08-21 19:29:04 +02:00
Camilla Berglund a5281df501 Moved RandR gamma probe to init. 2014-08-18 12:58:02 +02:00
Camilla Berglund 59d1aa52f2 Merged gamma files into monitor files. 2014-08-18 12:31:48 +02:00
Camilla Berglund 626dbf6057 Added clearing of global struct on terminate. 2014-08-18 12:17:00 +02:00
Camilla Berglund 8cd88ddf61 Cleanup of OS X cursor fixes.
Closes #334.
Fixes #254.
2014-08-13 09:17:14 +02:00
Arseny Kapoulkine 87fb437d76 Fixed changing cursor while it's outside window.
We need to invoke both [NSCursor set] and [NSView addCursorRect].

First call is responsible for changing the cursor if it's inside the
view; second call is responsible for keeping the cursor the same if it's
outside.
2014-08-13 09:17:14 +02:00
Arseny Kapoulkine e74ebf0be3 Fix cursor behavior on OS X.
Don't implement resetCursorRects: this occasionally hides the cursor
since an empty cursor is assigned to the window rectangle.  Implementing
this method is not required since OS displays the window cursor
correctly by default.

Don't reset cursor mode when window loses focus: once again, OS handles
this correctly, and this means that the window cursor state is restored
when window gains focus again.
2014-08-13 09:17:14 +02:00
Camilla Berglund 26f86ac50a Merge pull request #333 from ricardomv/fix-reopen
wayland: Release input focus when window is destroyed.
2014-08-13 08:59:25 +02:00
Arseny Kapoulkine b4d4fc8f79 Optimize _glfwInitJoysticks on OS X.
This function used to enumerate all devices and capture all properties
of every device into a dictionary. This takes 180 ms on a MacBook Pro
without external devices and 280 ms with an external keyboard/mouse
attached.

Since we're only interested in a few properties, we can just get them
one by one - this reduces the time to <1 ms.

Note that we still use the dictionary to get the joystick elements.
For unknown reason this is required to get all axes/buttons - without
doing this we don't get any joystick elements in addJoystickElement.

Closes #332.
2014-08-13 08:06:37 +02:00