Commit graph

813 commits

Author SHA1 Message Date
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