Commit Graph

306 Commits

Author SHA1 Message Date
Camilla Berglund
d82f068f7e Reintroduced manual framebuffer config selection.
The default behavior of WGL, EGL and GLX is to choose a config that has
/at least/ the specified number of bits, whereas the GLFW 2 behavior was
to choose the closest match with very few hard constraints.  Moving the
responsibility of finding the supported minimum values to the client was
problematic, as there's no way to enumerate supported configurations,
forcing the client to perform multiple (and slow) window/context
creation attempts.  Not even the currently set defaults (24-bit color
and depth, 8-bit stencil) is universally supported, as bug reports show.
2013-05-13 15:58:36 +02:00
Camilla Berglund
0046b210e2 Merged hints into library struct. 2013-04-24 23:47:08 +02:00
Camilla Berglund
7405bc48cd Added proper monitor comparison. 2013-04-22 14:44:45 +02:00
Camilla Berglund
57751a5494 Added initial NSScreen integration.
This (tentatively) fixes the bug of full screen windows on OS X always
opening on the primary monitor.
2013-04-17 23:11:04 +02:00
Camilla Berglund
f06a700307 Renamed support directory to deps. 2013-04-17 15:42:21 +02:00
Camilla Berglund
008376d450 Restore cursor position on capture mode exit. 2013-04-16 20:46:58 +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
129e94da2e Changed cursor pos to double. 2013-04-04 16:29:40 +02:00
Camilla Berglund
71d2b574f8 Converted docs to hybrid Markdown. 2013-03-12 15:33:05 +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
7b3783abe2 Made glfwGetMonitorPos immediate. 2013-02-20 18:15:03 +01:00
Camilla Berglund
a591cdeba6 Removed platform-specific resources from monitor. 2013-02-20 18:15:03 +01:00
Camilla Berglund
719b60dd2b Added macros for library initialization check. 2013-02-20 18:15:03 +01:00
Camilla Berglund
1961cecb7c Made glfwGetPrimaryMonitor always return a handle.
Replaced the primary flag with the convention of putting the primary
monitor first in the returned array.
2013-02-17 19:11:16 +01:00
Camilla Berglund
253e0d6b23 Added GLFW_REPEAT. 2013-02-15 13:21:11 +01:00
Camilla Berglund
6f8084f061 Documentation work.
Enabled Doxygen tree view, added CMake options for native and internal
modules, improved internal and native documentation.
2013-02-14 17:26:27 +01:00
Camilla Berglund
92a71e07d3 Made gamma ramp functions per-monitor. 2013-02-12 14:03:51 +01:00
Camilla Berglund
7c1932381b Reintroduced glfwGetWindowPos, glfwSetWindowPos. 2013-02-11 19:43:08 +01:00
Camilla Berglund
a910f53be2 Made glfwGetGammaRamp act directly. 2013-02-04 12:33:10 +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
38aef53b0c Shortened window struct member. 2013-01-25 00:42:45 +01:00
Camilla Berglund
52a79c6f3b Added error for no selected client library. 2013-01-25 00:41:02 +01:00
Camilla Berglund
355af57b91 Renamed internal macro to match conventions. 2013-01-17 18:59:35 +01:00
Camilla Berglund
f479b1920f Formatting of internal.h. 2013-01-17 18:59:35 +01:00
Camilla Berglund
e51e049ad5 Added error for no selected client library. 2013-01-16 06:38:17 +01:00
Camilla Berglund
8d60214fac Put window callbacks in a substruct. 2013-01-15 21:34:26 +01:00
Camilla Berglund
a8ea120cae Removed internal fbconfig enum and selection. 2013-01-15 20:00:27 +01:00
Camilla Berglund
0517a82467 Added support for GLESv1_CM and GLESv2 client libraries. 2013-01-15 19:09:43 +01:00
Camilla Berglund
46c1e4028f Begun integrating mode setting and monitor API. 2013-01-03 17:56:59 +01:00
Camilla Berglund
1bc91bfe5b Formatting. 2013-01-02 17:07:04 +01:00
Camilla Berglund
3817771a40 Started adding documentation for internal APIs. 2013-01-02 03:42:20 +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
4305c76049 Removed monitor user pointer. 2013-01-02 00:41:37 +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
02598570cb Removed unused struct member. 2012-12-31 04:12:16 +01:00
Camilla Berglund
cf42282cfb Added generic video mode selection. 2012-12-31 03:04:04 +01:00
Camilla Berglund
52dac79219 Ripped out horribly broken refresh rate mess. 2012-12-31 02:06:19 +01:00
Camilla Berglund
8db1528c74 Added explicit disabling of platform glext.h. 2012-12-30 23:19:38 +01:00
Camilla Berglund
23c6def880 Merge branch 'master' into multi-monitor
Conflicts:
	src/cocoa_window.m
	src/init.c
	tests/iconify.c
	tests/reopen.c
2012-12-30 22:18:15 +01:00
Camilla Berglund
ea1ddfd7a4 Removed declarations of removed functions. 2012-12-30 02:28:52 +01:00
Camilla Berglund
9af61d06cf Removed return value of _glfwPlatformTerminate. 2012-12-30 01:15:48 +01:00
Camilla Berglund
b66e1de97c Added saving of monitor mode count. 2012-12-27 18:37:55 +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
5da8ed250a Cleanup of backend option strings. 2012-12-02 19:01:20 +01:00
Camilla Berglund
14e71833bd Merge branch 'master' into EGL 2012-12-02 17:11:17 +01:00
Camilla Berglund
821997ad55 Merge branch 'master' into joystickname 2012-12-02 16:36:44 +01:00
Camilla Berglund
da02844457 Merge branch 'master' into EGL
Conflicts:
	readme.html
	src/win32_platform.h
	src/x11_platform.h
2012-12-02 16:17:59 +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
34d383399c Finished initial window/context backend split. 2012-11-27 15:02:26 +01:00
Camilla Berglund
e4ddcefc14 Merge branch 'master' into EGL
Conflicts:
	CMakeLists.txt
	include/GL/glfw3.h
	readme.html
	src/CMakeLists.txt
	src/cocoa_window.m
	src/config.h.in
	src/glx_opengl.c
	src/internal.h
	src/opengl.c
	src/window.c
	tests/glfwinfo.c
2012-11-27 12:21:54 +01:00
Camilla Berglund
2a166c5086 Removed glfwCopyContext to map better against EGL. 2012-11-22 20:16:48 +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
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
1fd9428287 Merge branch 'master' into joystickname
Conflicts:
	src/x11_joystick.c
2012-11-08 15:55:25 +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
4fc32a4bbf Comment fix. 2012-10-31 16:11:09 +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
2108360671 Removed 'screen' from monitor nomenclature. 2012-10-22 02:39:22 +02:00
Camilla Berglund
ddeca47117 Removed executable flag from header. 2012-10-02 17:25:37 +02:00
Camilla Berglund
ff09d3a343 Merge branch 'master' into multi-monitor 2012-10-02 03:11:32 +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
bf8639e49f Removed unused struct member. 2012-09-30 14:54:58 +02:00
Camilla Berglund
1be1636326 Begun integrating monitor and window. 2012-09-27 21:38:35 +02:00
Camilla Berglund
85cfc6bdd0 Merge branch 'master' into joystickname
Conflicts:
	src/x11_joystick.c
2012-09-23 15:46:42 +02:00
Camilla Berglund
9d6945a766 Merge branch 'master' into EGL
Conflicts:
	CMakeLists.txt
	include/GL/glfw3.h
	readme.html
	src/CMakeLists.txt
	src/internal.h
	src/window.c
2012-09-23 15:35:45 +02:00
Camilla Berglund
14f00ffa67 Removed unused struct member. 2012-09-16 12:43:33 +02:00
Camilla Berglund
20a49a7eee Improved handling of primary monitor. 2012-09-13 17:46:40 +02:00
Camilla Berglund
830f2b439c Cleanup. 2012-09-12 20:41:14 +02:00
Camilla Berglund
83f5b920b9 Merge branch 'master' into multi-monitor
Conflicts:
	.gitignore
	src/CMakeLists.txt
	src/x11_window.c
2012-09-12 06:04:17 +02:00
Camilla Berglund
0272ce2e98 Merge branch 'master' into EGL
Conflicts:
	src/glx_opengl.c
	src/opengl.c
	tests/glfwinfo.c
2012-09-09 19:52:33 +02:00
Camilla Berglund
9f94286c9a Merge branch 'master' into showwindow
Conflicts:
	readme.html
2012-09-08 21:20:45 +02:00
Camilla Berglund
93a1d1c226 Added stubs, implemented on Linux and Cocoa. 2012-09-07 01:01:34 +02:00
Camilla Berglund
cbcab56a25 Merge branch 'master' into EGL
Conflicts:
	include/GL/glfw3.h
	src/opengl.c
	src/win32_opengl.c
	src/window.c
	src/x11_fullscreen.c
	src/x11_glx_opengl.c
	src/x11_platform.h
	src/x11_window.c
	tests/glfwinfo.c
2012-09-06 21:05:03 +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
89b42d084d Replaced glfwGetDesktopMode with glfwGetVideoMode. 2012-08-30 01:54:01 +02:00
Camilla Berglund
560b6b5a11 Merge branch 'master' into multi-monitor
Conflicts:
	src/CMakeLists.txt
	src/internal.h
	src/x11_platform.h
2012-08-29 20:36:07 +02:00
Camilla Berglund
2502e4d6f3 Renamed glfwGetJoystickPos to glfwGetJoystickAxes. 2012-08-29 18:58:16 +02:00
Camilla Berglund
d0ad28f174 Merge branch 'master' into showwindow 2012-08-28 17:52:31 +02:00
Camilla Berglund
2a8b2ccef4 Split internal prototypes into APIs. 2012-08-27 03:55:45 +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
aaaac00aa5 Comment fixes. 2012-08-26 21:29:26 +02:00
Camilla Berglund
5d52ad1548 Replaced GLFWGLOBAL and _init_c_ with extern. 2012-08-26 18:42:15 +02:00
Camilla Berglund
8bb5c59d2d Added GLFW_VISIBLE window hint and parameter. 2012-08-21 21:19:01 +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
Camilla Berglund
2b0f8c2f1e Removed 'device' from monitor callback. 2012-08-14 15:15:51 +02:00
Camilla Berglund
39c171a61d Merge branch 'master' into multi-monitor
Conflicts:
	tests/modes.c
2012-08-14 14:02:37 +02:00
Camilla Berglund
9e4bc36dd8 Initial TLS implementation (Cocoa broken). 2012-08-12 14:13:18 +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
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
1736132bb2 Fixed window parameter refresh. 2012-08-03 15:21:49 +02:00
Camilla Berglund
854e634fec Merge branch 'master' into multi-monitor
Conflicts:
	include/GL/glfw3.h
	src/CMakeLists.txt
	src/fullscreen.c
	src/internal.h
	src/win32_fullscreen.c
	src/win32_platform.h
	src/x11_fullscreen.c
	tests/modes.c
2012-08-03 02:57:33 +02:00
Camilla Berglund
871e1a70d7 Made video mode retrieval dynamic. 2012-08-02 18:03:43 +02:00
Camilla Berglund
ba941b2fc8 Added formatting to error string. 2012-08-02 15:13:57 +02:00
Camilla Berglund
59896c327a Context property fixes. 2012-08-02 14:42:24 +02:00
Camilla Berglund
7d222030da Merge branch 'master' into EGL
Conflicts:
	src/internal.h
	src/opengl.c
	tests/glfwinfo.c
2012-08-02 02:50:17 +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
3b6ec4e775 Added client API window hint. 2012-07-22 01:16:53 +02:00
Camilla Berglund
b78fd85e11 Moved glext.h inclusion back. 2012-07-21 23:51:08 +02:00
Camilla Berglund
be12cbca15 Added separate platform headers for EGL and GLX. 2012-07-19 23:06:15 +02:00
Cloudef
778a76683a Add EGL X11 platform header 2012-07-17 22:25:47 +03:00
Camilla Berglund
a0429e4b6e Removed duplicate type declarations. 2012-07-11 00:33:19 +02:00
Camilla Berglund
c06f838d88 Merge branch 'master' into multi-monitor
Conflicts:
	.gitignore
	examples/CMakeLists.txt
	include/GL/glfw3.h
	src/CMakeLists.txt
	src/internal.h
	src/win32_platform.h
	src/win32_window.c
	src/x11_fullscreen.c
	src/x11_platform.h
	tests/listmodes.c
2012-07-05 16:15:01 +02:00
Camilla Berglund
cef9dea1d2 Unified nomenclature for cursor positions. 2012-06-22 13:57:25 +02:00
Camilla Berglund
bf42c3cfbc Made glfwGetProcAddress return a function pointer. 2012-06-05 00:16:40 +02:00
Camilla Berglund
fbb2f24ebb Merge branch 'context-window-split'
Conflicts:
	src/x11_init.c
	src/x11_platform.h
	src/x11_window.c
2012-06-03 16:31:56 +02:00
Camilla Berglund
79bef68511 Only restore gamma ramp if it has been changed. 2012-05-24 11:46:51 +02:00
Camilla Berglund
1a99827432 Moved the type declarations. 2012-04-22 21:49:38 +02:00
Camilla Berglund
21e77fe1a6 Split platform-specific global data. 2012-04-22 15:53:02 +02:00
Camilla Berglund
f868712f02 Simplified clipboard API. 2012-04-12 00:51:58 +02:00
Camilla Berglund
bf1ada029b Added window parameter to clipboard API. 2012-04-09 16:00:54 +02:00
Camilla Berglund
7044ed6f06 Simplified and made clipboard API more type safe. 2012-04-09 15:54:36 +02:00
Camilla Berglund
952c6b7e82 Merge branch 'master' into clipboard 2012-04-09 15:33:03 +02:00
Camilla Berglund
c1dd245d8a Moved input functions to input section. 2012-04-06 14:37:31 +02:00
Camilla Berglund
92d4c02e07 Merge branch 'master' into clipboard
Conflicts:
	src/CMakeLists.txt
2012-03-29 13:29:28 +02:00
Camilla Berglund
4ef9aec7e0 Made scrolling deltas floating point. 2012-03-28 21:54:09 +02:00
Camilla Berglund
d022e54934 Merge branch 'master' into clipboard 2012-03-28 14:58:03 +02:00
Camilla Berglund
8109470e72 Merge branch 'master' into cursor-enter-leave 2012-03-22 12:06:00 +01:00
Tai Chi Minh Ralph Eastwood
5937af089e Merge branch 'master' of github.com:raedwulf/glfw into clipboard
Conflicts:
	src/CMakeLists.txt
	tests/CMakeLists.txt
2012-02-19 06:29:48 +00:00
Tai Chi Minh Ralph Eastwood
d561e3a0b0 Merge branch 'master' of github.com:raedwulf/glfw into clipboard
Conflicts:
	tests/CMakeLists.txt
2012-02-19 06:17:52 +00:00
Camilla Berglund
0c3b1b5a0e Removed allocator. 2012-02-07 14:58:58 +01:00
Camilla Berglund
f6dfaf50ad Formatting. 2012-02-05 16:56:26 +01:00
Camilla Berglund
fb465377e3 Merge remote-tracking branch 'adrian/multi-display-support' into multi-monitor 2012-02-05 02:50:22 +01:00
Camilla Berglund
6b98a04d17 Merge branch 'utf8' into multi-monitor
Conflicts:
	src/CMakeLists.txt
2012-02-04 20:12:28 +01:00
Camilla Berglund
b997db3a8b Removed GLFWthreadmodel and glfwInitWithModels. 2012-02-04 01:38:00 +01:00
Camilla Berglund
ce288a8939 Transformed glfwEnable/Disable/SetCursorMode into glfwGetInputMode/SetInputMode. 2012-02-04 00:51:35 +01:00
Camilla Berglund
b016d642ab Comment fixes. 2012-01-31 15:27:15 +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
Marcel Metz
df64773a44 Moved monitor callback to shared implementation. 2012-01-30 14:55:23 +01:00
Marcel Metz
f228d23024 Moved platform specific monitor list creation part to separate functions. 2012-01-30 12:33:32 +01:00
Marcel Metz
6f970f5753 Made monitor list cleanup shared. 2012-01-30 12:04:16 +01:00
Marcel Metz
4c6681bad6 Merge branch 'master' into multi-display-support
Conflicts:
	src/CMakeLists.txt
	src/input.c
2011-11-22 16:06:24 +01:00
Camilla Berglund
a18cd1b14c Renamed GLFW_WINDOW_NO_RESIZE to GLFW_WINDOW_RESIZABLE. 2011-11-02 16:56:34 +01:00
Camilla Berglund
2660b27cf3 Renamed internal cursor position in preparation of new API. 2011-10-13 15:20:59 +02:00
Camilla Berglund
72ef537425 Added input function for window damage events. 2011-10-09 21:12:13 +02:00