Owen Jacobson
7d6b4c3fe5
Naive implementation of resize events for OS X.
...
These events are batched, and delievered en masse at the end of the resize. This isn't a great developer experience (and it should probably be called out in the docs), but it makes it possible for winit client applications to detect and respond to resizes without special-casing Mac OS targets.
See #39 . This is only a partial fix, and does not provide on-the-fly resize events.
2017-01-24 00:13:45 -05:00
mitchmindtree
95b7d5326e
Fix patterns_in_fns_without_body warning on macos
2017-01-22 17:55:30 +11:00
mitchmindtree
9b15440b62
Fix non_upper_case_globals warnings on macos
2017-01-22 17:54:45 +11:00
tomaka
41ac24b107
Merge pull request #113 from samdphillips/mac-middle-mouse-button
...
Add middle mouse button events for MacOS.
2017-01-19 20:45:51 +01:00
Jeff Muizelaar
3b1fdc0f55
macos: Map our user generated event to Event::Awakened
...
This fixes propagation of Event::Awakend from wakeup_event_loop() when
using poll_event() on macOS.
Currently wait_event() translates all unknown events into
Event::Awakened so doesn't need the explicit translation.
2017-01-19 14:17:55 -05:00
Sam Phillips
55e52d6071
Add middle mouse events for MacOS.
2017-01-17 19:47:36 -08:00
rerion
941c8d3344
Add TODO & bump version
2017-01-07 15:00:15 +01:00
rerion
f5812018ca
Add get_x11_xconnection function
2017-01-07 14:34:38 +01:00
rerion
d4b8fd9f5a
Add methods allowing creation of X11 window with specified visual and screen
2017-01-06 22:46:41 +01:00
Christian Howe
ba94b8edf8
Fix Travis iOS build
2016-12-15 21:34:37 -06:00
Christian Howe
5146bce88e
Fix iOS build and add to Travis CI
2016-12-13 07:29:17 -06:00
tomaka
3b93c7c664
Merge pull request #95 from frewsxcv/transparent
...
Implement window transparency on macOS.
2016-12-04 07:59:51 +01:00
Corey Farwell
cb0811faf3
Implement window transparency on macOS.
...
Fixes https://github.com/tomaka/winit/issues/57 .
2016-11-30 14:36:51 -05:00
k-brac
7f2ee9a09a
remove useless pub
2016-11-29 14:02:19 +01:00
k-brac
3e2154a922
child window created using a winapi::HWND instead of a WindowProxy
2016-11-29 13:02:42 +01:00
k-brac
2b25bf1480
child window creation improvement
2016-11-28 13:50:07 +01:00
k-brac
5a09e8ba21
first try to allow child window on windows
2016-11-25 17:05:39 +01:00
Corey Farwell
57d1e162ee
Update min/max window constraints to support MacOS 10.10.
2016-11-23 10:50:12 -05:00
Corey Farwell
e3fce3d5ec
Implement min/max window dimension constraints for MacOS.
...
Fixes https://github.com/tomaka/winit/issues/80 .
2016-11-23 09:31:41 -05:00
mitchmindtree
53065bda40
Move resize_callback field from WindowBuilder into WindowAttributes struct
2016-11-12 02:55:21 +11:00
mitchmindtree
eb18b3d8b6
Add a WindowBuilder::with_window_resize_callback
method.
...
This allows for passing the window_resize_callback fn during the window
building stage. More importantly, this allows setting the callback
without the need for mutable access to the Window, making it possible
to set the callback in the downstream glium crate.
This may solve tomaka/glium#1232 for most folk.
2016-11-11 22:08:46 +11:00
Pierre Krieger
2c58e85584
Some documentation improvements
2016-11-06 09:51:20 +01:00
Pierre Krieger
712b27086f
Fix win32 panicking all the time and make events work
2016-11-05 13:44:23 +01:00
Victor Berger
f371621dd9
linux: remove outdate comment
2016-11-03 22:48:58 +01:00
Andy Barron
db45e58390
Add MouseEntered/MouseLeft for Windows, X11, Wayland, & Cocoa
2016-11-03 01:31:16 -07:00
Victor Berger
ce6d2496d3
wayland: sync drawn border size on window creation
2016-11-02 20:07:49 +01:00
Pierre Krieger
cf7c691bd6
Remove emscripten implementation
2016-11-01 16:16:59 +01:00
tomaka
9e404f2fe6
Merge pull request #28 from tomaka/win32-cleanups
...
Cleanups in the win32 code
2016-11-01 16:10:14 +01:00
Pierre Krieger
ef61a46182
Removed pub fields when not needed
2016-10-31 17:30:19 +01:00
Pierre Krieger
158543f336
Remove obsolete comment
2016-10-31 17:29:12 +01:00
Pierre Krieger
aace1c0373
Remove dependency on libc when possible
2016-10-31 17:26:26 +01:00
Pierre Krieger
751b0a7ed7
Move the win32 implementation to platform/windows
2016-10-31 17:23:00 +01:00
Pierre Krieger
188ecae101
Move some implementations around
2016-10-31 17:13:11 +01:00
Andrey Lesnikov
f5daac771e
Prepared winit for glutin porting
2016-10-20 11:06:57 +03:00
Victor Berger
76f5613496
wayland: properly fetch new events with Window::poll_events()
2016-10-16 23:29:29 +02:00
Victor Berger
0663269482
wayland: Implement wakeup_event_loop()
2016-10-16 22:53:53 +02:00
Victor Berger
db6b4606a1
wayland: Support for wheel scrolling
2016-10-16 22:35:18 +02:00
Victor Berger
44996acf94
wayland: expose internals as side unsable methods
2016-10-10 08:01:58 +02:00
Victor Berger
42d73a1488
wayland: fix event dispatch, avoid double wait
2016-10-09 18:26:46 +02:00
Victor Berger
2d025a4a35
wayland: gracefully handle missing libxkbcommon
2016-10-09 18:26:24 +02:00
Victor Berger
c6f8ed2f81
wayland: handle Focused
event
2016-10-09 16:33:29 +02:00
Victor Berger
6483e7f408
wayland: Some Window methods
2016-10-09 16:19:06 +02:00
Victor Berger
a5ba9983c9
wayland: basic mouse & keyboard support
2016-10-09 16:08:10 +02:00
Victor Berger
34c00aa153
wayland: window creation & resizing
2016-10-09 16:08:10 +02:00
Victor Berger
a505eddf29
wayland: bases of backend and output handling
2016-10-09 16:08:10 +02:00
Victor Berger
c991172a28
wayland: remove old code for new backend
2016-10-09 16:08:10 +02:00
Pierre Krieger
fe77a55a67
Fix WindowExt implemented on the wrong Window
2016-10-08 09:18:00 +02:00
Pierre Krieger
d5b88f1d5f
Add get_nsview to WindowExt for MacOS
2016-10-06 20:41:15 +02:00
Andrey Lesnikov
2def6d5fff
Fixed macos
2016-09-19 21:05:48 +03:00
Andrey Lesnikov
7f6ae8910e
Merge https://github.com/tomaka/glutin
...
Conflicts:
.travis.yml
Cargo.toml
examples/fullscreen.rs
src/api/android/mod.rs
src/api/cocoa/headless.rs
src/api/cocoa/helpers.rs
src/api/cocoa/mod.rs
src/api/glx/mod.rs
src/api/osmesa/mod.rs
src/api/win32/callback.rs
src/headless.rs
src/lib.rs
src/platform/linux/mod.rs
src/window.rs
2016-09-19 19:53:28 +03:00
tomaka
614276eb0b
Merge pull request #12 from Osspial/master
...
Fix win32 bug where window resize cursors would not show
2016-09-07 07:13:19 +02:00
Glenn Watson
1eb2052bcf
Add support to Linux headless implementation for specifying OpenGL version.
...
This allows creation of GL3+ headless OSMesa contexts on Linux.
2016-08-22 09:16:47 +10:00
Victor Koenders
5ce48523cd
Added a couple more PartialEq's
2016-08-17 20:42:45 +02:00
Nicolas Koch
32d01b288e
Add support for xcb
...
Due to XCB and Xlib compability, we can take a shortcut and use X11's
underlying xcb_connection. This way, a complete XCB backend implementation can
be avoided.
2016-07-31 00:00:43 +02:00
Emilio Cobos Álvarez
952ca7cfed
x11: handle X11's multi-key, a.k.a compose key.
2016-07-04 16:40:47 -07:00
mraof
f6ead48378
owner_events is now true when grabbing the pointer
2016-06-29 23:28:03 -04:00
mitchmindtree
8076255ba8
Make sure the window does not set itself to autorelease upon closing.
2016-06-26 11:44:27 +10:00
mitchmindtree
cbb734b5a1
Remove unnecessary global imports in favour of explicitly importing traits and using namespacing for constants, types and functions.
2016-06-22 15:50:34 +10:00
tomaka
0c4cf714a1
Merge pull request #790 from mitchmindtree/remove_unused_imports
...
Addresses unused import and `non_upper_case_globals` warnings emitted on OS X
2016-06-22 07:43:55 +02:00
tomaka
572af951e9
Merge pull request #791 from mitchmindtree/remove_unused_private_fields
...
Remove unused private fields from cocoa HeadlessContext struct.
2016-06-22 07:43:17 +02:00
mitchmindtree
9a6b6b3f35
Remove imports of enum variants in favour of using the type name paths.
2016-06-22 13:32:36 +10:00
mitchmindtree
c2537d81e8
Remove unused private fields from cocoa HeadlessContext struct.
2016-06-22 12:45:42 +10:00
mitchmindtree
561349669a
Addresses several warnings emitted on OS X by removing unused imports and allowing non_upper_case_globals in cocoa event conversion function.
2016-06-22 12:40:48 +10:00
Andrey Lesnikov
7a8429e499
android: Fixed Window::get_pixel_format
2016-06-19 11:24:26 +03:00
tomaka
11faacefd7
Merge pull request #772 from ozkriff/master
...
Update to android_glue 0.2
2016-05-25 21:22:13 +02:00
Jan Segre
e0f36b80c9
Make WindowBuilder
and HeadlessRendererBuilder
derive Clone
.
2016-05-23 03:17:31 -03:00
Victor Berger
c49c6bcd6e
wayland: WindowExt implementations.
2016-05-08 09:28:54 +02:00
Ivan Ukhov
54f442ea06
Generalize WindowBuilder::with_title
2016-05-08 09:28:42 +02:00
Victor Berger
14323656b6
wayland: Remove EGL-dependent code.
...
This removes all EGL-specific code from the wayland backend.
Notable unresolved question: due to wayland design, the resizing
methods will only get/set the size of the drawn borders, not of the
actual content drawn. This latter size cannot be controlled by winit.
2016-05-08 09:11:15 +02:00
Osspial
b2cf70b342
Fixed some warnings when building on Windows
2016-05-07 21:05:45 -04:00
Osspial
163563073f
Fixed win32 bug where resizing window wouldn't show resize cursors
2016-05-07 21:00:50 -04:00
Andrey Lesnikov
18f846403b
Updated to android_glue 0.2
2016-05-06 00:01:40 +03:00
Corey Farwell
dc49156fe6
Allow OSX WindowBuilder to specify 'activation behavior'.
2016-04-29 10:43:30 -04:00
Pierre Krieger
764bf7ce4b
Update the android glue to 0.2 to use the new cargo-apk crate
2016-04-26 13:43:48 +02:00
Pierre Krieger
180aae3ada
Remove OpenGL from Android code
2016-04-19 19:31:36 +02:00
Emilio Cobos Álvarez
0918fe4d9c
x11: Refactor NoneCursor logic so it applies to CursorState::Hide too
2016-04-17 18:14:53 +02:00
Emilio Cobos Álvarez
51aeb27d7e
x11: Add cursor hiding
...
The created cursor could be cached and whatnot, but I'm not sure it
deserves the complexity.
2016-04-17 17:41:58 +02:00
est31
7fb6450d17
Improve X11 cursor symbols handling
...
1. Make it non failing. Before we tried to call XFreeCursor with a
cursor of 0 if we couldn't find a cursor. This has then caused a panic.
2. Introduce a system where multiple special cursors are tried
in order to work with different themes and desktop environments.
This way we get less often into the situation where we have to use a
default cursor.
3. Also set names for some cursors that previously only had a placeholder.
Fixes #765 .
Will fix https://github.com/servo/servo/issues/10475 as well.
2016-04-17 16:48:27 +02:00
Boris-Chengbiao Zhou
b9065f56ba
glx: Always set CONFIG_CAVEAT to DONT_CARE
2016-04-13 13:39:03 +02:00
Pierre Chevalier
c68c0d96b2
Fix pixel format support detection in glx. #748
...
* by accepting GLX_EXT_framebuffer_sRGB as a sRGB capable framebuffer
* the new behaviour matches the wgl codel
2016-04-13 01:25:23 +01:00
tomaka
d2343106bc
Merge pull request #755 from BonsaiDen/glx_multisampling_conformance
...
glx: Support non-conformant multisampling fbconfigs.
2016-04-06 16:34:05 +02:00
Ivo Wetzel
1b313df1ea
glx: Support non-conformant multisampling fbconfigs.
2016-03-30 08:40:32 +02:00
Ivo Wetzel
0e9fad5d23
Merge branch 'master' of github.com:tomaka/glutin into x11_window_size_constraints
2016-03-30 08:21:01 +02:00
Richard Lettich
117069ef90
Changed MouseMoved((i32, i32)) to MouseMoved(i32, i32), breaking change
2016-03-27 14:39:20 -04:00
Pierre Krieger
d216d6b052
Merge remote-tracking branch 'glutin/master' into merge-glutin
...
Conflicts:
Cargo.toml
build.rs
src/api/caca/mod.rs
src/api/cocoa/mod.rs
src/api/egl/ffi.rs
src/api/egl/mod.rs
src/api/glx/mod.rs
src/api/osmesa/mod.rs
2016-03-26 17:55:03 +01:00
Ivo Wetzel
1b7a3cd31f
Correctly apply initial size constraints for x11 windows.
2016-03-25 19:52:57 +01:00
Ivo Wetzel
7a5e47c446
Merge branch 'master' into x11_window_size_constraints
2016-03-25 02:54:40 +01:00
tomaka
8ae2df68e1
Merge pull request #744 from adamncasey/patch-1
...
Enable more Windows keys
2016-03-24 19:56:55 +01:00
tomaka
0cf1f01990
Merge pull request #746 from Thinkofname/hide-cursor-state-x11
...
Implement CursorState::Hide for x11
2016-03-24 07:37:58 +01:00
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