Commit graph

953 commits

Author SHA1 Message Date
Andrey Lesnikov 7f6ae8910e Merge https://github.com/tomaka/glutin
Conflicts:
	.travis.yml
	Cargo.toml
	examples/fullscreen.rs
	src/api/android/mod.rs
	src/api/cocoa/headless.rs
	src/api/cocoa/helpers.rs
	src/api/cocoa/mod.rs
	src/api/glx/mod.rs
	src/api/osmesa/mod.rs
	src/api/win32/callback.rs
	src/headless.rs
	src/lib.rs
	src/platform/linux/mod.rs
	src/window.rs
2016-09-19 19:53:28 +03:00
tomaka 614276eb0b Merge pull request #12 from Osspial/master
Fix win32 bug where window resize cursors would not show
2016-09-07 07:13:19 +02:00
Glenn Watson 1eb2052bcf Add support to Linux headless implementation for specifying OpenGL version.
This allows creation of GL3+ headless OSMesa contexts on Linux.
2016-08-22 09:16:47 +10:00
Victor Koenders 5ce48523cd Added a couple more PartialEq's 2016-08-17 20:42:45 +02:00
Nicolas Koch 32d01b288e Add support for xcb
Due to XCB and Xlib compability, we can take a shortcut and use X11's
underlying xcb_connection. This way, a complete XCB backend implementation can
be avoided.
2016-07-31 00:00:43 +02:00
Emilio Cobos Álvarez 952ca7cfed
x11: handle X11's multi-key, a.k.a compose key. 2016-07-04 16:40:47 -07:00
mraof f6ead48378 owner_events is now true when grabbing the pointer 2016-06-29 23:28:03 -04:00
mitchmindtree 8076255ba8 Make sure the window does not set itself to autorelease upon closing. 2016-06-26 11:44:27 +10:00
mitchmindtree cbb734b5a1 Remove unnecessary global imports in favour of explicitly importing traits and using namespacing for constants, types and functions. 2016-06-22 15:50:34 +10:00
tomaka 0c4cf714a1 Merge pull request #790 from mitchmindtree/remove_unused_imports
Addresses unused import and `non_upper_case_globals` warnings emitted on OS X
2016-06-22 07:43:55 +02:00
tomaka 572af951e9 Merge pull request #791 from mitchmindtree/remove_unused_private_fields
Remove unused private fields from cocoa HeadlessContext struct.
2016-06-22 07:43:17 +02:00
mitchmindtree 9a6b6b3f35 Remove imports of enum variants in favour of using the type name paths. 2016-06-22 13:32:36 +10:00
mitchmindtree c2537d81e8 Remove unused private fields from cocoa HeadlessContext struct. 2016-06-22 12:45:42 +10:00
mitchmindtree 561349669a Addresses several warnings emitted on OS X by removing unused imports and allowing non_upper_case_globals in cocoa event conversion function. 2016-06-22 12:40:48 +10:00
Andrey Lesnikov 7a8429e499 android: Fixed Window::get_pixel_format 2016-06-19 11:24:26 +03:00
tomaka 11faacefd7 Merge pull request #772 from ozkriff/master
Update to android_glue 0.2
2016-05-25 21:22:13 +02:00
Jan Segre e0f36b80c9 Make WindowBuilder and HeadlessRendererBuilder derive Clone. 2016-05-23 03:17:31 -03:00
Victor Berger c49c6bcd6e
wayland: WindowExt implementations. 2016-05-08 09:28:54 +02:00
Ivan Ukhov 54f442ea06 Generalize WindowBuilder::with_title 2016-05-08 09:28:42 +02:00
Victor Berger 14323656b6
wayland: Remove EGL-dependent code.
This removes all EGL-specific code from the wayland backend.

Notable unresolved question: due to wayland design, the resizing
methods will only get/set the size of the drawn borders, not of the
actual content drawn. This latter size cannot be controlled by winit.
2016-05-08 09:11:15 +02:00
Osspial b2cf70b342 Fixed some warnings when building on Windows 2016-05-07 21:05:45 -04:00
Osspial 163563073f Fixed win32 bug where resizing window wouldn't show resize cursors 2016-05-07 21:00:50 -04:00
Andrey Lesnikov 18f846403b Updated to android_glue 0.2 2016-05-06 00:01:40 +03:00
Corey Farwell dc49156fe6 Allow OSX WindowBuilder to specify 'activation behavior'. 2016-04-29 10:43:30 -04:00
Pierre Krieger 764bf7ce4b Update the android glue to 0.2 to use the new cargo-apk crate 2016-04-26 13:43:48 +02:00
Pierre Krieger 180aae3ada Remove OpenGL from Android code 2016-04-19 19:31:36 +02:00
Emilio Cobos Álvarez 0918fe4d9c
x11: Refactor NoneCursor logic so it applies to CursorState::Hide too 2016-04-17 18:14:53 +02:00
Emilio Cobos Álvarez 51aeb27d7e
x11: Add cursor hiding
The created cursor could be cached and whatnot, but I'm not sure it
deserves the complexity.
2016-04-17 17:41:58 +02:00
est31 7fb6450d17 Improve X11 cursor symbols handling
1. Make it non failing. Before we tried to call XFreeCursor with a
   cursor of 0 if we couldn't find a cursor. This has then caused a panic.

2. Introduce a system where multiple special cursors are tried
   in order to work with different themes and desktop environments.
   This way we get less often into the situation where we have to use a
   default cursor.

3. Also set names for some cursors that previously only had a placeholder.

Fixes #765.
Will fix https://github.com/servo/servo/issues/10475 as well.
2016-04-17 16:48:27 +02:00
Boris-Chengbiao Zhou b9065f56ba glx: Always set CONFIG_CAVEAT to DONT_CARE 2016-04-13 13:39:03 +02:00
Pierre Chevalier c68c0d96b2 Fix pixel format support detection in glx. #748
* by accepting GLX_EXT_framebuffer_sRGB as a sRGB capable framebuffer
* the new behaviour matches the wgl codel
2016-04-13 01:25:23 +01:00
tomaka d2343106bc Merge pull request #755 from BonsaiDen/glx_multisampling_conformance
glx: Support non-conformant multisampling fbconfigs.
2016-04-06 16:34:05 +02:00
Ivo Wetzel 1b313df1ea glx: Support non-conformant multisampling fbconfigs. 2016-03-30 08:40:32 +02:00
Ivo Wetzel 0e9fad5d23 Merge branch 'master' of github.com:tomaka/glutin into x11_window_size_constraints 2016-03-30 08:21:01 +02:00
Richard Lettich 117069ef90 Changed MouseMoved((i32, i32)) to MouseMoved(i32, i32), breaking change 2016-03-27 14:39:20 -04:00
Pierre Krieger d216d6b052 Merge remote-tracking branch 'glutin/master' into merge-glutin
Conflicts:
	Cargo.toml
	build.rs
	src/api/caca/mod.rs
	src/api/cocoa/mod.rs
	src/api/egl/ffi.rs
	src/api/egl/mod.rs
	src/api/glx/mod.rs
	src/api/osmesa/mod.rs
2016-03-26 17:55:03 +01:00
Ivo Wetzel 1b7a3cd31f Correctly apply initial size constraints for x11 windows. 2016-03-25 19:52:57 +01:00
Ivo Wetzel 7a5e47c446 Merge branch 'master' into x11_window_size_constraints 2016-03-25 02:54:40 +01:00
tomaka 8ae2df68e1 Merge pull request #744 from adamncasey/patch-1
Enable more Windows keys
2016-03-24 19:56:55 +01:00
tomaka 0cf1f01990 Merge pull request #746 from Thinkofname/hide-cursor-state-x11
Implement CursorState::Hide for x11
2016-03-24 07:37:58 +01:00
Thinkofname 5c4bfe1379 Remove a debug print added in 1de66e4ef 2016-03-21 18:49:00 +00:00
Thinkofname 267221af3e Implement CursorState::Hide for x11 2016-03-21 18:42:54 +00:00
Steven Sheldon c5268309c3 Update objc to 0.2. 2016-03-20 16:04:11 -07:00
Adam Casey 9e2a179daa Enable more Windows keys
This should enable most required keys on Windows.

Mappings taken from: https://msdn.microsoft.com/en-gb/library/windows/desktop/dd375731%28v=vs.85%29.aspx and applied with some guesswork to the Glutin names.
2016-03-19 10:56:58 +00:00
UK992 28599a5d79 Uncomment more keys on win32 2016-03-18 02:49:15 +01:00
Manish Goregaokar 1de66e4efb Add support for navigation keys 2016-03-17 16:04:03 +05:30
Paul Rouget a3543b700f Merge pull request #733 from fkaa/cocoa-memleak
Fix memory leak while creating NSEvent and swapping buffers (Fixes #514)
2016-03-17 03:08:47 +01:00
Patrick Walton 7249529654 Make Mac borderless windows resizable and draggable.
Despite the fact that the style mask contains `NSTitledWindowMask`, the
title doesn't show up for two reasons: (a) we draw over it; (b) we make
it invisible with a call to `-[NSWindow setTitleVisibility:]`.

Addresses servo/servo#9856 and servo/servo#9878.
Partially addresses servo/servo#9812.
2016-03-14 16:45:01 -07:00
Ivo Wetzel 7473d99c2f Implement min/max_dimensions for x11 windows.
Size hints are only being set for non-fullscreen windows, if
`max_dimensions` are set they'll override the normal `dimensions`
since X11 will not automatically resize the window after setting
the size hints.

`PSize` hint is currently set along with the `min/max` hints for
good measure.
2016-03-06 20:52:46 +01:00
Patrick Walton 7886ff9acd Add phases to wheel events.
Needed for apps to support overscroll on the Mac.
2016-03-03 16:49:35 -07:00
Felix Kaaman 08c311839f Fix memory leak while creating NSEvent and swapping buffers (Fixes #514) 2016-03-02 16:44:08 +01:00
Kirill Zdornyy 74a28adba2 Fix this_platform_is_not_supported on OpenBSD.
I followed the steps of @mneumann.
2016-03-01 18:06:13 -08:00
Patrick Walton bcd7999bf6 cocoa: Post Awakened events at the end of the queue to avoid floods.
Closes servo/webrender#179.
2016-02-29 15:12:35 -08:00
Pierre Krieger 16f76b2407 Make it compile on Linux 2016-02-27 13:59:11 +01:00
Paul Rouget 68818751f4 TouchpadPressure event 2016-02-26 11:08:46 +01:00
Felix Kaaman 778b8fa87a Purge OpenGL from cocoa 2016-02-23 13:25:33 +01:00
Pierre Krieger 10bb03c5f0 Remove most OpenGL stuff and make it compile on win32 2016-02-23 12:56:23 +01:00
Pierre Krieger ec76d991ad Unlocks platform-specific attributes 2016-02-10 17:39:35 +01:00
Pierre Krieger 982279bc39 Update the emscripten port of glutin 2016-02-09 14:25:21 +01:00
Paul Rouget 202f8c5a2d allow non ascii character in ReceivedCharacter 2016-02-08 14:45:02 +01:00
tomaka 3246613a51 Merge pull request #709 from gdamjan/support-utf8-window-title
support utf8 window titles via _NET_WM_NAME standard
2016-02-03 10:13:14 +01:00
Paul Rouget 99073eec7b osx: scroll delta should take hidpi factor into account 2016-02-02 10:25:26 +01:00
Matt Brubeck c67e43d076 Use double buffering by default on GLX 2016-01-28 13:23:06 -08:00
Mátyás Mustoha 11bbca7ca7 Replace i8 with libc::c_char 2016-01-26 12:44:34 +01:00
Michael Howell 0a43f8f733 Allow it to work under Xvfb.
Part of servo/servo#8641
2016-01-19 09:44:33 -07:00
tomaka 1113fa1c13 Merge pull request #703 from FredrikNoren/master
Fix cocoa headless. Fixes #635
2016-01-18 23:07:31 +01:00
Fredrik Noren 2a66d1cffc Construct cocoa headless context based on args 2016-01-18 13:12:40 -05:00
Damjan Georgievski e9fc0eeb87 call set_title() in new()
…instead of low-level X11 calls that don't work with utf8
2016-01-17 18:52:21 +01:00
Damjan Georgievski c923b27cad support utf8 window titles via _NET_WM_NAME standard
based on this freerdp patch
9767f7f042

thanks to emiliocobos on irc
2016-01-17 18:52:13 +01:00
Johan Sköld c71b14afb9 Adding os::macos.
Also implements platform_window() for cocoa.
2016-01-17 01:02:27 -08:00
Emilio Cobos Álvarez 4d729164c7 x11: Poll the window until it is really visible
Fixes #697

It seems that `XSync` doesn't really makes the window viewable.

This feels hacky, other option to do it could be using `XIfEvent` or
similar to listen to `MapNotify` events, but we'll have a loop still.

In practice, this lasts between two and thre iterations on my machine,
which is something not noticeable.
2016-01-16 18:19:56 +01:00
David Hewson 8a7edc4e40 Prefer double buffer on wgl if unspecified
According to https://msdn.microsoft.com/en-us/library/windows/desktop/dd318284(v=vs.85).aspx if double buffer is unavailable then a single buffer will be returned
2016-01-14 15:50:42 +00:00
Fredrik Noren c6c4dfdd1e Fix cocoa headless 2016-01-08 00:03:54 -05:00
tomaka 88e64a87a9 Merge pull request #700 from ecoal95/querydevice-leak
x11: Prevent leak on XIQueryDevice
2016-01-07 15:44:43 +01:00
Emilio Cobos Álvarez 21b9245ccc x11: Prevent leak on XIQueryDevice
Per http://linux.die.net/man/3/xiquerydevice:

> XIFreeDeviceInfo frees the information returned by
> XIQueryDevice.
2016-01-06 17:44:26 +01:00
Pierre Krieger 8319043298 Fix wrong screen ID used on GLX 2016-01-05 18:06:30 +01:00
Victor Berger 508e8cf665 Fix EGL for wayland. 2016-01-03 12:19:53 +01:00
Pierre Krieger 82f5cd8272 Add better X error handling 2015-12-30 14:58:07 +01:00
tomaka 8236564a52 Merge pull request #687 from Aceeri/master
Support for side buttons on mouse
2015-12-30 08:45:11 +01:00
Aceeri 47d9a7f1a6 Support for side buttons on mouse 2015-12-29 15:47:04 -08:00
Patrick Walton cf3097f6a0 Add a useless call to glXQueryVersion() before doing anything in the GLX port to work around a bug in the VirtualBox OpenGL driver. 2015-12-29 18:09:19 -05:00
tomaka c1a98a200b Merge pull request #684 from AnthIste/0.4.4-cocoa-api
Implement set_cursor_position on OSX with Cocoa
2015-12-29 21:21:17 +01:00
tomaka 0a598d7980 Merge pull request #680 from tomaka/xsync
Call XSync before XSetInputFocus
2015-12-29 21:21:15 +01:00
Ruben Bakker d892ba168b Reduce cursor warp delay with CGAssociateMouseAndMouseCursorPosition 2015-12-29 21:52:18 +02:00
Ruben Bakker 2fb150b345 Implement set_cursor_position with CGWarpMouseCursorPosition 2015-12-28 21:47:27 +02:00
Rengierof bc811fa587 Removed unnecessary unsafe code block 2015-12-26 20:23:20 +02:00
Rengierof 11e27889ae Fixes cursor behavior with windows 2015-12-26 16:38:00 +02:00
Pierre Krieger 033d92aae5 Only call XSetInputFocus if the window is visible 2015-12-24 11:58:50 +01:00
Pierre Krieger 360d2bf452 Call XSync before XSetInputFocus 2015-12-24 11:55:39 +01:00
Victor Berger 83e2924ac2 api/wayland: activate the backend 2015-12-22 14:36:42 +01:00
Victor Berger 6eba737fce api/wayland: fix cursor errors 2015-12-22 14:36:41 +01:00
Victor Berger 42551d20fd api/wayland: output and fullscreen handling. 2015-12-22 14:36:41 +01:00
Victor Berger 84f1aef100 api/wayland: add keyboard support. 2015-12-22 14:36:41 +01:00
Victor Berger 0792557f4b api/wayland: pointer events support. 2015-12-22 14:36:41 +01:00
Victor Berger 6294d3c7dd api/wayland: core windows and events structure. 2015-12-22 14:36:41 +01:00
Victor Berger 741311b619 api/wayland: core context 2015-12-22 14:36:41 +01:00
Victor Berger 1b25d705ce api/wayland: move window and monitor to mods. 2015-12-22 14:36:41 +01:00
Victor Berger fad2e77a36 api/wayland: Reset to empty API.
In order to build the whole new structure.
2015-12-22 14:36:41 +01:00
tomaka 1f5f997a68 Merge pull request #677 from tomaka/pf
No longer manually enumerate pixel formats
2015-12-20 10:58:28 +01:00
tomaka 87f0edea7b Merge pull request #673 from ahihi/master
Fix fullscreen on OS X
2015-12-20 07:55:26 +01:00
Pierre Krieger 61bca52217 Fix compilation on linux 2015-12-19 15:00:32 +01:00
Pierre Krieger 67356b45a3 Fix compilation on cocoa 2015-12-19 14:42:51 +01:00
Pierre Krieger ed1d76aaee Remove now unneeded function 2015-12-19 14:36:49 +01:00
Pierre Krieger 4c9348ab50 Update EGL implementation 2015-12-19 14:36:16 +01:00
Pierre Krieger a428e0608f Update cocoa implementation with changes to pf_reqs 2015-12-19 13:56:25 +01:00
Pierre Krieger 6b3a3a4577 Update GLX to use glXChooseFBConfig 2015-12-19 13:56:13 +01:00
Pierre Krieger 95a60ee329 Switch WGL to ChoosePixelFormat 2015-12-19 13:06:50 +01:00
Pierre Krieger 0b6418fabb Change PixelFormatRequirements 2015-12-19 11:32:51 +01:00
Emilio Cobos Álvarez a69ded9c8a x11: Improve xlib error reporting 2015-12-15 13:56:35 +01:00
Miranda Kastemaa e3cb389c6a Fix fullscreen on OS X 2015-12-11 23:23:23 +02:00
tomaka 48a02a0c8c Merge pull request #659 from Aceeri/minmaxwindow
Minimum/maximum dimensions for windows in win32 API
2015-12-05 18:01:55 +01:00
Pierre Krieger 816fbb2165 Fix the windows build 2015-12-01 09:13:24 +01:00
Simon Sapin 24d9a70533 Try to fix Windows build 2015-12-01 03:04:00 +01:00
Simon Sapin e4f1c7358d Update some libraries 2015-12-01 02:11:54 +01:00
Olaf Buddenhagen 32ed86a976 Fix compilation for 32 bit targets
Regression introduced in 47df0e9eaa

Casting fullscreen_atom (which is the result from XInternAtom, i.e.
c_ulong) as i64 is obviously wrong -- the whole point of types such as
c_ulong is that long in C does *not* always have the same bit size...

Cast it as c_long instead.

While this is the most straightforward fix, I'm not sure it's the best
one: perhaps the x11 crate should offer a set_ulong() method along with
set_long(), which could be used here instead of the cast?
2015-11-30 09:13:08 +01:00
tomaka 6a3ee2af75 Merge pull request #646 from adambadawy/master
Fix fullscreen on X11
2015-11-11 20:38:12 +01:00
Aceeri 2be3c142f0 Fixed wrong variable binding for WindowAttributes on asserts 2015-11-09 03:29:26 -08:00
Aceeri 9a05577df8 Not implemented asserts to prevent silent fails 2015-11-09 03:18:48 -08:00
Aceeri c6ffedccbd Removed comments, fixed Some/None matches, removed unnecessary lock checks 2015-11-09 03:13:52 -08:00
Aceeri d6a53cf5d3 Corrections to sharing data 2015-11-09 02:49:50 -08:00
Aceeri 78eb4a5990 Minimum/maximum dimensions for windows in win32 api 2015-11-09 01:42:54 -08:00
mitchmindtree b02265fa11 Update to libc 0.2, remove unnecessary gl_common crate 2015-11-09 08:47:12 +01:00
Pierre Krieger 37262fb228 Remove public exports of gl_common and libc 2015-11-09 08:46:52 +01:00
mitchmindtree 228732877a Lock objc version, add casts to appease libc pointer type conflict. Closes #654 2015-11-08 21:13:25 +11:00
Daggerbot 7e4f795a53 Change some uses of c_void to avoid libc version conflicts. 2015-11-04 08:21:42 -08:00
Adam Badawy c068a770f0 Update x11-dl 2015-10-27 03:22:13 -04:00
Adam Badawy 10f5528c14 Fix using garbage memory 2015-10-27 03:10:57 -04:00
Adam Badawy d1a5730374 Remove deprecated comment 2015-10-27 03:09:52 -04:00
Adam Badawy f9929fab2f Use mode when switching to fullscreen 2015-10-27 03:07:37 -04:00
Adam Badawy 4f8095816e Allow any mode larger than requested dimensions
We were previously allowing only fullscreen modes which were exactly as
tall as the requested dimensions, perhaps erroneously.
2015-10-27 00:33:48 -04:00
Adam Badawy 23a5104098 Comment fullscreen XClientMessage code 2015-10-26 05:33:01 -04:00
Adam Badawy 47df0e9eaa Fix misbehaving fullscreen window 2015-10-26 04:06:40 -04:00
Adam Badawy ed8dfa9a52 Fix issue #509
Focusing the newly created window seems to grab the keyboard.
2015-10-25 21:56:49 -04:00
Adam Badawy 918dc67992 Fix issue #582
I switched `vsyncstart` and `vdisplay` again, as per the discussion on
issue #582.
2015-10-25 21:52:20 -04:00
tomaka 7f2c161704 Merge pull request #644 from mbrubeck/mouse-emulated
Change X11 events based on `multitouch` option
2015-10-23 17:25:04 +02:00
Matt Brubeck 8c0dfe19c2 Change X11 events based on multitouch option
* If `multitouch` is enabled, touch input generates touch events.
* If `multitouch` is disabled, touch input generates emulated mouse events.
2015-10-23 08:01:03 -07:00
Matt Brubeck 93bec2ffca Fix typo in WindowExt::get_xlib_display 2015-10-22 13:59:52 -07:00
wartman4404 f83e783b26 ensure server has GLX_ARB_create_context extension 2015-10-18 18:53:50 -05:00
Pierre Krieger 0c1f15f842 Fix vsync being enabled even when disabled 2015-10-04 18:36:05 +02:00
Pierre Krieger 7a625ef3d8 Remove the window feature entirely 2015-10-03 10:33:37 +02:00
tomaka c8fd077e17 Merge pull request #617 from tomaka/platform-specific
Add an `os` module containing platform-specific traits
2015-10-03 10:11:11 +02:00
Pierre Krieger 8c6a27d426 Add an os module containing platform-specific traits 2015-10-03 09:53:37 +02:00
Andrey Lesnikov b01897bfc7 android: Disabled multitouch by default 2015-10-01 23:05:05 +03:00
Josh Matthews 77b3743117 Warning fixes for OS X. 2015-09-28 12:19:36 -04:00
Pierre Krieger 86fa1b58e5 Rename MonitorID -> MonitorId 2015-09-24 09:11:59 +02:00
tomaka 7ab495b698 Merge pull request #614 from tomaka/windowproxy-sync
Fix WindowProxy not being Send and Sync on win32
2015-09-24 08:37:29 +02:00
tomaka 28029c8038 Merge pull request #613 from mvdnes/windows_set_size
Fix Window.set_inner_size() on win32
2015-09-24 08:29:12 +02:00
Pierre Krieger 9a459f94ff Fix WindowProxy not being Send and Sync on win32 2015-09-24 08:28:09 +02:00
tomaka a448043b16 Merge pull request #606 from paulrouget/NSFullSizeContentViewWindowMask
Use NSFullSizeContentViewWindowMask for decoration-less windows
2015-09-23 13:29:28 +02:00
Pierre Krieger aa9cb99929 Add #[inline] attributes 2015-09-23 13:11:47 +02:00
Mathijs van de Nes 4046a892ee Fix Window.set_inner_size() on Win32
Previously, the function would actually set the outer size of the window
instead of the inner size.
We fix this by first letting windows calculate the outer size based upon
the specified inner size.
2015-09-23 13:11:00 +02:00
tomaka 3820d307a3 Merge pull request #611 from vvuk/win32
fix up win32 support
2015-09-23 13:09:36 +02:00
Paul Rouget 67a31c6221 Use NSFullSizeContentViewWindowMask for decoration-less windows 2015-09-23 10:53:35 +02:00
Vladimir Vukicevic 6ece84f5c0 win32: remove unimplemented!() from platform_display() 2015-09-22 14:23:56 -04:00
Vladimir Vukicevic 059821a99c win32: implement wakeup_event_loop 2015-09-22 14:23:53 -04:00
tomaka 0f9693bde4 Merge pull request #608 from tomaka/pub-attribs
Make some fields in WindowBuilder and HeadlessRendererBuilder public
2015-09-22 20:22:41 +02:00
tomaka 34d2c7517d Merge pull request #610 from mbrubeck/android-touch
Support multi-touch events on Android
2015-09-22 19:55:43 +02:00
Matt Brubeck 1827910927 Support multi-touch events on Android
Depends on tomaka/android-rs-glue#64.
2015-09-22 09:25:49 -07:00
Tim Neumann 9f6806ba2e make glutin compile on all iOS targets 2015-09-21 18:57:35 +02:00
Pierre Krieger e466cfb2d6 Make some fields in WindowBuilder and HeadlessRendererBuilder public 2015-09-21 15:42:24 +02:00
tomaka 1b28e32e31 Merge pull request #587 from neivv/win32-alt
Handle events for Alt-<Key> and F10 presses in windows
2015-09-21 14:43:10 +02:00
Pierre Krieger 62bafe2130 Remove BuilderAttribs 2015-09-21 14:03:05 +02:00
Pierre Krieger a8d3342468 Switch OS/X to new design 2015-09-21 12:47:14 +02:00
Pierre Krieger 5182023fd6 Switch X11 and wayland to the new design 2015-09-21 12:04:33 +02:00
Pierre Krieger b5d0a3eb67 Convert GLX to the new design 2015-09-21 12:03:59 +02:00
Pierre Krieger 8f3ec7998d Finish converting windows to the new design 2015-09-21 12:03:58 +02:00
Pierre Krieger 932e565391 Remove extract_non_static 2015-09-21 12:03:58 +02:00
Pierre Krieger 1b836f6040 Switch WGL and part of win32 to the new system 2015-09-21 12:03:57 +02:00
Pierre Krieger 3054e2ee02 Switch EGL to use only pf_reqs and opengl 2015-09-21 12:03:57 +02:00
Pierre Krieger 3ff08d747c Add GlAttributes::map_sharing 2015-09-21 12:03:56 +02:00
Pierre Krieger 58b3bfb4fb Extract PixelFormatRequirements from BuilderAttribs 2015-09-21 12:03:56 +02:00
Pierre Krieger 48fe9b2644 Extract WindowAttributes from the BuilderAttribs 2015-09-21 12:03:55 +02:00
Pierre Krieger c244f8c033 Extract GlAttributes from BuilderAttribs 2015-09-21 12:03:55 +02:00
Pierre Krieger 82bb047fda Report the error from x11-rs when failing to open shared libraries 2015-09-20 08:48:53 +02:00
Pierre Krieger b9a4f5fbe9 Err when a X connection cannot be created instead of panicking 2015-09-20 08:42:32 +02:00
Paul Rouget da51a60595 add resizable mask to decoration-less windows 2015-09-17 08:57:43 +02:00
Felix Kaaman b029233e54 Add focus and defocus events on cocoa. Fixes #595 2015-09-10 19:36:53 +02:00
tomaka 8092fd6409 Merge pull request #590 from tomaka/glx-non-conformant
No longer filter out non-conformant formats
2015-09-04 20:55:59 +02:00
tomaka 08cb668037 Merge pull request #580 from mbrubeck/scroll-lines
Fix smooth-scrolling increment on some X11 devices
2015-09-01 07:29:59 +02:00
Pierre Krieger cb749ad904 No longer filter out non-conformant formats 2015-08-30 18:19:31 +02:00
Michael Neumann b707959c2c Make it work on DragonFly/FreeBSD
Tested on DragonFly BSD. Should work similarily on FreeBSD.
2015-08-30 13:52:09 +02:00
Markus Heikkinen 84d5db91af Handle events for Alt-<Key> and F10 presses in windows 2015-08-29 17:00:05 +03:00
Mariusz Ceier 5392ba0db0 Correct event type
KeymapNotify should not be handled by calling XRefreshKeyboardMapping.

XRefreshKeyboardMapping expects XMappingEvent.
2015-08-28 11:23:44 +02:00
Glenn Watson 7d43ca32bb Fix android build 2015-08-28 08:58:17 +10:00
Matt Brubeck 576720fd97 Read scroll axis info from all devices
When multiple scrolling devices are attached, XIAllMasterDevices does not
include the scroll axes for all hardware devices.
2015-08-27 06:52:32 -07:00
Dylan Ede 3427308c60 Modified Windows key event handling to support modifier keys. 2015-08-26 14:37:05 +01:00
Matt Brubeck c310f7bb80 Take XIScrollClassInfo::increment into account
From the "Smooth Scrolling" section of [XI2Proto.txt][1]:

> One unit of scrolling in either direction is considered to be equivalent to
> one button event, e.g. for a unit size of 1.0, -2.0 on an valuator type
> Vertical sends two button press/release events for button 4. Likewise, a
> button press event for button 7 generates an event on the Horizontal
> valuator with a value of +1.0. The server may accumulate deltas of less than
> one unit of scrolling.

From [What's new in XI 2.1 - smooth scrolling][2]:

> The increment defines what delta the driver considers to be one scroll
> event. For an increment of +5, each delta of 5 should be regarded as one
> scroll unit down. For an increment of -3, each delta of 3 should be regarded
> as one scroll unit up (i.e. inverted).

[1]: http://www.x.org/releases/X11R7.7/doc/inputproto/XI2proto.txt
[2]: http://who-t.blogspot.com/2011/09/whats-new-in-xi-21-smooth-scrolling.html

This fixes scrolling with my Microsoft mouse in X11 on Debian 8.1.
2015-08-24 15:44:02 -07:00
Pierre Krieger e28a0bdb97 Do not crash in case of buggy EGL implementations that are missing eglGetPlatformDisplay 2015-08-24 14:57:13 +02:00
Victor Berger f3e67128db wayland: Resized event 2015-08-21 18:48:08 +02:00
Victor Berger bfc709fdd1 wayland: fix events Moved -> MouseMoved 2015-08-21 18:47:54 +02:00
Peter Atashian 9d387b4f98 Cleanup unused import stuff
Also support i686-pc-windows-msvc

Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-08-21 11:49:10 -04:00
Paul Rouget cb78383da0 Do not call nextEventMatchingMask twice
wait_event used to call nextEventMatchingMask twice. Once with untilDate:distantFuture,
and dequeue:NO to wait until the next event but witout consuming it, and again with
untilDate:distantPast and dequeue:YES to retrieve the event (via poll_events).

For some reason, with osx 10.11, calling nextEventMatchingMask with dequeue:NO never
returns if the user scrolls, freezing the app.

So we now call nextEventMatchingMask only once, with dequeue:YES.
2015-08-20 10:53:44 +02:00
Matt Brubeck 93ce9c24f5 Handle touch events on X11 2015-08-18 15:17:25 -07:00
Colin Sherratt 72fc0dc3a3 Enable grave key on X11 2015-08-17 23:28:34 -04:00
Victor Berger f7f52c21a0 wayland: properly handle 'decorated' option. 2015-08-16 16:21:26 +02:00
Victor Berger 1cea6a65a4 Update wayland backend to draw decorations.
Integrate with wayland-window crate to draw decorations
allowing resize & move of the window.

Leaving the wayland backend as disabled until full usability
is ensured.
2015-08-16 14:12:21 +02:00
Zetok Zalbavar 6c73209746
Prefer GLX over EGL
fixes #314 for me.

I've "tested" change by running examples (which prior to change simply
crashed), but since I did not run those examples successfuly ever before,
I don't know whether they worked as intended.
2015-08-14 15:08:44 +01:00
tomaka 5c60456e16 Merge pull request #567 from paulrouget/opengl-profile-selection-fix
Fix OpenGL profile selection
2015-08-13 08:14:44 +02:00
Paul Rouget 26139f8c5c Fix OpenGL profile selection 2015-08-11 04:41:59 +02:00
Glenn Watson 86408438fc Fix a rare crash in some X11 implementations (details below). 2015-08-11 04:16:01 +02:00