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
Pierre Krieger
8319043298
Fix wrong screen ID used on GLX
2016-01-05 18:06:30 +01:00
Pierre Krieger
82f5cd8272
Add better X error handling
2015-12-30 14:58:07 +01: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
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
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
Pierre Krieger
37262fb228
Remove public exports of gl_common and libc
2015-11-09 08:46:52 +01: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
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
Pierre Krieger
8c6a27d426
Add an os
module containing platform-specific traits
2015-10-03 09:53:37 +02:00
Pierre Krieger
86fa1b58e5
Rename MonitorID -> MonitorId
2015-09-24 09:11:59 +02:00
Pierre Krieger
aa9cb99929
Add #[inline] attributes
2015-09-23 13:11:47 +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
3054e2ee02
Switch EGL to use only pf_reqs and opengl
2015-09-21 12:03:57 +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
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
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
Glenn Watson
86408438fc
Fix a rare crash in some X11 implementations (details below).
2015-08-11 04:16:01 +02:00
Pierre Krieger
587dedaa9e
Correctly handle eglGetDisplay
2015-08-07 16:22:31 +02:00
Pierre Krieger
743cc317d7
Use EGL by default with X11
2015-07-28 19:54:17 +02:00
Daggerbot
6d6290df6e
Implement Window.set_inner_size on X11.
2015-07-23 22:50:25 +00:00
Akos Kiss
07c8154cb7
Add aarch64-unknown-linux-gnu support
...
* Adding dependencies
* Replacing `i8` with `c_char` ot `_` (since `c_char` can be
unsigned on some platforms, aarch64 is one of them)
2015-07-23 06:19:54 +00:00
Pierre Krieger
baf9b92d3f
Correct window creation on X11
2015-07-19 13:53:40 +02:00
tomaka
896640f2e0
Merge pull request #523 from tomaka/egl-split
...
Split creating an EGL context in two parts
2015-07-19 09:42:56 +02:00
Pierre Krieger
4eacfce59e
Split creating an EGL context in two parts
2015-07-18 18:43:23 +02:00
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
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
942e2a8e85
Fix fullscreen mode on X11
2015-06-26 17:13:22 +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
Pierre Krieger
39128dd7e1
Remove the is_closed function
2015-06-16 14:03:58 +02:00
Pierre Krieger
f6c26ec593
Handle errors from MakeCurrent and SwapBuffers
2015-06-16 10:44:44 +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