Commit Graph

155 Commits

Author SHA1 Message Date
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
edb284f189 Add more argument value checks 2016-05-23 15:23:14 +02:00
Camilla Berglund
8a7fa306ce Add glfwSetJoystickCallback 2016-03-31 12:12:09 +02:00
Camilla Berglund
29e232f4b2 Improved error messages 2016-03-29 11:13:06 +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
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
de2d4c7763 Clarify pointer assertions 2016-03-02 17:58:05 +01:00
Camilla Berglund
0ebdad53e8 Add asserts for public API pointer parameters 2016-01-31 17:56:36 +01:00
Camilla Berglund
864ca4dd57 Remove duplicate inclusion 2015-12-15 22:37:25 +01:00
Camilla Berglund
9c315412e1 Add glfwGetKeyName
Fixes #464.
2015-11-09 14:46:09 +01:00
Camilla Berglund
5006ef3f56 Use more GLFWbool 2015-11-05 08:58:40 +01: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
Camilla Berglund
cc4c232956 Renamed cursor window library struct member.
Since _glfwPlatformWindowFocused it has a more limited role.
2015-06-17 12:06:45 +02: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
6e20cda7fd Fixed test for invalid timer values.
Fixes #436 (properly).
2015-03-15 15:47:39 +01:00
Camilla Berglund
85de0db05d Fixed glfwSetTime accepting invalid values.
Fixes #436.
2015-02-22 19:22:33 +01:00
Camilla Berglund
93855ae6ab Fixed name of path drop list. 2015-02-16 15:40:08 +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
a6ded4d3fe Formatting. 2014-12-31 22:32:08 +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
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
Camilla Berglund
8d170c7f47 Merged clipboard code into input. 2014-09-09 16:36:41 +02:00
Camilla Berglund
96b12ee504 Added character with modifiers callback.
The undefined behaviour changed with #40 has been reverted, making the
character-only callback again behave like a system text field.  This
behavior has now been documentated.

Fixes #203.
Fixes #305.
2014-06-24 10:50:05 +02:00
Camilla Berglund
7cb217ed4a Fixed plural forms on key/button arrays. 2014-06-18 16:39:41 +02:00
Camilla Berglund
dc5c264e26 Fixed broken key repeat detection. 2014-05-19 15:01:05 +02:00
Camilla Berglund
22e1b525a5 Cleaned up shared key repeat detection. 2014-05-18 14:06:51 +02:00
Camilla Berglund
b29fbc82c2 Ensure out arguments are always set. 2014-04-07 16:28:11 +02:00
Camilla Berglund
8fa9cc0de3 Added GLFWimage struct. 2014-03-20 11:30:27 +01:00
Camilla Berglund
608de57358 Cleanup. 2014-03-20 11:30:27 +01:00
urraka
40c04a7565 Added support for custom system cursors.
This adds 3 functions to the GLFW API: glfwCreateCursor,
glfwDestroyCursor and glfwSetCursor.
2014-03-20 11:30:27 +01:00
Camilla Berglund
611006af18 Updated API version in comment headers. 2014-01-22 01:32:00 +01:00
Camilla Berglund
8f349e84ae Cleaned up drop callback design. 2014-01-21 18:23:25 +01:00
Camilla Berglund
8ae063bb1b Cleanup. 2014-01-21 15:25:49 +01:00
arturo
89d0723ba3 Initial drag and drop support. 2014-01-21 15:25:49 +01:00
Camilla Berglund
e0a26aa62f Cursor mode cleanup. 2014-01-15 14:23:34 +01:00
Camilla Berglund
2c920fbb8b Clarified character callback parameter. 2013-10-10 19:41:56 +02:00
Andri Pálsson
99784fb8f0 Fixed hidden cursor positioning corner case. 2013-10-09 19:06:03 +02:00
Camilla Berglund
3cfc400cf9 Simplified source file comment headers. 2013-07-30 14:46:52 +02:00
Camilla Berglund
f7282e86c0 Added pointer swap macro for callback setters. 2013-07-30 14:44:56 +02:00
siavash
b12c973922 Moved X11 character translation failure test. 2013-07-15 18:28:09 +02:00
Niklas Behrens
a55c3f48eb Fix incorrect cursor position
When reactivating the cursor its position was updated visually but not
internally which caused glfwGetCursorPos to return wrong values.
2013-07-07 22:05:29 +02:00
Camilla Berglund
11615fcaf2 Added scancode to key callback. 2013-06-05 23:46:09 +02:00
Camilla Berglund
11b7d17ea0 Added filtering of duplicate key releases. 2013-06-05 15:26:52 +02:00
Camilla Berglund
6df692b61e Renamed CURSOR_CAPTURED to CURSOR_DISABLED. 2013-05-22 21:56:14 +02:00
Camilla Berglund
9264b5da0e Removed double mode for cursor mode. 2013-05-22 21:56:14 +02:00
Camilla Berglund
2d1b835711 Added a conservative set of key modifiers. 2013-05-22 21:56:14 +02:00
Camilla Berglund
f175b2dddc Only apply cursor mode to focused windows. 2013-04-19 00:19:59 +02:00
Camilla Berglund
11a27de3d3 Added return by setters of previous callback. 2013-04-18 18:20:25 +02:00
Camilla Berglund
008376d450 Restore cursor position on capture mode exit. 2013-04-16 20:46:58 +02:00
Camilla Berglund
129e94da2e Changed cursor pos to double. 2013-04-04 16:29:40 +02:00
Camilla Berglund
aec952e8dc Fixed and clarified invalid char tests. 2013-03-07 17:12:43 +01:00
Camilla Berglund
d0e4c874c3 Moved sticky state. 2013-03-01 15:18:53 +01:00
Camilla Berglund
182e0afe25 Made character unsigned. 2013-02-25 17:02:28 +01:00
Camilla Berglund
719b60dd2b Added macros for library initialization check. 2013-02-20 18:15:03 +01:00
Camilla Berglund
253e0d6b23 Added GLFW_REPEAT. 2013-02-15 13:21:11 +01:00
Camilla Berglund
d97dddc8c4 Simplified function comment headers. 2013-02-11 19:43:22 +01:00
Camilla Berglund
2cea6e37cf Removed glfwGetScrollOffset.
Scroll events do not represent an absolute state, but rather an interpretation
of a relative change in state, like character input.  So, like character input,
there is no sane 'current state' to return.  The here removed solution, that of
accumulating an offset since the last call to event processing, is at best
mildly confusing.  If a user wishes to implement this solution, it is better for
it to be explicit in client code than implicit in GLFW calls.
2013-02-04 12:33:09 +01:00
Camilla Berglund
c17a7dd464 Made glfwGetWindowSize immediate.
Conflicts:
	src/internal.h
2013-02-04 12:33:09 +01:00
Camilla Berglund
3e78570a31 Removed duplicate documentation.
The public, platform, native, event and utility functions are already
documented in-source.  Having duplicate documentation inevitably means
having them contradict one another.  Furthermore, most of the function
descriptions simply repeated the name of the function.
2013-01-25 01:25:40 +01:00
Camilla Berglund
355af57b91 Renamed internal macro to match conventions. 2013-01-17 18:59:35 +01:00
Camilla Berglund
8d60214fac Put window callbacks in a substruct. 2013-01-15 21:34:26 +01:00
Camilla Berglund
fcb96967ba Replaced repeat kluge with detectable auto repeat. 2013-01-12 21:01:44 +01:00
Camilla Berglund
9af960e2dd Made the pointer-ness of object handles explicit. 2013-01-05 21:13:28 +01:00
Camilla Berglund
b72a97d531 Renamed global struct and substructs.
Renamed _glfwLibrary to _glfw and made all substructs lower-case, making
global variable names easier to read and type.  Partially inspired by the
internal naming conventions of glwt.
2013-01-02 01:44:57 +01:00
Camilla Berglund
1790194828 Renamed _glfwInputError and moved to event API. 2012-12-31 21:05:28 +01:00
Camilla Berglund
9c0e19adca Made error message tags more consistent. 2012-12-13 19:18:04 +01:00
Camilla Berglund
998cb5144e Made glfwSetCursorPos fail silently if lacking focus. 2012-11-22 17:20:16 +01:00
Camilla Berglund
c479124e69 Removed key repeat. 2012-11-22 17:14:50 +01:00
Camilla Berglund
14355d692f Fixed active/focused nomenclature mixing. 2012-11-22 17:04:44 +01:00
m@bitsnbites.eu
1c21fc1383 Removed GLFW_SYSTEM_KEYS from the GLFW API
Rationale: Disabling system commands is inherently
dangerous, and should not be encouraged. Also, it's very
difficult to define and implement a reliable and
consistent cross-platform mechanism.
2012-11-10 22:20:47 +01:00
Camilla Berglund
18d71c2b6d Made window-related callbacks per-window.
This makes polymorphic behaviour easier to implement and avoids the problem of
events being triggered before the GLFW window object is fully usable.
2012-10-29 13:36:01 +01:00
Camilla Berglund
8ed66ea4d5 Removed calling of callbacks from setters. 2012-08-07 12:45:55 +02:00
Camilla Berglund
cef9dea1d2 Unified nomenclature for cursor positions. 2012-06-22 13:57:25 +02:00
Camilla Berglund
cea0e30499 Fixed cursor centering using wrong mode. 2012-06-21 13:35:35 +02:00
Camilla Berglund
4ef9aec7e0 Made scrolling deltas floating point. 2012-03-28 21:54:09 +02:00
Camilla Berglund
8109470e72 Merge branch 'master' into cursor-enter-leave 2012-03-22 12:06:00 +01:00
Camilla Berglund
21f2327e56 Formatting. 2012-03-10 16:23:09 +01:00
Camilla Berglund
f2062e06b7 Removed traces of Captain Obvious. 2012-02-09 16:31:01 +01:00
Camilla Berglund
609c008a19 Moved input mode functions to top. 2012-02-04 01:34:12 +01:00
Camilla Berglund
5a05da441d Formatting. 2012-02-04 00:52:13 +01:00
Camilla Berglund
ce288a8939 Transformed glfwEnable/Disable/SetCursorMode into glfwGetInputMode/SetInputMode. 2012-02-04 00:51:35 +01:00
Camilla Berglund
c4806b9532 Merged cursor enter/leave callbacks. 2012-01-30 22:59:38 +01:00
Camilla Berglund
1ddafc25a6 Moved new cursor input code to other cursor input code. 2012-01-30 22:30:40 +01:00
Hanmac
0b752b84c3 Added API and X11 implementation of cursor enter and leave callbacks. 2012-01-30 22:19:39 +01:00
Camilla Berglund
e93ae44ee5 Formatting. 2012-01-24 18:28:37 +01:00
Camilla Berglund
2660b27cf3 Renamed internal cursor position in preparation of new API. 2011-10-13 15:20:59 +02:00
Camilla Berglund
3ebe9a4358 Mouse input fixes. 2011-10-13 14:07:52 +02:00
Camilla Berglund
30ab9e2058 Moved input-related functions to input file. 2011-10-09 17:13:58 +02:00
Camilla Berglund
1960d1ebb1 Added error setting for more cases of invalid tokens. 2011-10-08 23:41:30 +02:00
Camilla Berglund
b1656d7323 Replaced GLFW_MOUSE_CURSOR enable with glfwSetCursorMode. 2011-09-06 13:55:29 +02:00
Camilla Berglund
e4027f14d0 Rough line-wrapping pass. 2011-07-27 17:48:56 +02:00
Camilla Berglund
f0ef9277ea C strictness fixes. 2011-04-06 20:38:55 +02:00
Camilla Berglund
6e553c7376 Purged references to GLFW as a framework. 2011-03-06 01:46:39 +01:00
Camilla Berglund
e0ba9e4e1f Formatting. 2011-02-09 12:57:11 +01:00
Camilla Berglund
a66a4cd1e4 Added confusion for code completion systems like VC++. 2011-02-09 12:37:42 +01:00
Camilla Berglund
f1e7d7c0ea Added error callback. 2010-11-23 17:45:23 +01:00