Commit Graph

317 Commits

Author SHA1 Message Date
Camilla Berglund
5f74c2afdf Cleanup. 2015-06-07 18:27:37 +02:00
Camilla Berglund
96b3f17d02 Re-used config structs for hints. 2015-06-07 18:14:07 +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
439417a22c Comment and string spell check pass. 2015-01-05 22:21:31 +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
a6ded4d3fe Formatting. 2014-12-31 22:32:08 +01:00
Camilla Berglund
e0c26f0ec5 Changed default of GLFW_REFRESH_RATE.
Fixes #354.
2014-10-06 23:52:10 +02:00
Camilla Berglund
49579165a7 Added value clamping for stereo hint. 2014-09-18 20:40:11 +02:00
Camilla Berglund
e9c7314d50 Added GLFW_FOCUSED window hint.
Fixes #101.
2014-09-10 11:50:50 +02:00
Camilla Berglund
7dba90b7ca Removed racy checks of cached iconification state. 2014-09-09 16:53:22 +02:00
Camilla Berglund
44c899ce70 Added support for GL_KHR_context_flush_control. 2014-08-21 19:29:04 +02:00
Camilla Berglund
f3b65445dc Fixed cursor outside new full screen windows.
The cursor was not positioned over newly created full screen windows,
leading to confusing behavior like invisible cursor or window
iconification.

This fix is a stop-gap until the direct cursor position work is merged.

Fixes #111.
2014-06-18 17:13:28 +02:00
Camilla Berglund
7cb217ed4a Fixed plural forms on key/button arrays. 2014-06-18 16:39:41 +02:00
Camilla Berglund
3ce7bfef07 Added GLFW_FLOATING.
Fixes #23.
2014-06-18 16:39:39 +02:00
Camilla Berglund
c9808586b3 Added GLFW_DOUBLEBUFFER. 2014-06-18 16:36:53 +02:00
Camilla Berglund
281013002d Added GLFW_DONT_CARE.
This changes the behavior of framebuffer hints set to zero.  Before,
zero meant that any value was acceptable.  This changes zero to be an
explicit preference and adds GLFW_DONT_CARE to mean that any value is
equally acceptable.

Fixes #70.
2014-06-18 16:36:22 +02:00
Camilla Berglund
25e7ff1196 Added GLFW_AUTO_ICONIFY.
By default, full screen windows that lose focus will be iconified and
the video mode will be restored.  This makes it impossible to create
applications spanning multiple monitors.  The GLFW_AUTO_ICONIFY window
hint will allow users to disable this behavior.

Fixes #143.
2014-06-18 16:33:58 +02:00
Camilla Berglund
5e008ad074 Removed tautological test. 2014-06-18 16:19:17 +02:00
Camilla Berglund
4923f1cf7e Call platform API directly where possible. 2014-05-21 21:30:24 +02:00
Camilla Berglund
b29fbc82c2 Ensure out arguments are always set. 2014-04-07 16:28:11 +02:00
Camilla Berglund
eb3f75e03e Added glfwGetWindowFrameSize. 2014-03-30 10:57:32 +02:00
Camilla Berglund
1ccc23268c Added glfwPostEmptyEvent. 2014-03-09 17:55:55 +01:00
Camilla Berglund
76eefcc08a Moved some VC++ specific hacks to platform header. 2014-03-06 21:05:55 +01:00
Camilla Berglund
6d8e78cc95 Further separation of window and context.
The context related parts of _GLFWwndconfig have been moved to
_GLFWctxconfig and given better names.  Window hint and attribute
members have been renamed to match.
2014-03-06 20:07:58 +01:00
Camilla Berglund
ae8393c06e Fixed refresh of debug context attribute. 2014-03-06 15:29:45 +01:00
Camilla Berglund
611006af18 Updated API version in comment headers. 2014-01-22 01:32:00 +01:00
Camilla Berglund
95c7029e19 Formatting. 2013-11-18 12:06:39 +01:00
Camilla Berglund
7ef7beb9fb Formatting. 2013-10-17 15:16:27 +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
Camilla Berglund
9d0e102135 Fixed glfwCreateWindow return value semantics. 2013-07-30 14:44:56 +02:00
Camilla Berglund
7a03ca8dbc Removed superflous casts of allocated memory. 2013-07-04 14:54:07 +02:00
Camilla Berglund
c10bf9ba9c Fixed incorrect hint default.
The default for the GLFW_ALPHA_BITS hint was zero instead of 8.
2013-06-17 17:42:25 +02:00
Camilla Berglund
ccb810bed9 It's not an error. 2013-06-13 12:21:16 +02:00
Camilla Berglund
11615fcaf2 Added scancode to key callback. 2013-06-05 23:46:09 +02:00
Camilla Berglund
3498163da1 Separated window and framebuffer sizes. 2013-06-04 01:51:54 +02:00
Camilla Berglund
2cd34386bc Added back refresh rate window hint. 2013-05-30 20:42:59 +02:00
Camilla Berglund
ad1f6f0341 Renamed glfwGetWindowParam to glfwGetWindowAttrib.
Parameters are something specified at creation time and are often
immutable, while many of the values returned by glfwGetWindowParam
reflected current state not controlled by any parameter or hint.
2013-05-27 15:30:32 +02:00
Camilla Berglund
2d1b835711 Added a conservative set of key modifiers. 2013-05-22 21:56:14 +02:00
Camilla Berglund
11a27de3d3 Added return by setters of previous callback. 2013-04-18 18:20:25 +02:00
Camilla Berglund
1fe21b22a3 Assume that malloc works. 2013-04-17 15:14:42 +02:00
Camilla Berglund
648c8e7371 Put synthetic key releases after defocus event.
This allows the application to separate actual from synthetic key
release events.
2013-04-16 19:58:49 +02:00
Camilla Berglund
159f9b9526 Changed default cursor mode for fullscreen. 2013-04-11 01:04:13 +02:00
Camilla Berglund
49db3b2a9e Formatting. 2013-04-08 15:24:24 +02:00
NathanSweet
8e2e7b37a1 Undecorated window support on win/mac/linux. 2013-04-08 15:24:24 +02:00
Camilla Berglund
64afb193e8 Removed return value of close callback. 2013-03-06 23:29:37 +01:00
Camilla Berglund
6fadf37bda Replaced window close parameter with mutable flag.
Replaced the GLFW_SHOULD_CLOSE window parameter with the
glfwWindowShouldClose and glfwSetWindowShouldClose functions, allowing
the setting of the close flag from any point in the program.
2013-03-01 14:13:45 +01:00
Camilla Berglund
719b60dd2b Added macros for library initialization check. 2013-02-20 18:15:03 +01:00
Camilla Berglund
d97dddc8c4 Simplified function comment headers. 2013-02-11 19:43:22 +01:00
Camilla Berglund
7c1932381b Reintroduced glfwGetWindowPos, glfwSetWindowPos. 2013-02-11 19:43:08 +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
954d6383ee RandR monitor work.
Moved to CRTC plus usable output for native representation of monitors.
Moved to CRTCs for mode setting and simplified mode setting interface.
2013-02-01 18:03:02 +01:00
Camilla Berglund
cbb6d1ad7b Fixed hint overriding for fullscreen windows. 2013-01-31 08:36:49 +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
38aef53b0c Shortened window struct member. 2013-01-25 00:42:45 +01:00
Camilla Berglund
bc150ac9c8 Forced resizable to true for fullscreen windows. 2013-01-25 00:42:20 +01:00
Camilla Berglund
8d60214fac Put window callbacks in a substruct. 2013-01-15 21:34:26 +01:00
Camilla Berglund
9af960e2dd Made the pointer-ness of object handles explicit. 2013-01-05 21:13:28 +01:00
Camilla Berglund
478347004d Cleanup. 2013-01-04 07:46:44 +01:00
Camilla Berglund
46c1e4028f Begun integrating mode setting and monitor API. 2013-01-03 17:56:59 +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
835f00eb10 Merge branch 'master' into multi-monitor
Conflicts:
	include/GL/glfw3.h
	readme.html
	src/fullscreen.c
	src/internal.h
	src/window.c
	src/x11_fullscreen.c
2012-12-31 21:13:10 +01:00
Camilla Berglund
1790194828 Renamed _glfwInputError and moved to event API. 2012-12-31 21:05:28 +01:00
Camilla Berglund
21f41a2bb7 Renamed GLFW_SAMPLES and GLFW_SHOULD_CLOSE. 2012-12-31 19:55:41 +01:00
Camilla Berglund
52dac79219 Ripped out horribly broken refresh rate mess. 2012-12-31 02:06:19 +01:00
Camilla Berglund
f558563621 Merge branch 'master' into multi-monitor 2012-12-27 18:22:45 +01:00
Camilla Berglund
be7ad339f7 Added clearing of callbacks on window destruction. 2012-12-23 16:08:17 +01:00
Camilla Berglund
692f34b536 Merge branch 'master' into multi-monitor
Conflicts:
	include/GL/glfw3.h
	src/window.c
	tests/glfwinfo.c
2012-12-22 19:40:15 +01:00
Camilla Berglund
d11558e7e4 Fixed corruption of robustness strategy hint. 2012-12-13 20:01:57 +01:00
Camilla Berglund
9c0e19adca Made error message tags more consistent. 2012-12-13 19:18:04 +01:00
Camilla Berglund
7be7da16af Merge branch 'master' into multi-monitor
Conflicts:
	include/GL/glfw3.h
2012-12-13 02:23:38 +01:00
Camilla Berglund
3f5843f500 Renamed tokens used for other client APIs. 2012-12-13 02:22:39 +01:00
Camilla Berglund
73cdc34df7 Merge branch 'master' into multi-monitor
Conflicts:
	CMakeLists.txt
	readme.html
	src/CMakeLists.txt
	src/cocoa_platform.h
	src/win32_platform.h
	src/x11_platform.h
	tests/events.c
2012-12-02 20:52:03 +01:00
Camilla Berglund
69a900592e Added explicit support for sRGB framebuffers. 2012-12-02 16:10:00 +01:00
Camilla Berglund
1a3d47d06d Added window position callback. 2012-11-30 13:58:05 +01:00
Camilla Berglund
41bc0d18f4 Merge branch 'master' into multi-monitor
Conflicts:
	include/GL/glfw3.h
	readme.html
	src/CMakeLists.txt
	src/win32_window.c
	src/window.c
	src/x11_window.c
	tests/clipboard.c
	tests/defaults.c
	tests/events.c
	tests/fsfocus.c
	tests/glfwinfo.c
	tests/joysticks.c
	tests/peter.c
	tests/sharing.c
	tests/tearing.c
	tests/title.c
	tests/windows.c
2012-11-27 16:55:04 +01:00
Camilla Berglund
b8c16e49f1 Removed window size DWIM. 2012-11-22 17:04:54 +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
m@bitsnbites.eu
424e7c7b53 Removed glfwSetWindowPos and glfwGetWindowPos
glfwGetWindowPos is superseded by glfwGetWindowParam()
with GLFW_POSITION_X and GLFW_POSITION_Y as parameters.

glfwSetWindowPos can easily lead to bad practices
(moving windows around without the users consent), and
has been replaced with the GLFW_POSITION_X/Y window
hints that allow setting the window position for a
newly created window.
2012-11-10 22:19:55 +01:00
m@bitsnbites.eu
c9f4dedd96 Introduced window positioning hints and window position properties 2012-11-10 22:19:55 +01:00
Camilla Berglund
7c426d1c92 Merge branch 'master' into multi-monitor
Conflicts:
	examples/wave.c
	src/init.c
	src/internal.h
	src/window.c
	tests/accuracy.c
	tests/events.c
	tests/reopen.c
2012-11-01 00:07:01 +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
5df4df6ca4 Added glfwDefaultWindowHints. 2012-10-22 03:16:14 +02:00
Camilla Berglund
0e170f4902 Merge branch 'master' into multi-monitor 2012-10-22 02:46:06 +02:00
Camilla Berglund
467d501621 Cleanup of context clearing during window destruction. 2012-10-21 21:57:29 +02:00
Camilla Berglund
88fb5c1cf3 Merge branch 'master' into multi-monitor 2012-10-02 17:24:50 +02:00
Camilla Berglund
26480901fd Added glfwGetWindowMonitor. 2012-10-02 17:24:18 +02:00
Camilla Berglund
21a015778f Replaced malloc and memset with calloc. 2012-10-02 17:07:59 +02:00
Camilla Berglund
ff09d3a343 Merge branch 'master' into multi-monitor 2012-10-02 03:11:32 +02:00
Camilla Berglund
5fcfcb2ddc Updated comment. 2012-09-30 15:53:20 +02:00
Camilla Berglund
d00c194f4a Added 8 bits of stencil to defaults. 2012-09-30 15:51:59 +02:00
Camilla Berglund
c764ae81e8 Added missing window parameter return. 2012-09-30 15:43:26 +02:00
Camilla Berglund
38cad9aff0 Added client API window hint.
This is cherry-picked from the EGL branch in preparation for the EGL backend.
2012-09-30 15:32:50 +02:00
Camilla Berglund
508c7fe0e6 Merge branch 'master' into multi-monitor
Conflicts:
	src/window.c
2012-09-27 23:32:26 +02:00
Camilla Berglund
1be1636326 Begun integrating monitor and window. 2012-09-27 21:38:35 +02:00
Camilla Berglund
fe0cc512a2 Added missing cast. 2012-09-27 15:18:57 +02:00
Camilla Berglund
7aaeb6955b Merge branch 'master' into multi-monitor
Conflicts:
	src/x11_window.c
2012-09-23 15:26:53 +02:00
Camilla Berglund
c0dcb5a056 Fixed fullscreen regressions. 2012-09-23 15:08:43 +02:00
Camilla Berglund
6a5ebbc870 Merge branch 'master' into multi-monitor 2012-09-23 14:44:56 +02:00
Camilla Berglund
718af531a3 Fixed order of operations. 2012-09-23 14:08:36 +02:00
Camilla Berglund
b711b2fc72 Formatting. 2012-09-16 12:42:51 +02:00
Camilla Berglund
6ac58da26e Narrowed criteria for non-standard inclusion. 2012-09-12 21:18:59 +02:00
Camilla Berglund
e15e92b583 Fixed function grouping. 2012-09-11 23:56:44 +02:00
Camilla Berglund
0e2b12be43 Corrected comment. 2012-09-11 23:53:10 +02:00
Camilla Berglund
023b816bcc Disallowed hiding of fullscreen windows. 2012-09-11 23:51:45 +02:00
Camilla Berglund
dcc3d67158 Merge branch 'showwindow' 2012-09-11 20:03:55 +02:00
Camilla Berglund
feef05f839 Removed superfluous inclusion. 2012-09-09 14:22:14 +02:00
Camilla Berglund
9f94286c9a Merge branch 'master' into showwindow
Conflicts:
	readme.html
2012-09-08 21:20:45 +02:00
Camilla Berglund
5e23620c7f Merge branch 'master' into tls
Conflicts:
	src/x11_window.c
2012-09-06 15:40:18 +02:00
Camilla Berglund
9a183090e0 Merge branch 'master' into showwindow
Conflicts:
	src/window.c
2012-09-06 15:11:50 +02:00
Camilla Berglund
54f1a57f8d Added channel bit depth hint defaults. 2012-08-29 16:00:54 +02:00
Camilla Berglund
d0ad28f174 Merge branch 'master' into showwindow 2012-08-28 17:52:31 +02:00
Camilla Berglund
e10d935efe API tag and error message cleanup. 2012-08-28 15:03:57 +02:00
Camilla Berglund
035a8f4a49 Merge branch 'master' into tls
Conflicts:
	src/x11_window.c
2012-08-26 21:56:55 +02:00
Camilla Berglund
f6a1bbf782 Added GLFW_VISIBLE to glfwWindowParam. 2012-08-21 21:57:13 +02:00
Camilla Berglund
8bb5c59d2d Added GLFW_VISIBLE window hint and parameter. 2012-08-21 21:19:01 +02:00
Camilla Berglund
3d2722dc4c Fixed broken call to glfwShowWindow. 2012-08-21 20:32:44 +02:00
Camilla Berglund
a2ca095b86 Renamed GLFW_WINDOW_RESIZABLE to GLFW_RESIZABLE.
This matches GLFW_ACTIVE and GLFW_ICONIFIED.
2012-08-21 20:28:36 +02:00
Riku Salminen
596132c3a1 Add glfwShowWindow, glfwHideWindow
Add glfwShowWindow and glfwHideWindow functions to allow explicit
control over show/hide window.

Remove platform specific show window code from _glfwPlatformCreateWindow
but call glfwShowWindow from glfwCreateWindow to avoid breaking things
(for now).
2012-08-21 21:01:57 +03:00
Torsten Walluhn
3f39c5ae42 Fixed compiling issues on mac os x with llvm-gcc 4.2 2012-08-14 23:34:26 +02:00
Camilla Berglund
9af03e141b Merge branch 'master' into tls 2012-08-14 14:00:19 +02:00
Camilla Berglund
6399fb19fd Included malloc.h from files using malloc on Win32. 2012-08-14 13:52:48 +02:00
Camilla Berglund
d03c8507e6 Merge branch 'master' into tls 2012-08-12 15:28:26 +02:00
Camilla Berglund
cb447bee81 Cleanup of window resizable flag setting. 2012-08-12 15:28:12 +02:00
Camilla Berglund
9e4bc36dd8 Initial TLS implementation (Cocoa broken). 2012-08-12 14:13:18 +02:00
Camilla Berglund
2f095cc9e3 Removed implicit glfwMakeCurrentContext.
Implicitly making the context current makes sense in a
single-window API but less sense in a multi-window one.
2012-08-10 15:29:45 +02:00
Camilla Berglund
2410e2aaf4 Replaced automatic closing with window parameter. 2012-08-10 13:31:15 +02:00
Camilla Berglund
ddcf5d471e Removed mirroring of default framebuffer attribs. 2012-08-10 13:28:58 +02:00
Camilla Berglund
8ed66ea4d5 Removed calling of callbacks from setters. 2012-08-07 12:45:55 +02:00
Camilla Berglund
585a840329 Added window parameter to glfwSwapBuffers. 2012-08-06 18:13:37 +02:00
Camilla Berglund
aff30d0baa Renamed window creation/destruction functions.
Renamed glfwOpenWindow to glfwCreateWindow.
Renamed glfwCloseWindow to glfwDestroyWindow.
Renamed glfwOpenWindowHint to glfwWindowHint.
2012-08-06 17:59:34 +02:00
Camilla Berglund
2972cdfeb1 Removed glfwIsWindow. 2012-08-03 16:20:52 +02:00
Camilla Berglund
1736132bb2 Fixed window parameter refresh. 2012-08-03 15:21:49 +02:00
Camilla Berglund
59896c327a Context property fixes. 2012-08-02 14:42:24 +02:00
Camilla Berglund
053737e660 Use OpenGL to get default framebuffer properties. 2012-08-02 01:37:08 +02:00
Camilla Berglund
3a72f33541 Removed GLFW_ACCELERATED window parameter. 2012-08-02 01:13:05 +02:00
Camilla Berglund
f2062e06b7 Removed traces of Captain Obvious. 2012-02-09 16:31:01 +01:00
Camilla Berglund
0c3b1b5a0e Removed allocator. 2012-02-07 14:58:58 +01:00
Camilla Berglund
ce288a8939 Transformed glfwEnable/Disable/SetCursorMode into glfwGetInputMode/SetInputMode. 2012-02-04 00:51:35 +01:00
Camilla Berglund
a18cd1b14c Renamed GLFW_WINDOW_NO_RESIZE to GLFW_WINDOW_RESIZABLE. 2011-11-02 16:56:34 +01:00
Camilla Berglund
30c43d60a5 Removed superfluous test. 2011-10-13 14:07:24 +02:00
Camilla Berglund
72ef537425 Added input function for window damage events. 2011-10-09 21:12:13 +02:00
Camilla Berglund
30ab9e2058 Moved input-related functions to input file. 2011-10-09 17:13:58 +02:00
Camilla Berglund
d0840bdea1 Added more input functions to clarify internal API. 2011-10-09 17:10:40 +02:00
Camilla Berglund
65f074d257 Formatting. 2011-10-08 23:57:03 +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