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
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
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
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
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
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
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
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
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
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
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
Pierre Krieger
587dedaa9e
Correctly handle eglGetDisplay
2015-08-07 16:22:31 +02:00
Pierre Krieger
bee3e0e0f0
Get the list of extensions only once
2015-08-07 15:33:33 +02:00
tomaka
be0440666b
Merge pull request #553 from tomaka/egl-default
...
Use EGL by default with X11
2015-08-02 14:00:50 +02:00
Pierre Krieger
be9c8c0186
Try libEGL.so.1 before libEGL.so
2015-07-28 20:48:12 +02:00
tomaka
829d7a6afc
Merge pull request #551 from tomaka/android-headless
...
Implement headless contexts on android
2015-07-28 19:59:49 +02:00
Pierre Krieger
743cc317d7
Use EGL by default with X11
2015-07-28 19:54:17 +02:00
Pierre Krieger
1f6c4d65a6
Implement headless contexts on android
2015-07-27 10:18:45 +02:00
Pierre Krieger
c9b1b91b8c
Load the EGL library in platform/windows
2015-07-27 09:52:51 +02:00
tomaka
991b15df87
Merge pull request #548 from tomaka/egl-pbuffer
...
Add support for creating a pbuffer with EGL
2015-07-27 09:21:13 +02:00
Pierre Krieger
653fbde987
Add support for creating a pbuffer with EGL
2015-07-27 08:33:48 +02:00
Pierre Krieger
6f7a2fa1e7
Indicate the exact error when eglMakeCurrent or eglSwapBuffers fail
2015-07-26 16:56:13 +02:00
Pierre Krieger
a97cbd1729
Attempt to fix issues with sRGB
2015-07-25 15:11:29 +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
4b17b7fdbb
Filter invalid FBConfigs
2015-07-22 15:15:35 +02:00
tomaka
0e3ce75969
Merge pull request #536 from tomaka/fix-using-freed-memory
...
Fix calling XFree before reading from memory
2015-07-22 09:39:04 +02:00
Pierre Krieger
65d56e5521
Fix calling XFree before reading from memory
2015-07-22 08:39:31 +02:00
Robert Knight
602a737440
Only listen for mouse events from master devices
...
XInput2 has a concept of master and slave devices,
where a slave device is the actual physical device,
attached to a master device representing the cursor or keyboard
focus.
See http://who-t.blogspot.co.uk/2009/05/xi2-recipes-part-1.html
Mouse events were being received from both the master and slave
devices, but we are only interested in events from the master device.
Fixes #533
2015-07-22 06:44:51 +01:00
Pierre Krieger
57a1d546e7
Add CreationError::NoAvailablePixelFormat
2015-07-20 19:42:32 +02:00
Pierre Krieger
43dabf131a
Add CreationError::OpenGlVersionNotSupported
2015-07-20 19:38:57 +02:00
Pierre Krieger
ba5adfa1e1
Add CreationError::RobustnessNotSupported
2015-07-20 19:34:34 +02:00
tomaka
8c364d5cfc
Merge pull request #530 from tomaka/glx-enumerate
...
Enumerate the FBConfigs instead of calling glxChoose
2015-07-19 21:41:26 +02:00
tomaka
8aa6fea832
Merge pull request #529 from tomaka/fix-win32
...
Fix the windows build
2015-07-19 16:13:24 +02:00
Pierre Krieger
3914d3f801
Enumerate the FBConfigs instead of calling glxChoose
2015-07-19 16:11:45 +02:00
tomaka
d838ff7d44
Merge pull request #527 from tomaka/split-glx
...
Correct window creation on X11
2015-07-19 15:04:51 +02:00
Pierre Krieger
b573a161a9
Fix the windows build
2015-07-19 15:03:48 +02:00
Pierre Krieger
9299de0256
Fix EGL context creation
2015-07-19 14:32:41 +02: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
tomaka
7d1d035d9a
Merge pull request #510 from robertknight/x11_xinput2
...
Use XInput2 for event handling
2015-07-18 19:03:13 +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
tomaka
a15d42069e
Merge pull request #519 from tomaka/win32-err
...
Better win32 error messages
2015-07-09 11:06:51 +02:00
tomaka
bb96e8a58a
Merge pull request #511 from thelink2012/drop-win32
...
[0.3] DroppedFile event for Win32
2015-07-09 11:06:38 +02:00
Pierre Krieger
bbd31608e8
Better win32 error messages
2015-07-09 08:55:29 +02:00
tomaka
836e53e55a
Merge pull request #477 from rozaliev/feature/ios
...
[WIP] ios support
2015-06-29 09:29:46 +02: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