Commit Graph

399 Commits

Author SHA1 Message Date
Camilla Berglund
97d8ea8119 Fix decoding overrun in UTF-8 XIM path 2015-10-27 23:01:02 +01:00
Camilla Berglund
7be8209d14 Add GLFW_CONTEXT_NO_ERROR window hint
This adds support for the GL_KHR_no_error extension.
2015-10-27 20:36:20 +01:00
Camilla Berglund
962497bdc9 Use GLXWindow renderables on X11
Fixes #507.
2015-10-26 01:39:12 +01:00
Camilla Berglund
496f559c9a Add GLFW_NO_API for creating context-less windows 2015-10-26 00:30:30 +01:00
Camilla Berglund
d95b77ebec Fix monitor notifications on X11
Fixes #288.
2015-10-24 23:25:20 +02:00
Camilla Berglund
f62084ffea Clarify library dependencies 2015-10-24 21:47:55 +02:00
Camilla Berglund
e4a38c10f4 Remove reference to removed Khronos headers 2015-10-24 20:28:24 +02:00
Camilla Berglund
aee6b8765e Remove support for OS X 10.6
If you want 10.6 to be supported in future releases, please submit
a patch for #448.
2015-10-18 19:16:54 +02:00
Camilla Berglund
d84772d620 Add size limits and aspect ratio functions
Fixes #555.
2015-10-18 17:18:29 +02:00
Camilla Berglund
8e062afdd8 Formatting 2015-10-18 01:20:31 +02:00
Camilla Berglund
bf7cce25dc Replace external context and client API headers 2015-10-13 00:48:18 +02:00
Camilla Berglund
0eccf75f65 Replace GL booleans with public macros 2015-10-13 00:46:02 +02:00
Camilla Berglund
95a07f3340 Start 3.2 2015-10-12 21:59:49 +02:00
Camilla Berglund
fb6fbcf700 Fix video modes not restored when hiding OS X app 2015-10-12 21:08:59 +02:00
Camilla Berglund
adf130965c Update changelog 2015-10-12 19:11:21 +02:00
Camilla Berglund
e0084617d5 Fix monitor disappearing on OS X with AGS
When automatic graphics switching is activated, the CGDirectDisplayID
for the display changes, casuing the primary GLFWmonitor to disappear.
2015-10-12 18:42:18 +02:00
Camilla Berglund
8b2da399ee Add description of 3.1.2 release 2015-10-12 13:59:45 +02:00
Camilla Berglund
0d759c8c1a Fix XBufferOverflow handling for XIM input 2015-10-09 14:16:01 +02:00
Camilla Berglund
87ad8c0561 Fix XIM input on non-UTF-8 locales 2015-10-09 13:26:23 +02:00
Camilla Berglund
7c6a8775eb Fix error type for unavailable pixel format error
All backends reported this as GLFW_PLATFORM_ERROR, while the
documentation mandates GLFW_FORMAT_UNAVAILABLE.
2015-09-16 16:24:21 +02:00
Camilla Berglund
4b4cb9ce66 Fix window refresh events emission on OS X 2015-09-07 16:32:10 +02:00
Camilla Berglund
67eadf1e97 Fix glfwIconifyWindow not restoring video mode
Fixes #590.
2015-09-07 16:32:10 +02:00
Camilla Berglund
da3a77b4e3 Add dynamic client library loading to EGL backend
Fixes #586.
2015-08-27 20:52:10 +02:00
Camilla Berglund
7e13a4909e Make all EGL functions dynamically loaded 2015-08-25 02:24:42 +02:00
Camilla Berglund
afe4aadade Make all GLX functions dynamically loaded 2015-08-18 17:56:34 +02:00
Camilla Berglund
2d39dff84a Replace XkbGetKeyboard with XkbGetMap
Switch to XkbGetMap as XkbGetKeyboard returns NULL on XWayland.

Fixes #389.
2015-08-18 14:27:28 +02:00
Camilla Berglund
352a4f2757 Update changelog 2015-08-17 21:09:43 +02:00
Camilla Berglund
e2bb5e1726 Fix glfwWaitEvents generating events on Win32
Disabled cursor mode caused subsequent glfwWaitEvents calls to return
directly on Win32 due to cursor re-centring emitting WM_MOUSEMOVE.

Fixes #543.
2015-08-16 14:27:54 +02:00
Camilla Berglund
9f5a483256 Fix glfwWaitEvents returning prematurely on X11 2015-08-14 13:52:02 +02:00
Camilla Berglund
cc752ad6a0 Fix EINTR not being handled for select on X11
Closes #580.
2015-08-14 13:49:52 +02:00
Camilla Berglund
ca8912375c Fix Motif hints being set for X11 full screen
Related to #575.
2015-08-12 18:02:45 +02:00
Camilla Berglund
6b8d490249 Make all client API functions dynamically loaded 2015-08-12 01:01:42 +02:00
Camilla Berglund
84b512c62c Make all WGL functions dynamically loaded 2015-08-12 01:01:37 +02:00
Camilla Berglund
10805cb6ec Add linmath.h to readme dependency list 2015-08-09 16:58:25 +02:00
Camilla Berglund
dd01dd7bef Replace GLU with linmath.h in examples 2015-08-09 16:54:19 +02:00
Camilla Berglund
02d821c0ab Updated changelog. 2015-07-21 17:47:08 +02:00
Camilla Berglund
ea9c186e36 Updated changelog. 2015-06-26 16:20:20 +02:00
Camilla Berglund
a97477337d Updated changelog and credits, formatting.
Fixes #17.
Closes #536.
2015-06-26 13:41:27 +02:00
Camilla Berglund
19a28e2c9f Fixed X11 arrow cursor image.
Fixes #541.
2015-06-25 12:59:51 +02:00
Camilla Berglund
b15eaeda16 Implemented auto-iconification on X11.
Fixes #531.
2015-06-15 18:46:45 +02:00
Camilla Berglund
dba59cf903 Improved X11 focus event filtering.
Some focus events need to be ignored to allow functionality like
Alt+Tab and volume indicators to not affect application-visible window
focus.  However, the previous filtering was too broad and missed virtual
desktop switching, Alt+Tab and programmatic iconification.

Fixes #405.
2015-06-15 18:44:54 +02:00
Camilla Berglund
21ce21cc07 Improved X11 full screen focus control flow. 2015-06-15 15:32:16 +02:00
Camilla Berglund
08b3af4387 Fixed non-pre-edit character input via XIM.
Fixes #501.
Fixes #473.
2015-06-09 21:10:01 +02:00
Camilla Berglund
bb50368d55 Fixed enumeration of invalid video modes.
Fixes #350.
2015-06-07 21:34:46 +02:00
Camilla Berglund
ee2d036bbf Fixed destination of _NET_WM_PING reply. 2015-06-02 17:25:09 +02:00
Camilla Berglund
81144bb969 Corrected changelog verb. 2015-06-02 03:32:30 +02:00
Camilla Berglund
ed18c145cd Fixed section for changelog entry. 2015-06-02 03:32:27 +02:00
Camilla Berglund
6d5753c548 Added support for AMD PowerXpress override.
Generalized _GLFW_USE_OPTIMUS_HPG to _GLFW_USE_HYBRID_HPG to reflect the
change.

Fixes #520.
2015-05-29 13:15:32 +02:00
Camilla Berglund
f3cd42887d Fixed changelog section for WGL entries. 2015-05-27 02:22:01 +02:00
Camilla Berglund
3c52cb1790 Simplified glXGetProcAddress logic.
Removed compile-time selection of GLX entry point retrieval mechanism.
Made dlopen a required dependency.

This is a stopgap solution until we start requiring GLX 1.4.
2015-05-27 02:20:55 +02:00
Camilla Berglund
8309e0ecb0 Use DwmFlush when DWM is enabled.
Use DwmFlush instead of WGL_EXT_swap_control when desktop compositing is
enabled, to avoid the jitter of DWM and WGL vsync fighting.

Fixes #516.
2015-05-21 18:28:53 +02:00
Camilla Berglund
8f0fd7ecf5 Reverted to plain NSView.
Fixes #500.
Fixes #443.
Closes #504.
Closes #510.
2015-05-18 22:55:38 +02:00
Camilla Berglund
c7f564e866 Stop making it worse. 2015-05-14 17:14:30 +02:00
Camilla Berglund
6d0698ba0e Updated changelog. 2015-05-14 16:29:54 +02:00
Camilla Berglund
9040c64e5b Implemented GLFW_AUTO_ICONIFY on OS X.
Fixes #506.
2015-05-06 23:53:52 +02:00
Camilla Berglund
d1ea1ec21b Added credit. 2015-04-19 13:27:44 +02:00
Camilla Berglund
5b6e67119f Added credit. 2015-04-14 21:15:50 +02:00
Camilla Berglund
c5099ff407 Cleanup of #493. 2015-04-09 17:59:37 +02:00
Camilla Berglund
882b770ecb Cleanup of #487. 2015-04-09 17:59:37 +02:00
Camilla Berglund
2fbd948a67 Fixed initialization failing on headless systems.
Fixes #482.
2015-04-09 17:59:37 +02:00
Camilla Berglund
5268914b3f Started 3.1.2. 2015-03-20 00:16:24 +01:00
Camilla Berglund
29b40112c2 Fixed sleeping monitors being excluded from list.
Closes #430.
2015-03-19 16:21:52 +01:00
Camilla Berglund
1d7898b5ea Added description of 3.1.1 release. 2015-03-19 15:49:49 +01:00
Camilla Berglund
3d204b1afd Sorted context APIs after window APIs. 2015-03-17 16:55:00 +01:00
Camilla Berglund
821f3e674a Enabled High DPI support with custom Info.plist.
Fixes #422.
2015-03-17 16:54:59 +01:00
Camilla Berglund
8f08661d9e Header option macro fixes and documentation work.
This adds compile-time checks and documentation warning about defining
header option macros during compilation of GLFW.

Fixes #445.
2015-03-17 16:39:09 +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
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
d90f5e0429 Fixed debug bit not being set for OpenGL ES. 2015-02-27 02:53:21 +01:00
Camilla Berglund
bbfdedff01 Updated changelog. 2015-02-22 21:27:42 +01:00
Camilla Berglund
4d146cb39d Fixed hole in mouse button sequence on X11. 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
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
4188c263e3 Documentation work. 2015-01-18 17:30:10 +01:00
Camilla Berglund
479fa6408a Documentation work. 2015-01-17 23:52:54 +01:00
Camilla Berglund
bb338a2b9c Fixed monitor size not corrected for rotation.
Fixes #413.
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
59afffb373 Updated changelog. 2015-01-04 18:56: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
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
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
b2030f6d73 Fixed X11 character input for C locale.
Fixes #396.
2014-12-18 03:24:38 +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
0c44a6be7f Fixed export directive for Optimus workaround. 2014-12-11 13:34:59 +01:00
Camilla Berglund
a8b0d1c8e0 Updated changelog and credits, formatting.
Closes #384.
2014-11-27 15:41:17 +01:00
Camilla Berglund
46c0dc4788 Updated credits and changelog.
Closes #380.
2014-11-10 02:00:14 +01:00
Camilla Berglund
49ec306a0a Added glfwGet*Adapter to native API. 2014-10-29 02:55:02 +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
a21f2377bc Updated TinyCThread URL. 2014-10-15 03:56:16 +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
b2ddb85e62 Added readme paragraph on bug reporting. 2014-10-12 15:47:38 +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
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
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
82dc6c8b8f Removed option to disable loading of winmm. 2014-08-31 13:51:21 +02:00
Camilla Berglund
44c899ce70 Added support for GL_KHR_context_flush_control. 2014-08-21 19:29:04 +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
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
Camilla Berglund
87490316c8 Fixed video modes not being rotated to match CRTC.
Fixes #284.
2014-08-11 19:48:27 +02:00
Camilla Berglund
ef60891c2c Added credit. 2014-07-01 10:49:50 +02:00
Camilla Berglund
271d9fc76e Formatting. 2014-06-24 13:26:15 +02:00
Doug Binks
55b5ca0bcc Fixed WGL not re-creating for sRGB hint.
Fixes #312.
2014-06-24 13:07:58 +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
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
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
20792526c6 Clarified dependency list. 2014-06-18 16:13:49 +02:00
Camilla Berglund
7123bcfc3e Fixed modifier key events being lost. 2014-06-17 11:49:29 +02:00
Camilla Berglund
c6e02c09ff Fixed leaks of joystick mutable arrays. 2014-05-29 13:19:08 +02:00
Camilla Berglund
b91116e2bc Fixed glfwShowWindow restoring maximized windows.
Fixes #264.
2014-05-19 15:01:05 +02:00
Andrew Corrigan
b889aa7841 Automatically detect Xkb at run-time.
Uses XGetKeyboardMapping as a fallback.  Fixes #282.
2014-05-18 12:45:43 +02:00
Camilla Berglund
deed44a4af Fixed joystick name dangling pointer. 2014-05-16 11:25:34 +02:00
Camilla Berglund
9becd733af Added file renaming notice. 2014-04-08 17:47:38 +02:00
Camilla Berglund
78fc96518f Updated change log. 2014-04-08 17:47:31 +02:00
Camilla Berglund
99c98407c9 Removed flicker-inducing workaround.
Fixes #267.
2014-04-08 14:11:21 +02:00
Camilla Berglund
f5a996a5af Fixed focus events triggered by window frame. 2014-04-02 13:30:23 +02:00
Camilla Berglund
eb3f75e03e Added glfwGetWindowFrameSize. 2014-03-30 10:57:32 +02:00
Camilla Berglund
bf0adc2c70 Fixed crash on monitor disconnection. 2014-03-25 19:37:25 +01:00
Camilla Berglund
af61bd3137 Updated change log. 2014-03-21 12:59:29 +01:00
Camilla Berglund
9209d9b304 Updated change log. 2014-03-20 11:30:27 +01:00
Camilla Berglund
30f86286f5 Fixed bad change log edit. 2014-03-20 11:30:08 +01:00
Camilla Berglund
7ebd10a868 Added GLFW_INCLUDE_ES31.
Fixes #255.
2014-03-19 23:02:47 +01:00
Camilla Berglund
6a03ed74fb Added credit. 2014-03-18 21:43:24 +01:00
Camilla Berglund
2200f87492 Fixed glfwDestroyWindow not flushing the output buffer. 2014-03-12 20:53:57 +01:00
Camilla Berglund
5c23071a81 Fixed leak of display name. 2014-03-10 18:56:33 +01:00
Camilla Berglund
43095307da Cleanup of CGDisplayIOServicePort replacement. 2014-03-10 18:56:33 +01:00
Camilla Berglund
41fd1655bd Added test for posting of empty event. 2014-03-09 20:05:27 +01:00
Camilla Berglund
1ccc23268c Added glfwPostEmptyEvent. 2014-03-09 17:55:55 +01:00
Camilla Berglund
9309f75704 Fixed missing ICCCM protocol message checks. 2014-03-09 13:24:37 +01:00
Camilla Berglund
eb460c30ce Added missing link flags for threaded example. 2014-03-06 20:42:47 +01:00
Camilla Berglund
d169557b00 Made GLX 1.3 the minimum supported version. 2014-03-06 16:45:40 +01:00
Camilla Berglund
ae8393c06e Fixed refresh of debug context attribute. 2014-03-06 15:29:45 +01:00