Commit graph

142 commits

Author SHA1 Message Date
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
Denilson M. Amorim 826931e2c2 DroppedFile event for Win32 2015-06-23 19:05:37 -03: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
Evgeny Rozaliev 7053837ac1 [add] content scale 2015-06-08 12:26:42 +03:00
Pierre Krieger 30c525a5b1 Fix leaking color map and destruction of IM 2015-06-05 16:03:07 +02:00
Evgeny Rozaliev 84703027d6 [add] ios support 2015-06-05 16:38:35 +03: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
Mike Blumenkrantz 1519459471 implement get_platform_window() return for X11 2015-05-11 21:35:06 -04:00
Victor Berger a3921ea88a Continue wayland API: WindowProxy, MonitorID,
and some other little stuff.
2015-05-09 11:12:44 +02:00
Esption c973a1f83e Fixed build warnings 2015-05-08 12:31:56 -05:00
Esption 0d10dda72a Added mut so glutin can compile on nightly. 2015-05-08 06:35:38 -05:00
Daggerbot 68aff5ba0d Using x11_dl instead of x11. 2015-05-07 11:20:25 +00:00
Pierre Krieger 7ee416ab88 Make it work under the raspi 2015-05-07 13:49:33 +02:00
Pierre Krieger 2414f87ceb Make x11 dynamic 2015-05-07 13:14:09 +02:00
Victor Berger 1e0dd2290e Firsts steps of a wayland backend. 2015-05-06 23:30:45 +02:00
Daggerbot 9f13395cac Removed import of x11::xlib::xkb, which has been absorbed by x11::xlib. 2015-05-06 13:03:34 +00:00
tomaka 119bd6393f Merge pull request #405 from tomaka/win32-wheel
[Breaking change] Fix mouse wheel value on win32 and return a f64 instead of i32 in the MouseWheel event
2015-05-06 16:56:24 +02:00
Felix Kaaman 87e8018cf3 Add cursor grabbing on cocoa 2015-05-05 21:46:33 +02:00
Sven Nilsen f68116fd76 Fix compiler errors on OSX
Closes https://github.com/tomaka/glutin/issues/425
2015-05-04 16:30:44 +02:00
Pierre Krieger ace4808fac Remove the "headless" feature 2015-05-04 07:48:42 +02:00
Tomaka17 de7b1aa2eb Basic implementation of emscripten 2015-05-03 10:24:42 +02:00
Kevin Butler 81d0dc97e1 Fix further compilation of cocoa 2015-05-02 06:41:36 +01:00
Pierre Krieger ad21d31b6b Fix compilation of cocoa 2015-05-02 06:56:47 +02:00
tomaka 4882a94080 Merge pull request #409 from kvark/core
GL core profile flag
2015-05-01 14:07:10 +02:00
Dzmitry Malyshau 171986c7e8 Introduced GlProfile enum 2015-05-01 07:32:48 -04:00
Pierre Krieger 0eaa8fd9eb Use the EGL API with Android 2015-05-01 09:44:35 +02:00
Dzmitry Malyshau a42f1f5833 Implemented gl_core flag 2015-04-30 22:50:15 -04:00
datalus 899e021666 Adding SWP_NOMOVE flag to prevent the window from moving to 0,0 when setting the inner size on Windows 8+ 2015-04-30 18:52:48 -05:00
Felix Kaaman c1ca5d1d87 Fix typo in cocoa module 2015-04-30 18:25:55 +02:00
Pierre Krieger aa58f4149a Add a GlContext trait 2015-04-30 16:57:07 +02:00
Pierre Krieger 36de5a5e5a Fix PixelFormat for x11, egl and win32 2015-04-30 16:15:37 +02:00
Felix Kaaman 80c49856b2 Add pixelformat for cocoa and remove individual color components 2015-04-30 15:53:27 +02:00
Pierre Krieger 9531174813 Rework EGL 2015-04-30 08:31:33 +02:00
Pierre Krieger d9f0d92584 Rework MouseWheel event and fix the values on win32 2015-04-29 14:35:09 +02:00
Pierre Krieger 9ed1a0ec19 Add a fallback on win32 if enumerate_arb_pixel_formats returns vec![] 2015-04-29 14:27:34 +02:00
Pierre Krieger d4dcff582e Extract headless context from api/win32 to platform/windows 2015-04-29 10:19:59 +02:00
Felix Kaaman f2bbb7d49c Add multisampling for cocoa, fixes #145 2015-04-27 15:46:31 +02:00
Pierre Krieger 7df4de2ce7 Use the shared_library crate instead of loading symbols manually 2015-04-27 14:31:26 +02:00
Pierre Krieger d3cc9064f4 Add libcaca backend 2015-04-26 17:26:48 +02:00
tomaka 2532357253 Merge pull request #398 from fkaa/cocoa-window-pos
Fix window position getters and setters on cocoa
2015-04-26 08:05:35 +02:00
Pierre Krieger 0417f7003f Allow using EGL with X11 2015-04-25 22:28:43 +02:00
Pierre Krieger 5561e58646 Split GLX and X11 in "api" 2015-04-25 12:10:40 +02:00
Felix Kaaman 32e14a9a0a Fix window position getters and setters on cocoa 2015-04-24 19:40:43 +02:00
tomaka 7eeb96909c Merge pull request #384 from fkaa/keypress-sound
Fix alert sounds on keypress for cocoa
2015-04-24 19:27:49 +02:00
Felix Kaaman 44e954895f Fix alert sounds on keypress on cocoa
Passing on keypress event to parent would make it think the event was
not consumed and emit an alert sound.
2015-04-24 15:53:02 +02:00
Pierre Krieger a72e06cf1b Reorganize the Linux implementation and split OSMesa and X11 2015-04-24 15:40:17 +02:00
Pierre Krieger 828500256c Add draft for the EGL API 2015-04-24 14:12:57 +02:00
Pierre Krieger 3ad7f9a584 Create reorganization 2015-04-24 09:51:23 +02:00