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
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