Commit graph

91 commits

Author SHA1 Message Date
Robert Knight d960753360 Address code review feedback
* Fix an issue where PollEventsIterator::next() would fail to return
   keyboard input and mouse events immediately but instead only
   return them on the next call to next()

 * Inline process_generic_event() and queue_event()
2015-07-13 07:26:07 +01:00
Robert Knight 573a7aeaf1 Report focus in/out events under X11
Fixes #377
2015-06-28 22:16:43 +01:00
Robert Knight edc95d554d X11 - Ignore scroll events that happen outside of Glutin windows
Scroll deltas are calculated in X11 by comparing the current and
previous absolute values for the scroll axis when a scroll motion
event is received. If the user scrolls whilst the cursor is outside
of the window then an incorrect delta is reported when the cursor
re-enters the window.

Fix this by resetting the last-seen axis values whenever the cursor
re-enters the window.
2015-06-28 22:09:26 +01:00
Robert Knight cb08d9b05b Remove XInput2 code for handling keyboard events
* For the moment we're still using plain core X11 events
   for handling keyboard activity, so remove the XInput2 code for that

 * Small refactoring of X11 input handling and documentation fixes
2015-06-28 21:55:54 +01:00
Robert Knight 94c31e42a4 Use XInput2 for event handling
This provides smooth scrolling for touchpad devices and will
enable support for touch events etc. in future.
2015-06-28 13:25:09 +01:00
Pierre Krieger 23f6f177fe Ignore errors generated by SwapBuffers on windows 2015-06-27 16:16:54 +02:00
Pierre Krieger 942e2a8e85 Fix fullscreen mode on X11 2015-06-26 17:13:22 +02:00
tomaka 86300dfb79 Merge pull request #500 from tomaka/no-error
Add support for the EGL_KHR_create_context_no_error extension
2015-06-26 11:34:14 +02:00
Pierre Krieger 29261c8b50 Fix the discovery of the WGL_EXT_swap_control extension 2015-06-25 20:29:10 +02:00
Pierre Krieger bff79c02ce Add support for the EGL_KHR_create_context_no_error extension 2015-06-25 09:35:58 +02:00
tomaka 40b84577c3 Merge pull request #497 from tomaka/robustness
Add with_robustness and handle robustness on all implementations
2015-06-23 16:46:52 +02:00
Victor Berger 2ac78cadf6 Update wayland dependency to 0.2. 2015-06-23 11:23:10 +02:00
Pierre Krieger dbaca24cde Add with_robustness and handle robustness on all implementations 2015-06-22 19:42:03 +02:00
tomaka 7773996d7b Merge pull request #488 from tomaka/rem-is-closed
Remove the is_closed function
2015-06-17 07:36:16 +02:00
tomaka 90b28c2052 Merge pull request #486 from tomaka/context-error
Handle errors from MakeCurrent and SwapBuffers
2015-06-17 07:36:00 +02:00
ecoal95 0a1a7208c3 glx: Unbind the context if it's the current one 2015-06-17 06:29:25 +02:00
Pierre Krieger 39128dd7e1 Remove the is_closed function 2015-06-16 14:03:58 +02:00
Felix Kaaman bbaa129842 Add transparency support for cocoa. Closes #472 2015-06-16 11:29:17 +02:00
Pierre Krieger f6c26ec593 Handle errors from MakeCurrent and SwapBuffers 2015-06-16 10:44:44 +02:00
Felix Kaaman a8fef35dbf Make legacy functions crash on osx core contexts 2015-06-16 09:00:02 +02:00
tomaka e48c853b9c Merge pull request #484 from pinumbernumber/master
Implement transparency for X11
2015-06-16 08:52:29 +02:00
pinumbernumber da4bcad6e3 Implement transparency for X11 2015-06-14 22:20:32 +01:00
Robert Knight 5b08220df5 Report scroll deltas in lines for non-touch devices on OS X
Scroll deltas on OS X may be reported either as pixel deltas
to scroll by if supported by the device or line/row deltas
otherwise.
2015-06-14 18:09:02 +01:00
Robert Knight f0bab95c4d Express scroll deltas as either line or pixel deltas
Depending on the platform and device, scroll deltas may either
be represented as pixel deltas specifying the amount
in pixels to scroll or they may be expressed in 'lines' or 'chunks'
for low resolution devices (eg. a traditional mouse wheel).

Pixel deltas are currently available on OS X. X11 currently
supports only integer line deltas, though pixel deltas
are available via XInput2. Windows supports fractional
line deltas.
2015-06-13 23:19:31 +01:00
Pierre Krieger 30c525a5b1 Fix leaking color map and destruction of IM 2015-06-05 16:03:07 +02:00
tomaka 70c88cf18f Merge pull request #475 from fkaa/cocoa-glcap
Add OS version detection on cocoa for selecting latest gl version. Fixes #470
2015-05-26 16:12:12 +02:00
Eduard Bopp 267b2c027a Fix set_cursor_state on X11
When the state is not changed, no code must be executed. Such no-ops previously
hit the unimplemented cursor hiding.
2015-05-25 21:01:39 +02:00
Felix Kaaman f74f0b52a3 Add OS version detection on cocoa for selecting latest gl version. Fixes #470 2015-05-24 17:37:41 +02:00
Pierre Krieger 9117bcf3d3 Switch to dwmapi 2015-05-24 09:10:45 +02:00
Pierre Krieger 81314f91d8 Add API for transparency and decorations and add support for win32 2015-05-24 09:10:44 +02:00
tomaka 1377f276b7 Merge pull request #469 from fkaa/cocoa-vsync
Fix vsync not being disabled by default in cocoa
2015-05-23 19:25:56 +02:00
Felix Kaaman e1ab181cdb Fix vsync not being disabled by default in cocoa 2015-05-23 18:35:47 +02:00
Pierre Krieger ead31e3ef8 Several WGL cleanups 2015-05-22 11:54:28 +02:00
Pierre Krieger 9c21899249 Fix the compilation on 32bits linux 2015-05-21 21:31:41 +02:00
Pierre Krieger 01ecd24fe2 Allow creating EGL contexts on win32 with the AMD DLLs 2015-05-21 18:59:30 +02:00
Pierre Krieger ea17038ac2 Detach wgl and win32 2015-05-21 16:47:19 +02:00
Avi Weinstock 966c2f2e54 fixup! Fix handling of numpad keys w.r.t. numlock (derived from fix mentioned at http://www.kaffe.org/pipermail/kaffe/2000-April/175201.html). 2015-05-18 13:02:23 -04:00
Avi Weinstock b6a63ad11f Fix handling of numpad keys w.r.t. numlock (derived from fix mentioned at http://www.kaffe.org/pipermail/kaffe/2000-April/175201.html).
Conflicts:
	src/api/x11/window.rs
2015-05-18 12:55:59 -04:00
Pierre Krieger 3376332a85 Rework the X implementation to use only one X connection 2015-05-17 19:33:07 +02:00
Pierre Krieger 848f6cd2a7 Fix GLX creating only 3.0 contexts 2015-05-16 11:37:58 +02:00
Victor Berger 8150d1216e Implement most of the keysyms for wayland. 2015-05-15 13:04:23 +02:00
Victor Berger 178b7b133b UTF8 keyboard events for wayland. 2015-05-15 12:20:25 +02:00
Victor Berger 02bd3758ee Basic raw keyboard handling. 2015-05-14 21:46:29 +02:00
Victor Berger 9e489fee01 Update to new Platform structure. 2015-05-13 08:32:20 +02:00
Victor Berger 562d6cd1e3 Move WaylandContext in its own file. 2015-05-13 08:12:09 +02:00
Victor Berger 40322a2c69 Implement some more functions for wayland.
- set/get_inner_size()
 - set_title
2015-05-13 08:12:09 +02:00
Victor Berger 1278d9779d wayland: Fix MonitorID::get_dimensions() and fullscreen support. 2015-05-13 08:12:09 +02:00
tomaka 41af4406cb Merge pull request #448 from vberger/x-wayland-split
Make platform::linux generic over X11 and Wayland
2015-05-13 07:20:40 +02:00
Victor Berger 310b44f35b Make platform::linux generic over X11 and Wayland. 2015-05-12 22:49:03 +02:00
Pierre Krieger b3044809c2 Fixes in EGL context creation 2015-05-12 21:28:56 +02:00