Joe Wilm
c92ac695af
Fix x11 poll_events to drain queue
...
It was only processing a single event per call. The docs say
> Fetches all the events that are pending, calls the callback function
> for each of them, and returns.
which suggests that was incorrect.
2017-05-09 09:20:35 -07:00
tomaka
8f9f2352cf
Merge pull request #173 from jwilm/consistent-event-order-key-char
...
Make keyboard input event order consistent
2017-05-08 11:15:09 +02:00
Joe Wilm
0b75a6b60c
Make keyboard input event order consistent
...
All platforms should now receive events in the following order:
1. KeyboardInput(ElementState::Pressed, ..)
2. ReceivedCharacter
3. KeyboardInput(ElementState::Released, ..)
cc https://github.com/tomaka/glutin/issues/878
2017-05-07 21:16:48 -07:00
tomaka
15aafc2908
Merge pull request #164 from Ralith/rich-input
...
Richer input events
2017-05-07 08:35:03 +02:00
tomaka
689d0521f5
Merge pull request #168 from jonhoo/set_class_before_map
...
Set WM_CLASS and WM_NAME before mapping window
2017-05-05 07:40:41 +02:00
Jon Gjengset
4087627b12
Set WM_CLASS and WM_NAME before mapping window
...
ICCCM 4.1.2.5 (https://tronche.com/gui/x/icccm/sec-4.html#WM_CLASS )
states that:
> This property must be present when the window leaves the Withdrawn
> state and may be changed only while the window is in the Withdrawn
> state.
Previously, we would first map the window, and then set these
properties, causing sadness for window managers (#167 ,
tomaka/glutin#879 ). This patch changes that by setting the class and
name attributes immediately after the window is created, and before it
is mapped.
Fixes #167 .
2017-05-04 17:37:24 -04:00
tomaka
6c99546035
Merge pull request #161 from torkleyy/repr
...
Set #[repr] of VirtualKeyCode to u32
2017-04-26 08:52:24 +02:00
torkleyy
c4cdb9aa5c
Set repr of VirtualKeyCode to u32
...
This allows to have an array of bools for the key states.
2017-04-26 07:53:20 +02:00
Benjamin Saunders
22bc119cd7
Richer input events
...
This expands input events to represent sub-pixel mouse positions, devices responsible for generating events, and raw
device-oriented events. The X11 back end is refactored to make full use of the new expressiveness. Other backends have
had new functionality minimally stubbed out, save for the macos backend which already supports sub-pixel mouse
positions.
2017-04-23 01:08:15 -07:00
mitchmindtree
544ee13bf3
Merge pull request #160 from mitchmindtree/publish
...
Publish 0.6.3 with recent non-breaking macOS fixes
2017-03-25 15:39:32 +11:00
mitchmindtree
517bb3692b
Try and use regular rustup command for adding ios target
2017-03-25 15:32:44 +11:00
mitchmindtree
2179d49656
Try fix travis by switching install script to use rustup.rs
...
travis-ci/travis-build#993 recently switched rust builds to use
rustup.rs instead of rustup.sh.
2017-03-25 15:18:12 +11:00
mitchmindtree
9363ee20f3
Publish 0.6.3 with recent non-breaking macOS fixes
2017-03-25 14:51:58 +11:00
mitchmindtree
ef57b4bda0
Merge pull request #157 from mitchmindtree/macos_fixes
...
Several fixes for the macOS backend
2017-03-22 21:56:32 +11:00
mitchmindtree
cccc48b84d
[macos] Emit a resize event when Window changes screens
2017-03-19 20:30:54 +11:00
mitchmindtree
4656540417
Close NSWindow when Window
is dropped if not already closed.
...
Previously, if a `Window` was `Drop`ped while open, the window would
remain open until the user pressed the x button. This fixes the
behaviour so that the window is closed when dropped if it has not
already been closed.
2017-03-19 19:32:24 +11:00
mitchmindtree
27bd796c2a
[macos] Remove Window from EventsLoop's Window list on close and drop
...
Previously, a Window was only removed from the list when dropped.
2017-03-19 19:20:38 +11:00
mitchmindtree
41e7572147
[macos] Avoid panic when callback is None
.
...
This can happen when window is destroyed/created during a call to user
callback as this causes WindowDelegate method to be called.
Instead if the user callback is `None` store the event in
`pending_events`.
2017-03-19 19:09:20 +11:00
mitchmindtree
4b39f81621
Avoid leaking Windows by storing Weak pointers in EventsLoop
2017-03-19 18:19:24 +11:00
tomaka
c6968782b1
Merge pull request #156 from vberger/master
...
Readd pub import erroneously removed
2017-03-15 10:29:46 +01:00
Victor Berger
08254e68fb
Readd pub import erroneously removed
2017-03-15 10:11:43 +01:00
tomaka
65034f2edf
Merge pull request #155 from vberger/master
...
wayland: Update to wayland 0.8.6
2017-03-13 21:06:35 +01:00
Victor Berger
50f38e2f76
wayland: Update to wayland 0.8.6
2017-03-13 19:18:49 +01:00
tomaka
2e82cac69a
Merge pull request #154 from vberger/wayland_new_api
...
Port wayland to the new API
2017-03-11 09:04:09 +01:00
Victor Berger
d3356763dc
wayland: add some comments
2017-03-10 23:56:31 +01:00
Victor Berger
3ff9eb08e8
wayland: cleanup signal to prune dead windows
2017-03-10 23:40:31 +01:00
Victor Berger
17fde48ed7
wayland: move input logic to the event loop
2017-03-10 23:22:59 +01:00
tomaka
6850a2f76f
Merge pull request #153 from MortimerGoro/android_events
...
Implement android events and wake event loop
2017-03-06 15:03:34 +01:00
Imanol Fernandez
f961bdd668
Implement android events and wake event loop.
2017-03-06 14:39:42 +01:00
tomaka
aa9678454d
Merge pull request #152 from mystal/fix_decorations
...
Support removing window decorations in x11 and macOS
2017-03-06 10:47:08 +01:00
Gabriel Martinez
deeda59689
Clean up macOS window style logic
...
* Remove NSTitledWindowMask for windows with no decorations. This
makes sure that they do not have a title bar.
* Transparency is not be taken into account as we could have a window
with a titlebar or without that is transparent.
2017-03-05 14:50:39 -08:00
Gabriel Martinez
0b530b026d
Support disabling window decorations in X11
...
This uses the incredibly old and ugly _MOTIF_WM_HINTS property:
http://stackoverflow.com/questions/5134297/xlib-how-does-this-removing-window-decoration-work
Using _NET_WM_WINDOW_TYPE from the Extended Window Manager Hints spec
(https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html )
would be preferred, but it requires knowing up front what the user
intends their window to be. _MOTIF_WM_HINTS should work for now.
2017-03-05 09:42:24 -08:00
Victor Berger
7336cacf07
wayland: mugrate to new API
2017-03-04 14:04:01 +01:00
Victor Berger
9aaa788434
linux: Remove dead code from wayland & fix some trivial warnings.
2017-03-04 11:26:12 +01:00
tomaka
503df767dc
Merge pull request #151 from vberger/wayland_new_api
...
linux: Add missing Window2::id() impl
2017-03-04 11:05:51 +01:00
Victor Berger
4e75c1e668
linux: Add missing Window2::id() impl
2017-03-04 10:48:44 +01:00
tomaka
6bdc0fd824
Merge pull request #150 from vberger/wayland_new_api
...
Re-organize platform/linux to prepare for API transition
2017-03-04 09:22:13 +01:00
Victor Berger
e6e96ab6f4
tests: don't instanciate an event loop to check EventsLoop: Send+Sync
2017-03-04 09:09:09 +01:00
Victor Berger
624a422f20
linux: move api transition boilerplate to x11/wayland submodules
2017-03-04 09:09:09 +01:00
Victor Berger
4acf437221
Move api module into platform::linux
2017-03-04 09:09:09 +01:00
tomaka
d0ae5bda16
Merge pull request #148 from vberger/master
...
wayland: implement modifiers
2017-03-04 08:47:59 +01:00
Victor Berger
64c8f66e72
wayland: implement modifiers
2017-03-03 22:28:02 +01:00
tomaka
d1e434b131
Merge pull request #149 from y-fujii/x11_hidpi_factor
...
implement Window::hidpi_factor() for X11.
2017-03-03 14:33:16 +01:00
Yasuhiro Fujii
d72a345878
implement Window::hidpi_factor() for X11.
2017-03-03 21:25:26 +09:00
tomaka
4c6e4e827a
Merge pull request #112 from rigtorp/keyboard-mods
...
Add keyboard modifiers to input event
2017-03-02 20:37:33 +01:00
tomaka
8d79748cfb
Merge pull request #147 from sotaroikeda/upcgl
...
Update cgl to v0.2
2017-03-02 07:44:32 +01:00
Sotaro Ikeda
3b1df2c585
Update cgl to v0.2
2017-03-02 14:48:03 +09:00
Erik Rigtorp
290040dbd8
Implement KeyboardEvent ModifiersState for macOS
2017-02-27 13:38:47 -06:00
Erik Rigtorp
5d41067a05
Implement KeyboardEvent ModifiersState for win32
2017-02-27 13:36:15 -06:00
Erik Rigtorp
a2c6fb720c
Implement KeyboardEvent ModifiersState for X11
2017-02-27 13:36:15 -06:00