Commit graph

1932 commits

Author SHA1 Message Date
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
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
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
0f9693bde4 Merge pull request #608 from tomaka/pub-attribs
Make some fields in WindowBuilder and HeadlessRendererBuilder public
2015-09-22 20:22:41 +02: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
Pierre Krieger
e466cfb2d6 Make some fields in WindowBuilder and HeadlessRendererBuilder public 2015-09-21 15:42:24 +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
932e565391 Remove extract_non_static 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
3ff08d747c Add GlAttributes::map_sharing 2015-09-21 12:03:56 +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
Sven Nilsen
ce13975f15 Removed dot in error message
Closes https://github.com/tomaka/glutin/issues/562
2015-08-05 12:10:38 +02:00
Braden Evans
3b76b01cce Typo in error message 2015-08-04 18:02:55 -07:00
Braden Evans
9bcfad9f75 Implement Display, Error for ContextError 2015-08-04 18:01:38 -07: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
f7cc80fbb1 Headless contexts now create an EGL pbuffer on win32 2015-07-27 10:13:00 +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
tomaka
37b4089015 Merge pull request #547 from tomaka/better-choice
Better choice for the pixel format
2015-07-25 16:12:33 +02:00
Pierre Krieger
2d4c382f0b Better choice for the pixel format 2015-07-25 15:57:03 +02:00
Pierre Krieger
a97cbd1729 Attempt to fix issues with sRGB 2015-07-25 15:11:29 +02:00
Sven Nilsen
79b8cf2cc8 Keep existing function for backward compatibility 2015-07-25 13:57:52 +02:00
Sven Nilsen
05175c1d80 Split get_inner_size
Closes https://github.com/tomaka/glutin/issues/542

* Splits `get_inner_size` into `get_inner_size_points` and
`get_inner_size_pixels`

This is a breaking change.
2015-07-25 13:40:33 +02:00
Sven Nilsen
5f98e510e4 Fixed docs for get_inner_size
Closes https://github.com/tomaka/glutin/issues/388
2015-07-25 12:01:20 +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
7fe828bed3 Add smaall TODO 2015-07-20 19:43:36 +02: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
Ty Overby
5af2d6e84c Update events.rs 2015-07-15 09:37:15 -07: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
d3fd00968e Merge pull request #513 from meh/key-consistency
Fix some inconsistencies in VirtualKeyCode variant names
2015-07-09 11:06:44 +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
meh
cd6577065f Fix some inconsistencies in VirtualKeyCode variant names 2015-07-02 09:52:44 +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
tomaka
717ea3d5ba Merge pull request #495 from tomaka/fix-multisampling
Makes sure that the pixel format has the same multisampling settings as the requirements
2015-06-23 16:46:49 +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
Pierre Krieger
3c889636ad Makes sure that the pf has the same multisampling settings as the requirements 2015-06-21 13:07:24 +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
Robert Knight
b2c2f300dc Correct MouseWheel doc comment.
Remove incomplete sentence and obsolete comment
about the meaning of the parameter.
2015-06-15 23:57:07 +01: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
5e626b7fdf Correct typo in MouseScrollDelta docs 2015-06-13 23:22:51 +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
Jack Moffitt
dbec1bf79d Switch to the official crates.
cocoa, core-foundation, and core-graphics are now on crates.io.
2015-06-03 23:06:54 -06: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
tomaka
129df983ce Merge pull request #452 from vberger/wayland
Implement Keyboard support for the wayland backend
2015-05-15 14:50:46 +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
1dc2cb27cf Do the linux backend choice only once at startup. 2015-05-13 17:31:34 +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
9a144a6869 Disable Wayland backend.
It is not ready for production yet.
2015-05-12 22:49:29 +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
Victor Berger
1e0dd2290e Firsts steps of a wayland backend. 2015-05-06 23:30:45 +02:00
Daggerbot
9f13395cac Removed import of x11::xlib::xkb, which has been absorbed by x11::xlib. 2015-05-06 13:03:34 +00:00
tomaka
119bd6393f Merge pull request #405 from tomaka/win32-wheel
[Breaking change] Fix mouse wheel value on win32 and return a f64 instead of i32 in the MouseWheel event
2015-05-06 16:56:24 +02:00
tomaka
2d97e0380f Merge pull request #429 from tomaka/remove-headless
[Breaking change] Remove the "headless" feature entirely
2015-05-06 16:56:20 +02:00
Felix Kaaman
87e8018cf3 Add cursor grabbing on cocoa 2015-05-05 21:46:33 +02:00
Pierre Krieger
430ae43528 Remove the "headless" feature entirely 2015-05-04 18:36:26 +02:00
Sven Nilsen
f68116fd76 Fix compiler errors on OSX
Closes https://github.com/tomaka/glutin/issues/425
2015-05-04 16:30:44 +02:00
Pierre Krieger
ace4808fac Remove the "headless" feature 2015-05-04 07:48:42 +02:00
Tomaka17
de7b1aa2eb Basic implementation of emscripten 2015-05-03 10:24:42 +02:00
Kevin Butler
81d0dc97e1 Fix further compilation of cocoa 2015-05-02 06:41:36 +01:00
Pierre Krieger
ad21d31b6b Fix compilation of cocoa 2015-05-02 06:56:47 +02:00
tomaka
4882a94080 Merge pull request #409 from kvark/core
GL core profile flag
2015-05-01 14:07:10 +02:00
Dzmitry Malyshau
171986c7e8 Introduced GlProfile enum 2015-05-01 07:32:48 -04:00
Pierre Krieger
0eaa8fd9eb Use the EGL API with Android 2015-05-01 09:44:35 +02:00
Dzmitry Malyshau
a42f1f5833 Implemented gl_core flag 2015-04-30 22:50:15 -04:00
datalus
899e021666 Adding SWP_NOMOVE flag to prevent the window from moving to 0,0 when setting the inner size on Windows 8+ 2015-04-30 18:52:48 -05:00
Felix Kaaman
c1ca5d1d87 Fix typo in cocoa module 2015-04-30 18:25:55 +02:00
Pierre Krieger
aa58f4149a Add a GlContext trait 2015-04-30 16:57:07 +02:00
Pierre Krieger
36de5a5e5a Fix PixelFormat for x11, egl and win32 2015-04-30 16:15:37 +02:00
Felix Kaaman
80c49856b2 Add pixelformat for cocoa and remove individual color components 2015-04-30 15:53:27 +02:00
Pierre Krieger
9531174813 Rework EGL 2015-04-30 08:31:33 +02:00
Pierre Krieger
d9f0d92584 Rework MouseWheel event and fix the values on win32 2015-04-29 14:35:09 +02:00
Pierre Krieger
9ed1a0ec19 Add a fallback on win32 if enumerate_arb_pixel_formats returns vec![] 2015-04-29 14:27:34 +02:00
Pierre Krieger
d4dcff582e Extract headless context from api/win32 to platform/windows 2015-04-29 10:19:59 +02:00
Felix Kaaman
f2bbb7d49c Add multisampling for cocoa, fixes #145 2015-04-27 15:46:31 +02:00
Pierre Krieger
7df4de2ce7 Use the shared_library crate instead of loading symbols manually 2015-04-27 14:31:26 +02:00
Pierre Krieger
d3cc9064f4 Add libcaca backend 2015-04-26 17:26:48 +02:00
tomaka
2532357253 Merge pull request #398 from fkaa/cocoa-window-pos
Fix window position getters and setters on cocoa
2015-04-26 08:05:35 +02:00
Pierre Krieger
0417f7003f Allow using EGL with X11 2015-04-25 22:28:43 +02:00
Pierre Krieger
5561e58646 Split GLX and X11 in "api" 2015-04-25 12:10:40 +02:00
Felix Kaaman
32e14a9a0a Fix window position getters and setters on cocoa 2015-04-24 19:40:43 +02:00
tomaka
7eeb96909c Merge pull request #384 from fkaa/keypress-sound
Fix alert sounds on keypress for cocoa
2015-04-24 19:27:49 +02:00
Felix Kaaman
44e954895f Fix alert sounds on keypress on cocoa
Passing on keypress event to parent would make it think the event was
not consumed and emit an alert sound.
2015-04-24 15:53:02 +02:00
Pierre Krieger
a72e06cf1b Reorganize the Linux implementation and split OSMesa and X11 2015-04-24 15:40:17 +02:00
Pierre Krieger
828500256c Add draft for the EGL API 2015-04-24 14:12:57 +02:00
Pierre Krieger
3ad7f9a584 Create reorganization 2015-04-24 09:51:23 +02:00
tomaka
c1af76550f Merge pull request #391 from glennw/upstream-i3-vis
Add Expose event handler which is needed on some window managers.
2015-04-24 07:50:38 +02:00
Glenn Watson
4a83ab6e02 Set WM_CLASS based on initial window title. 2015-04-24 07:57:47 +10:00
Glenn Watson
0670b1ec2e Add Expose event handler which is needed on some window managers. 2015-04-24 07:32:36 +10:00
Tim Cuthbertson
bc2472f32b Fix x11 XK_bracketright keycode 2015-04-22 11:06:47 +10:00
tomaka
f81a430c6d Merge pull request #383 from tomaka/remove-deprecated
Remove functions marked as #[deprecated]
2015-04-19 11:29:29 +02:00
Pierre Krieger
1ec168fed0 Remove functions marked as #[deprecated] 2015-04-19 09:52:03 +02:00
Andrey Lesnikov
65c2884dc3 android: Updated for Rust be9bd7c93 2015-04-05 2015-04-18 21:12:40 +03:00
Felix Kaaman
e294441049 Add mouse hiding and more cursors for Cocoa 2015-04-17 18:01:06 +02:00
Pierre Krieger
677e69fd3a Fix compilation on linux 2015-04-17 17:59:37 +02:00
tomaka
2d7a800aee Merge pull request #368 from Daggerbot/wip
Using `x11-rs` and `osmesa-rs`.
2015-04-17 17:42:46 +02:00
tomaka
079212961d Merge pull request #378 from bobakker/master
Fixes #358
2015-04-13 06:25:27 +02:00
Dzmitry Malyshau
ac23d3114c Implemented get_pixel_format for X11 2015-04-12 13:45:41 -04:00
tomaka
d5138d2708 Merge pull request #371 from tomaka/get-pixel-format
Adds get_pixel_format() to Window
2015-04-12 19:44:12 +02:00
Bo Bakker
53663d0ecc Fixes #358 2015-04-12 16:02:06 +02:00
Pierre Krieger
b81cd0cd2f Fix get_primary_monitor on win32 2015-04-12 09:32:25 +02:00
Daggerbot
c9194e922e Fixes for x11-rs/osmesa-sys conversion. 2015-04-11 18:17:49 -07:00
Pierre Krieger
1e94d85d35 Adds get_pixel_format() to Window 2015-04-11 09:06:08 +02:00
Daggerbot
2d20050b89 Using x11-rs and osmesa-rs. 2015-04-09 10:38:58 +00:00
Pierre Krieger
65f4809280 Add support for sRGB attribute and fix creation on windows 2015-04-08 09:44:19 +02:00
tomaka
41044c160a Merge pull request #364 from tomaka/x11-cursor-pos
Implement set_cursor_position() on X11
2015-04-08 09:03:36 +02:00
tomaka
3da91fbc92 Merge pull request #360 from SSheldon/delegate_refactor
Modify WindowDelegate to own its state
2015-04-07 21:58:55 +02:00
Pierre Krieger
5a31b2e438 Implement set_cursor_position() on X11 2015-04-07 21:54:53 +02:00
Pierre Krieger
80a9e2c316 Fix wait_events() not stopping when window is closed on X11 2015-04-06 16:47:39 +02:00
Steven Sheldon
b87193c674 Modify WindowDelegate to own its state. 2015-04-05 20:56:58 -07:00
Bo Bakker
1a33192187 Fix OS X window closing bug 2015-04-04 01:00:10 +02:00
Pierre Krieger
b99309bee2 Remove deprecated functions 2015-04-03 18:41:11 +02:00
tomaka
424cc5ea49 Merge pull request #347 from tomaka/win32-pixel-format-details
Fix missing parameter for pixel formats infos on win32
2015-04-03 13:54:20 +02:00
Steven Sheldon
a65a4fd15a Removed unstable clone_from method so OSX can compile. 2015-04-03 02:30:29 -07:00
Pierre Krieger
0f7bd9071e Remove all features for 1.0 beta 2015-04-03 09:42:45 +02:00
tomaka
1c74614c4a Merge pull request #349 from binsoftware/update-rust-cocoa
updating use statements from recent rust-cocoa module changes
2015-04-03 08:15:13 +02:00
Ryan Stewart
348de5cbe4 updating use statements from recent rust-cocoa module changes 2015-04-02 15:19:51 -07:00
Pierre Krieger
d33c138164 Rustup 2015-04-02 22:41:35 +02:00
Pierre Krieger
4d81cc2df1 Fix missing parameter for pixel formats infos on win32 2015-04-02 13:53:15 +02:00
tomaka
aa97fac6ff Merge pull request #344 from tomaka/gles-win32
Add support for GLES on Win32
2015-04-02 13:22:59 +02:00
Pierre Krieger
eabfa9e624 Add support for GLES on Win32 2015-04-02 11:17:14 +02:00
Pierre Krieger
8cf875434c Fix the default value for OpenGL flag again 2015-04-02 10:13:01 +02:00
tomaka
e51b694d59 Merge pull request #340 from tomaka/winimpl-platform
Rename "winimpl" module to "platform"
2015-04-02 09:52:21 +02:00
Pierre Krieger
eb430ff207 Fix default OpenGL debug flag being the opposite of what it should be 2015-04-02 09:06:33 +02:00
Pierre Krieger
414335e0fc Rename "winimpl" to "platform" 2015-04-02 08:27:32 +02:00
tomaka
a0ac31b70f Merge pull request #338 from XMPPwocky/master
Fix WM_SETCURSOR
2015-04-01 19:41:26 +02:00
Nathaniel Theis
e51dd82478 cursor state on w32 2015-04-01 10:12:53 -07:00
mitchmindtree
ee2a5e4a2f Fixed error where rustc couldn't infer the type 2015-04-01 21:23:30 +11:00
Pierre Krieger
2089e9c476 Add draft for raw input 2015-03-30 13:12:37 +02:00
Pierre Krieger
9bef21048e Fix wrong grabbing rect 2015-03-30 12:56:08 +02:00
Pierre Krieger
bae1e42b8b More work on win32 implementation 2015-03-30 11:42:19 +02:00
Pierre Krieger
bb418efcc7 Partially implement cursor state on win32 2015-03-30 11:32:18 +02:00
Pierre Krieger
556e1b4caf Update for winapi 2015-03-30 05:58:13 +02:00
tomaka
9ce644618b Merge pull request #329 from tomaka/choose-pixel-format
choose_pixel_format now returns a Result
2015-03-28 20:40:46 +01:00
Pierre Krieger
697d42a64f choose_pixel_format now returns a Result 2015-03-28 20:17:30 +01:00
Steven Sheldon
0ef63cd9d3 Audit msg_send return types. 2015-03-28 08:55:50 -07:00
Pierre Krieger
b27306f972 Fix compilation on win32 2015-03-28 11:07:41 +01:00
Pierre Krieger
aaa1c76841 Fix compilation on x11 2015-03-28 10:30:46 +01:00
Pierre Krieger
3d692870e2 Change grab_cursor and ungrab_cursor to set_cursor_state 2015-03-26 17:15:18 +01:00
tomaka
d6ebaaaf5c Merge pull request #227 from aepsil0n/grab-cursor
Implement grabbing of the mouse pointer for X11
2015-03-26 16:48:40 +01:00
Corey Farwell
82367772bb Fix typo in Window::get_position docs 2015-03-25 23:44:21 -04:00
Brendan Zabarauskas
eeb314d3aa Merge pull request #321 from SSheldon/objc_lib
Use objc crate for Objective-C runtime functionality
2015-03-26 09:58:26 +11:00
Pierre Krieger
cedc85c550 Rustup 2015-03-25 20:27:18 +01:00
Steven Sheldon
4b1cfe8801 Updated to use objc lib. 2015-03-25 10:08:42 -04:00
Eduard Bopp
18f9bc44c9 Implement grabbing of the mouse pointer for X11
Contains new methods in the Window API that closely mirror the Xlib API. The
methods are left unimplemented for other platforms for now.
2015-03-25 13:10:55 +01:00
tomaka
8c78cabcf2 Merge pull request #324 from binsoftware/win32-monitor
Win32 monitor handling
2015-03-25 06:17:35 +01:00
Cam Jackson
589c4d188a Fix compilation by replacing "range" with ".." syntax 2015-03-25 15:54:57 +11:00
Ryan Stewart
1c9c5c018a enumerate monitors in addition to adapters; this allows the MonitorID implementation to return a more useful monitor name, and the correct native monitor ID 2015-03-24 13:29:17 -07:00
Ryan Stewart
1c20ff87f1 honor top-left coordinates when requesting fullscreen to make sure window appears on the correct monitor 2015-03-24 13:25:24 -07:00
Brendan Zabarauskas
8a463f6643 Merge pull request #316 from binsoftware/cocoa-fixes
Cocoa fixes: memory leaks, monitor handling, is_current()
2015-03-24 18:33:53 +11:00
Sven Nilsen
9a5dd996cd Upgrade to latest Rust 2015-03-23 13:03:07 +01:00
tomaka
a6485045f1 Merge pull request #318 from glennw/thread-wake-mac
Fix waking up mac event loop from thread.
2015-03-23 10:35:31 +01:00
Nicholas Bishop
3413a2d973 Fix compilation by replacing "range" with ".." syntax 2015-03-22 18:54:18 -04:00
Pierre Krieger
63f69d6f2f Rustup 2015-03-21 13:43:14 +01:00
Glenn Watson
918833b19f Fix waking up mac event loop from thread. 2015-03-20 08:06:46 +10:00
York Xiang
0be7b072f0 Update for latest Rust 2015-03-19 18:06:50 +08:00
Ryan Stewart
cf630ec041 add and use IdRef::non_nil() instead of doing deref'd comparisons against nil 2015-03-18 14:49:16 -07:00
Ryan Stewart
1b2fd6e6d0 fix headless build by ensuring NativeMonitorId enum is available internally even without the window feature; add Eq/PartialEq to NativeMonitorId 2015-03-18 14:16:35 -07:00
Ryan Stewart
779f3ce888 fix X11 build issue due to missing import 2015-03-16 15:43:33 -07:00
Ryan Stewart
9cecb7ee55 implement Window is_current() for cocoa backend 2015-03-16 14:13:21 -07:00
Ryan Stewart
70776fab41 honor the passed-in MonitorID when using with_fullscreen() in cocoa backend 2015-03-16 14:13:21 -07:00
Ryan Stewart
9914d826b8 expose platform-native monitor identifier 2015-03-16 14:11:49 -07:00
Ryan Stewart
0fa5e541e8 handle retain/release on cocoa objects 2015-03-16 14:11:49 -07:00
Pierre Krieger
daa086759c Redirect size_hint method to the underlying iterators 2015-03-16 13:50:23 +01:00
Pierre Krieger
330767d0c3 Pull all dependencies from crates.io 2015-03-13 21:24:59 +01:00
Pierre Krieger
c61c33a833 Add set_cursor_position function 2015-03-10 10:29:07 +01:00
nwin
10490be8ba Fix scrolling wheel behavior on OSX
Fix regression introduced by #95b1c96 for the fix in #25fa4df
2015-03-05 11:54:48 +01:00
Pierre Krieger
689ace8b25 Add is_current function 2015-03-04 07:43:55 +01:00
Jan Niklas Hasse
4a56ac53de Fix doc 2015-03-02 00:01:36 +01:00
Pierre Krieger
d091323b22 Minor changes in documentation 2015-03-01 14:07:50 +01:00
Pierre Krieger
4f98ea3128 Add a guard for the calls to MakeCurrent during initialization 2015-03-01 13:57:09 +01:00
Pierre Krieger
cca23f8544 Add wrappers for safer error recovery during initialization 2015-03-01 13:41:00 +01:00
Pierre Krieger
65d5589e3c Fix various warnings 2015-03-01 13:18:36 +01:00
Pierre Krieger
36619ee40e Mark functions as unsafe instead of having a lot of blocks 2015-03-01 13:14:58 +01:00
tomaka
65046ffc41 Merge pull request #298 from andreasgal/master
Make headless rendering work on Mac OS X 10.10
2015-03-01 12:03:48 +01:00
Pierre Krieger
42d38e66ab Allow using non-hardware-accelerated pixel formats 2015-03-01 11:46:58 +01:00
Pierre Krieger
7ba8fdf3f3 Fix creating non-hardware-accelerated contexts 2015-03-01 11:07:46 +01:00
Pierre Krieger
cf252c29b4 Use the WGL API to determine extended pixel format, plus fix creation 2015-03-01 10:33:25 +01:00
Bryan Bell
903c9b1aad Implement set_cursor for osx 2015-02-27 01:56:33 -08:00
Andreas Gal
9cb397fc92 simplify pixel format requirements for cocoa offscreen rendering 2015-02-23 22:42:06 +01:00
tomaka
e04288f812 Do not call wglShareLists is ctxt is null 2015-02-23 15:37:23 +01:00
tomaka
6608cbb20c Fix win32 compilation 2015-02-23 14:46:47 +01:00
Andrey Lesnikov
2da557c0cc android: Updated to latest android-rs-glue 2015-02-22 22:58:08 +03:00
tomaka
07a584fd28 Merge pull request #290 from frewsxcv/cleanup
Various cleanup commits
2015-02-22 08:40:42 +01:00
mitchmindtree
246837adc8 Fix MouseMoved by checking for NSDrag events as well, closes #288 2015-02-22 15:58:37 +11:00
Corey Farwell
5ff649e5db Stop using deprecated CString::from_slice constructor 2015-02-21 18:32:05 -05:00
Corey Farwell
7fa19ab0df Remove deprecated 'allow' lint 2015-02-21 18:19:03 -05:00
Corey Farwell
f4c9bd81bb Opt into features to silence warnings 2015-02-21 18:18:47 -05:00
Corey Farwell
accf2f3cc3 Deref before matching
rust-guidelines encourages this
2015-02-21 18:07:35 -05:00
mitchmindtree
1055eed078 Removed as_slice_with_nul as CString now derefs to a CStr 2015-02-22 01:17:47 +11:00
mitchmindtree
0389c834e4 RingBuf -> VecDeque for other platforms, as_slice_with_nul -> as_bytes_with_nul 2015-02-22 00:40:23 +11:00
mitchmindtree
9bb41bf277 Fixed errors on latest nightly, RingBuf -> VecDeque 2015-02-21 23:59:37 +11:00
Ryan Stewart
25ce029cf6 expose the platform-specific window handle (currently Win only) 2015-02-20 12:33:25 -08:00
tomaka
8e1d0f7a97 Merge pull request #282 from tomaka/gl-api
Improve the OpenGL context request system
2015-02-19 21:55:15 +01:00
Pierre Krieger
1ee6f8fa1a Update for rustc 2015-02-19 20:18:50 +01:00
Pierre Krieger
f4f84c6566 Improve the OpenGL context request system 2015-02-18 17:15:01 +01:00
Pierre Krieger
ba7f2a923f Don't call MakeCurrent(null, null) when destroying 2015-02-18 09:00:00 +01:00
Pierre Krieger
1a33c9ce9f Extract load_opengl32_dll 2015-02-16 15:59:06 +01:00
Pierre Krieger
950fd58b77 Implement enumerate_arb_pixel_formats 2015-02-16 15:55:26 +01:00
Pierre Krieger
d1bc85c011 Switch to create_context for the real context 2015-02-16 15:42:00 +01:00
Pierre Krieger
6bec85e0cc Implement better handling for pixel formats 2015-02-16 15:36:32 +01:00
Pierre Krieger
dfbf2adf4a Extract and add create_context function 2015-02-16 15:07:03 +01:00
Pierre Krieger
353567b216 Start splitting win32::init into multiple functions 2015-02-16 13:58:48 +01:00
tomaka
40591806dc Merge pull request #274 from tomaka/cleanup
Cleanup crate root by moving headless and window to modules
2015-02-16 13:58:29 +01:00
tomaka
19debf3eb2 Merge pull request #277 from tomaka/win32-callback
Extract callback from win32/init.rs to its own module
2015-02-16 11:03:21 +01:00
tomaka
cba56a208d Merge pull request #276 from tomaka/win32-headless
Extract win32 HeadlessContext to a "headless" module
2015-02-16 10:51:02 +01:00
Pierre Krieger
7f03400a2b Extract callback from win32/init.rs 2015-02-16 10:08:08 +01:00
Pierre Krieger
91c50ed046 Extract win32 HeadlessContext to a "headless" module 2015-02-16 10:01:47 +01:00
Pierre Krieger
94254521dc Style improvement in win32/event.rs 2015-02-16 09:53:01 +01:00
Pierre Krieger
009be2ab2b Cleanup crate root by moving headless and window to modules 2015-02-16 09:39:46 +01:00
tomaka
59220d35ce Fix poll_events returning None when it shouldn't 2015-02-12 18:42:02 +01:00
tomaka
d1bf1e8ac0 Fix poll_events() blocking on win32 2015-02-11 15:34:08 +01:00
tomaka
4500702a02 Merge pull request #70 from tomaka/fix-iterators
Use platform-specific iterators instead
2015-02-10 22:34:18 +01:00
tomaka
4c8628ed67 Implement get_outer_size() on x11 2015-02-10 14:40:03 +01:00
Pierre Krieger
e9a775c6b1 Implement win32 initialization in a cleaner way 2015-02-10 12:58:38 +01:00
Glenn Watson
95b1c96181 Mac: Use platform specific iterators. 2015-02-10 08:36:59 +01:00
Glenn Watson
8b3750ec3d Android: Use platform specific iterators. 2015-02-10 08:32:29 +01:00
Pierre Krieger
4bfcedad3e X11: use platform specific iterators instead 2015-02-10 08:31:31 +01:00
Tomaka17
49e3fbdd71 Win32: use platform-specific iterators instead 2015-02-10 08:27:52 +01:00
Glenn Watson
25fa4dfef6 Make the mouse wheel events match natural direction on osx. 2015-02-10 12:22:17 +10:00
Andrey Lesnikov
81dbaea29e android: Implemented color_bits and depth_bits 2015-02-08 02:32:29 +03:00
tomaka
6b52bf95a4 Merge pull request #254 from aepsil0n/mousebutton-renaming
Rename enum variants of MouseButton
2015-02-05 18:37:53 +01:00
Manish Goregaokar
256645cc3c Add some more support for X11 keys (partially fixes #251) 2015-02-05 22:28:54 +05:30
Eduard Bopp
b2367fe2e6 Rename enum variants of MouseButton
With enums that are namespaced by default, it seems reasonable to be less
redundant in the variant naming here.
2015-02-05 16:52:53 +01:00
tomaka
03e9d78b3a Merge pull request #250 from bjz/osx-window
Add tempory fix for #248
2015-02-03 12:31:55 +01:00
Brendan Zabarauskas
4632e83156 Add tempory fix for #248 2015-02-03 22:17:59 +11:00
Akos Kiss
e4469cfce7 Reorder the fields of XErrorEvent to match the struct layout found in recent Xlib.h
Fixes #244
2015-02-01 22:08:34 +00:00
tomaka
be092183a6 Merge pull request #241 from tomaka/add-webgl
Add WebGL in the APIs list
2015-01-30 21:07:20 +01:00
Brendan Zabarauskas
9b530cdf40 Fix OSX build 2015-01-30 22:14:49 +11:00
Glenn Watson
1b73aeaa24 On some X11 driver implementations, calling XCloseDisplay from a different thread
causes memory corruption, resulting in a crash. Change window proxy to be a weak
reference so that the XCloseDisplay is always called from the main window.
2015-01-30 07:11:55 +10:00
Pierre Krieger
48ab960176 Add WebGL in the APIs list 2015-01-29 18:36:03 +01:00
Andrew Kelley
6a27fa9d26 fix for rust nightly 2015-01-28 12:43:44 -07:00
tomaka
1a9cf9bc5c Merge pull request #231 from bjz/osx-window
Implement some more Cocoa stuff
2015-01-26 10:55:35 +01:00
Brendan Zabarauskas
73078e0569 Rename osx->cocoa 2015-01-26 14:28:12 +11:00
Brendan Zabarauskas
44c21c4bbb Implement some more osx stuff 2015-01-26 14:22:50 +11:00
Peter Atashian
33cd252f99 Upgrade to latest winapi
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-01-25 21:52:17 -05:00
Brendan Zabarauskas
6b31fe9b1c {true, false}->{YES, NO} 2015-01-26 10:59:40 +11:00
tomaka
f8c66ff2a9 Merge pull request #220 from tomaka/x11-vsync
Implement vsync for x11 and add vsync example
2015-01-25 12:56:15 +01:00
tomaka
a2e03e7c15 Merge pull request #221 from tomaka/fix-rc
Fix race condition with XOpenIM
2015-01-25 12:55:58 +01:00
Andrew Kelley
02a57e0422 fix for latest rustc 2015-01-23 19:18:22 -07:00
Ms2ger
8005b012ce Fix a use-after-free in Android get_proc_address. 2015-01-23 19:24:42 +01:00
Pierre Krieger
56c6afd03c Fix race condition with XOpenIM 2015-01-23 11:10:23 +01:00
tomaka
36538b5634 Merge pull request #219 from bjwbell/remove-deadcode-warning
Remove deadcode warning in BuilderAttribs
2015-01-23 09:40:41 +01:00
Pierre Krieger
b05ef16d81 Implement vsync for x11 and add vsync example 2015-01-23 09:33:22 +01:00
Bryan Bell
3e06c1c0e2 Remove deadcode warning in BuilderAttribs
In src/lib.rs remove the deadcode warning about the 'headless' builder
attribute. Headless is /actually/ set to false or true depending on if
HeadlessRendererBuilder is used.
2015-01-23 00:15:18 -08:00
Bryan Bell
6ea483dc78 Disable compiler unstable warnings
To cleanup the compiler output when building, disable
warnings about using unstable crates/features.
2015-01-22 23:40:17 -08:00
tomaka
1d6b863cd4 Merge pull request #217 from glennw/context-fallback
Some GPU/driver combinations have glxCreateContextAttribsARB present, bu...
2015-01-22 21:37:07 +01:00
Glenn Watson
de3f354566 Fix log prefix 2015-01-23 06:01:22 +10:00
Glenn Watson
19475f8521 Some GPU/driver combinations have glxCreateContextAttribsARB present, but it fails with an X error. In this case, catch the X error and fall back to the old method of creating a context. 2015-01-22 12:07:31 +10:00
Josh Matthews
e12e4bf38f Fix OS X build. 2015-01-21 10:58:08 -05:00
Akos Kiss
935e5a36a2 c_char isn't always i8 2015-01-20 21:49:23 +00:00
Brendan Zabarauskas
4d12d3ea3d Merge pull request #214 from bjz/osx-window
Move osx delegate stuff into separate type
2015-01-20 22:38:25 +11:00
Brendan Zabarauskas
de8fe684e7 Move osx delegate stuff into separate type 2015-01-20 08:12:53 +11:00
tomaka
d48ccb381a Merge pull request #213 from tomaka/permanent-iterators
Iterators returned by wait_events and poll_events are now persistent
2015-01-19 13:46:30 +01:00
Pierre Krieger
8fcd676714 Iterators returned by wait_events and poll_events are now persistent 2015-01-19 13:11:33 +01:00
Brendan Zabarauskas
a203385e76 if letify 2015-01-19 22:35:34 +11:00
Glenn Watson
213f8b8534 Fix android API 2015-01-19 11:59:34 +10:00
Glenn Watson
fd5e77f23e Add missing get_api stubs.
Add hidpi_factor() support for retina displays.
Fix Resize and MouseMoved events to handle retina displays.
Fix inverted y position for MouseMoved events on mac.
Fix initial painting on retina display.
2015-01-19 11:54:11 +10:00
Brendan Zabarauskas
1891764afd Clean up pattern matches 2015-01-18 20:22:33 +11:00
Brendan Zabarauskas
f8f2950afd Remove unnecessary inner method 2015-01-18 20:11:52 +11:00
James Gilles
75c14c5213 Remove AsciiExt import, s/uint/u32/, delete some files I accidentally
committed (whoops)
2015-01-17 21:13:57 -05:00
James Gilles
211a326036 Merge PixelPirate's changes and fix merge conflicts 2015-01-17 20:42:44 -05:00
Bryan Bell
e7e66b057d Change &mut self to &self in set_cursor 2015-01-17 08:28:52 +01:00
Pierre Krieger
3ce5fd08a8 More OS/X fixes 2015-01-15 21:01:09 +01:00
Pierre Krieger
c3b2f45ca3 More OS/X fixes 2015-01-15 20:49:03 +01:00
Pierre Krieger
7652cc5860 Blind attempt to fix the OS/X build 2015-01-15 20:20:52 +01:00
Andrey Lesnikov
5a589b1783 android: Fixed depth buffer 2015-01-15 10:05:19 +03:00
Andrey Lesnikov
5a4fee967a x11, android, win32: [ui]size, [u]int -> [ui]32 2015-01-13 16:23:30 +03:00
Andrey Lesnikov
d11f63a749 Fixed android: Added 'MouseCursor' import 2015-01-13 13:58:05 +03:00
tomaka
05a03fb6a1 Merge pull request #192 from bjwbell/mouse-cursors
Add mouse cursor support
2015-01-13 10:43:46 +01:00
Bryan Bell
0fba0a9a73 Code review comments
- Revert version back to 0.0.4
- Add comment that set_cursor has no effect on Android
2015-01-13 01:23:34 -08:00
Bryan Bell
5389c73b85 Fix OS X & Win32 builds 2015-01-12 19:45:20 -08:00
Bryan Bell
995bd37c78 Change uint/int to usize/isize
From https://github.com/rust-lang/rfcs/pull/544 the types uint/int were
renamed to usize/isize.
2015-01-12 19:33:31 -08:00
Bryan Bell
95f0990074 Refine X11 cursor selections
For MouseCursor::Cell, NotAllowed, NoDrop, Grab, Grabbing, ... set the
appropriate X11 cursor.

Also alphabetize the cursors listed in the MouseCursor enum.
2015-01-12 19:00:45 -08:00
Bryan Bell
b532b8c65f Add mouse cursor support
Add a new api, window.set_cursor, for setting the cursor. The enum MouseCursor lists the possible cursors.

Only X11 is implemented. On OSX, Android, & Win32 the window.set_cursor function
either does nothing or calls the "unimplemented!" macro.
2015-01-12 16:22:37 -08:00
Sam Ward
879f61dbbc OSX compatibility for Rust 1.0 alpha 2015-01-10 01:56:47 -08:00
Pierre Krieger
469d0eafd1 Update for rust alpha 1.0 2015-01-10 08:23:20 +01:00
Andrey Lesnikov
dbe38ff49a android: Updated for Rust ea6f65c5f 2015-01-06 2015-01-08 20:57:04 +03:00
Pierre Krieger
3920cd5e80 Merge remote-tracking branch 'cybergeek94/master' into update-rustc
Conflicts:
	examples/support/mod.rs
	src/lib.rs
	tests/headless.rs
2015-01-08 12:58:58 +01:00
Austin Bonander
8d9133d331 Update to latest Rust nightly 2015-01-08 03:45:46 -08:00
Pierre Krieger
dbdb43f077 Update for Rustc 2015-01-08 09:28:22 +01:00
Pierre Krieger
885d5e9c38 Update for Rustc 2015-01-05 14:39:58 +01:00
Mike Dilger
53482b2a46 fix for Iterator now using associated types 2015-01-05 16:06:16 +13:00
Andrey Lesnikov
2b7e74d55a android: Updated for rust fc2ba1393 2015-01-03 2015-01-04 21:49:30 +03:00
Pierre Krieger
4c5e430dd3 Update for Rustc 2015-01-03 23:15:39 +01:00
Ty Overby
a698146943 Change the way that events are represented.
The bulk of this commit is changing instances of Vec to RingBuf which is
optimized for the push_back() / pop_front() strategy that is used
internaly in the event system.

The glutin custom iterators are now just wrappers around the RingBuf
iterator type.  This will bring the running time of iterator traversal from
O(n^2) to O(n) because shifting-on-delete won't be performed.
2015-01-01 23:44:02 -08:00
Pierre Krieger
c956559a51 Add missing with_* functions 2014-12-31 07:34:27 +01:00
Pierre Krieger
e1b5d9c103 Add build_strict function on builders 2014-12-31 07:34:26 +01:00
Pierre Krieger
b9710f05a9 Unify WindowBuilder and HeadlessRendererBuilder for easier implementations 2014-12-31 07:34:26 +01:00
Patrick Horlebein
0e64651db8 Removed NSOpenGLPFAOpenGLProfiles enum in favor of the one defined in the AppKit bindings 2014-12-30 17:02:49 +01:00
Patrick Horlebein
b0dddb2d3f Fixed missing std::ascii::AsciiExt import 2014-12-30 17:01:37 +01:00
Pierre Krieger
b9a6366f96 Update for changes in Send/Sync traits 2014-12-30 08:20:50 +01:00
Patrick Horlebein
09cf026a9d Minor match clause cleanup 2014-12-29 13:46:44 +01:00
Patrick Horlebein
1b0064f9f7 Fixed deprecation warnings 2014-12-29 13:27:24 +01:00
Patrick Horlebein
86af6b6387 Started adding support for selection OpenGL versions on OS X. Needs issue #176 to be fixed. 2014-12-29 13:26:44 +01:00
Andrey Lesnikov
9a5f02984d android: Implemented basic poll_events() 2014-12-26 01:29:54 +03:00
Andrey Lesnikov
e441247d61 Removed 'extern crate gl_generator' 2014-12-26 01:28:48 +03:00
Pierre Krieger
7f6f4f8d04 Update for gl_generator's changes 2014-12-24 08:12:10 +01:00
tomaka
6b0dd62681 Merge pull request #170 from tomaka/update-rustc
Update for rustc
2014-12-23 17:18:08 +01:00
Pierre Krieger
dbb82968ba Update for rustc 2014-12-23 17:12:29 +01:00
Glenn Watson
bd28ebb34f Fix passing visibility through for mac. 2014-12-23 10:08:50 +10:00
Pierre Krieger
faf5812d05 Fix win32 build without the "window" feature 2014-12-20 18:49:57 +01:00
Michael Powell
6e9969ccc0 Add semicolons after macro invocations, as required by the latest nightly. 2014-12-19 21:34:20 -08:00
Glenn Watson
f8d3b232a5 Add support for visible parameter on mac. 2014-12-19 08:44:45 +10:00
Glenn Watson
f2d112213b Add experimental attribute since this API will need to be cleaned up. 2014-12-19 05:44:47 +10:00
Glenn Watson
fa5cb66cff Add resize example, fix warnings, make callback an option so it can be removed. 2014-12-19 05:44:47 +10:00
Glenn Watson
0ad9c3d453 Add callback function to allow resize messages to be sent on mac. 2014-12-19 05:44:20 +10:00
tomaka
0164449955 Merge pull request #161 from glennw/thread-proxy
Introduce a WindowProxy for accessing a subset of functionality
2014-12-18 20:36:37 +01:00
Glenn Watson
95f82927b3 Change todo to unimplemented 2014-12-19 05:00:43 +10:00
tomaka
9434811328 Merge pull request #164 from glennw/scroll-wheel
Add scroll wheel events for mac.
2014-12-18 08:03:41 +01:00
Glenn Watson
3c1a803d8d Add scroll wheel events for mac. 2014-12-18 15:18:22 +10:00
Glenn Watson
2c150143d8 Add mac implementation of wakeup_event_loop. 2014-12-18 14:26:02 +10:00
Glenn Watson
435c64f473 Fix event name 2014-12-18 10:57:12 +10:00
Pierre Krieger
03d6a41ba3 Update for rustc for x11 2014-12-17 10:25:38 +01:00
Glenn Watson
9dc5689eef Introduce a WindowProxy for accessing a subset of functionality
from other threads. This currently provides a way for other threads
to wakeup a blocked event loop on X11. Other platforms have stub
functions that need to be implemented. This is similar to
the functionality of glfwPostEmptyEvent.
2014-12-17 14:50:05 +10:00
Pierre Krieger
19d120b8b1 Update for Rustc for win32 2014-12-15 14:06:32 +01:00
Pierre Krieger
a79bc34807 Update for Rustc 2014-12-13 20:07:35 +01:00
Jakob Fries
12d5d5beea Avoid warning; if_let and tuple_indexing now part of language. 2014-12-08 21:12:03 +01:00
Pierre Krieger
c893e4faec Add get_api() function 2014-12-07 13:52:08 +01:00
tomaka
2320c2bc97 Merge pull request #156 from tomaka/remove-compile-msg
Remove the dependency to compile_msg
2014-12-05 15:47:29 +01:00
tomaka
ab387dc2a3 Merge pull request #157 from ozkriff/master
android: updated for rust 5484d6f6d 2014-12-02 00:22:00 +0000
2014-12-04 22:40:33 +01:00
Andrey Lesnikov
b28273de04 android: updated for rust 5484d6f6d 2014-12-02 00:22:00 +0000 2014-12-05 01:30:17 +04:00
Pierre Krieger
ffba8564c8 Remove the dependency to compile_msg 2014-12-04 20:44:12 +01:00
Ruben Bakker
e979f316e7 Qualify enum namespacing for NSOpenGLCPSwapInterval 2014-12-03 20:54:10 +02:00
tomaka
c6f5b4a107 Merge pull request #150 from tomaka/winapi
Use the winapi crate instead of our own ffi
2014-12-03 08:25:02 +01:00
tomaka
6652cd0bdf Merge pull request #154 from tomaka/fix-warning-x11
Fix deprecation warning on X11
2014-12-02 20:48:15 +01:00
Pierre Krieger
7b84121500 Fix deprecation warning on X11 2014-12-02 20:44:38 +01:00
Pierre Krieger
f8aa6d676c Fix multisampling not working on X11 2014-12-02 20:41:46 +01:00
Pierre Krieger
3cf487ac70 Use the winapi crate instead of our own ffi 2014-12-02 14:58:20 +01:00
David Partouche
3ae8352464 Fixed issue with menu bar showing in fullscreen 2014-11-28 19:13:58 +01:00
Pierre Krieger
5072bc287f Update for rustc on win32 2014-11-27 15:52:07 +01:00
Pierre Krieger
729551f828 Implement multisampling for x11 2014-11-27 15:26:42 +01:00
tomaka
596132dc93 Merge pull request #138 from DavidPartouche/cocoa_offscreen
Added headless rendering on osx
2014-11-27 10:48:53 +01:00
tomaka
dee448628a Merge pull request #142 from DavidPartouche/cocoa_vsync
Added swap interval to osx
2014-11-27 10:48:36 +01:00
Pierre Krieger
71d463f865 Update for rustc 2014-11-26 21:22:44 +01:00
David Partouche
23b108d436 Added swap interval to osx 2014-11-26 14:53:08 +01:00
Andrey Lesnikov
adc6c00aa8 android: Updated for rust 395901393 2014-11-24 00:46:30 +0000 2014-11-26 17:11:08 +04:00
Glenn Watson
02f3287d70 Add support for GLESv2 on android. Remove a few warnings. 2014-11-26 15:21:58 +10:00
David Partouche
f865d9ac01 Added headless rendering on osx 2014-11-25 23:55:39 +01:00
Glenn Watson
d99ba30216 Allows android to compile when headless feature is enabled. 2014-11-26 08:17:09 +10:00
Pierre Krieger
4c0413bc7c Implement lists sharing 2014-11-24 20:13:52 +01:00
Glenn Watson
583506dca0 Fix some rustc warnings 2014-11-24 07:36:13 +10:00
tomaka
2762142960 Merge pull request #131 from tomaka/update
Update for rustc
2014-11-23 12:05:31 +01:00
Pierre Krieger
77df8e52bc Update for rustc 2014-11-23 11:56:30 +01:00
Andrey Lesnikov
f4be17b92e android: Updated for rust e583c4d24 2014-11-21 09:01:50 +0000 2014-11-21 18:33:29 +04:00
Glenn Watson
d8a1fe5c97 Implement get_inner_size() for mac. 2014-11-21 07:47:08 +10:00
Glenn Watson
cac0025abb Add support for setting a window delegate, and implement close event on mac. 2014-11-21 07:08:05 +10:00
David Partouche
29892fbb7c Fixed some compilation errors on osx 2014-11-19 16:55:44 +01:00
Pierre Krieger
ff3a29aaf5 Update for rustc 2014-11-19 07:06:27 +01:00
Glenn Watson
c9e1912eb7 Add support for with_visibility(), show(), hide() on X11. 2014-11-18 10:27:45 +10:00
Andrey Lesnikov
c0305c4781 Android: Implemented basic inputs 2014-11-17 13:32:28 +04:00
Glenn Watson
d4bed68dbe Add ctrl, shift, alt events for X11. 2014-11-17 11:35:15 +10:00
tomaka
28227a2142 Merge pull request #115 from tomaka/detect-osmesa-errors
Detect OSMesa errors
2014-11-14 16:03:36 +01:00
Pierre Krieger
9b39d99f6e Detect OSMesa errors 2014-11-14 15:59:45 +01:00
David Partouche
77d00a8e5a Fixed an issue with the updated rust-cocoa crate 2014-11-11 23:45:20 +01:00
Brendan Zabarauskas
c86368291e Implement Window::set_title for Cocoa 2014-11-10 20:12:32 +11:00
Pierre Krieger
37bdb997ce Remove call to glViewport in X11 implementation 2014-11-09 20:12:41 +01:00
Tomaka17
8c1b2dd633 Add support for the OpenGL debug flag 2014-11-09 16:44:53 +01:00
Tomaka17
ee8682caf2 Add CS_OWNDC flag when creating win32 window 2014-11-08 20:15:18 +01:00
Tomaka17
2be71306ec Remove key modifiers in KeyboardInput 2014-11-06 19:09:07 +01:00
tomaka
9926e179d6 Merge pull request #102 from tomaka/keys-rework
Reorder and add comments to some of the virtual keys
2014-11-06 17:11:36 +01:00
David Partouche
2d76e0666f Added fullscreen support to osx 2014-11-06 16:40:30 +01:00
Tomaka17
04f4135110 Reorder and add comments to some of the virtual keys 2014-11-06 13:26:42 +01:00
Tomaka17
584bb3e7df Use a proper error type for window creation 2014-11-05 16:42:18 +01:00
Tomaka17
7ce851dad9 Update for changes in gl-rs 2014-11-05 15:32:01 +01:00
Tomaka17
2e44edea60 Merge branch 'master' of http://github.com/tomaka/gl-init-rs 2014-11-05 15:23:20 +01:00
David Partouche
9dd592600a Retrieve the monitors and their info for osx 2014-11-04 18:03:38 +01:00
Tomaka17
4c674ef843 Fix some warnings in win32 ffi 2014-11-04 14:08:28 +01:00
Tomaka17
b6f7491157 Add visibility-related functions to window 2014-11-01 09:03:21 +01:00
tomaka
a908a14adc Merge pull request #90 from tomaka/remove-glflush
Remove call to glFlush() before swap_buffers on win32
2014-10-31 17:46:16 +01:00
Tomaka17
7de3d55e71 fail! -> panic! 2014-10-30 08:14:09 +01:00
Tomaka17
bbcb4c8bea Remove call to glFlush() before swap_buffers
We may not want to call `swap_buffers` in the same thread as the
current thread, so we're moving the call to `glFlush` out of the scope
of glutin.
2014-10-29 19:01:58 +01:00
tomaka
a6d52b6517 Merge pull request #86 from glennw/x11-resize
Fix resize event on X11. Without this change, resizing window larger tha...
2014-10-28 07:59:04 +01:00
Glenn Watson
ad54e01a91 Fix resize event on X11. Without this change, resizing window larger than initial size doesn't work. 2014-10-28 13:34:47 +10:00
Glenn Watson
1755568b30 Fix a few more string memory issues. 2014-10-28 13:33:04 +10:00
Tomaka17
0392dc697a Fix default window name 2014-10-27 13:10:10 +01:00
Tomaka17
f7a50c162c Bugfix in swap interval for win32 2014-10-27 13:09:36 +01:00
tomaka
a6bc0b0ba0 Merge pull request #72 from tomaka/vsync
Add `with_vsync` to WindowBuilder, plus the win32 implementation
2014-10-27 09:24:31 +01:00
tomaka
60e9ba4feb Merge pull request #74 from glennw/x11-key-events
Add backspace event and map some more keys on x11.
2014-10-27 07:43:02 +01:00
tomaka
391c42d177 Merge pull request #76 from glennw/fix-x11-window-res
Only reject modes based on resolution when using fullscreen. This fixes ...
2014-10-27 07:30:28 +01:00
Glenn Watson
84cd668bb6 Add backspace event and map some more keys on x11. 2014-10-27 16:29:32 +10:00
tomaka
18d9b493d7 Merge pull request #78 from glennw/x11-wheel-events
Add support for mouse wheel events on x11.
2014-10-27 07:25:30 +01:00
tomaka
32eba16994 Merge pull request #77 from glennw/x11-modifiers
Add support for keyboard modifiers on x11.
2014-10-27 07:20:00 +01:00
Glenn Watson
7800b14749 Fix bad memory being passed (due to going out of scope) to set title on X11. 2014-10-27 15:00:06 +10:00
Glenn Watson
8fee1950c6 Add support for mouse wheel events on x11. 2014-10-27 14:59:19 +10:00
Glenn Watson
22b434bf1d Only reject modes based on resolution when using fullscreen. This fixes creating a window that is not the same resolution as an existing video mode. 2014-10-27 14:58:04 +10:00
Glenn Watson
e19dd83925 Add support for keyboard modifiers on x11. 2014-10-27 14:57:19 +10:00
Tomaka17
8249e545f8 Add with_vsync to WindowBuilder, plus the win32 implementation 2014-10-26 16:35:24 +01:00
tomaka
fa99f0e701 Revert "Add platform_display impls for win32 and android" 2014-10-25 10:40:27 +02:00
Tomaka17
0eda82c28f Add platform_display impls for win32 and android
Fix the cocoa function
2014-10-24 12:54:58 +02:00
tomaka
2c9eaf8651 Merge pull request #65 from glennw/x-threads
Add an interface for providing system wide initialization options to the windowing system.
2014-10-24 12:31:33 +02:00
Glenn Watson
97c471dc05 Add an interface for providing system wide initialization options to the windowing system.
This allows setting up Linux based systems which use multithreaded OpenGL contexts.
2014-10-24 19:58:19 +10:00
tomaka
fe8646c556 Merge pull request #66 from glennw/platform_data
Add accessor for underlying display handle on Linux.
2014-10-24 10:19:35 +02:00
Glenn Watson
21e3ff99fa Make platform data function as unsafe. 2014-10-24 18:12:03 +10:00
Glenn Watson
5693fbcce3 Add accessor for underlying display handle on Linux. Although unimplemented on other platforms, this applies to at least android as well. 2014-10-24 15:20:25 +10:00
Glenn Watson
80e4fa9ad8 Fix closing X display in get_dimensions 2014-10-24 14:13:19 +10:00
David Partouche
f86af01a99 Added the Alt key modifier 2014-10-23 18:01:09 +02:00
David Partouche
6f46c0c2dd Added the modifiers key as input 2014-10-23 17:30:17 +02:00
David Partouche
271b688910 Fixed switch from atomics to atomic in rust 2014-10-23 17:30:16 +02:00
David Partouche
86e8480550 Added the KeyPress and KeyRelease events 2014-10-23 17:30:16 +02:00
David Partouche
dad539114d Added ReceivedCharacter event for cocoa 2014-10-23 17:30:16 +02:00
David Partouche
ba8f55547f Added is_closed to osx window 2014-10-23 17:30:16 +02:00
David Partouche
421beefe67 Added mose move event 2014-10-23 17:30:16 +02:00
David Partouche
5969cfe886 Fixed a compilation error: setContentview changed setContentView_ 2014-10-23 12:04:39 +02:00
Tomaka17
2ff393fe62 Update for rustc and gl-rs 2014-10-22 11:23:21 +02:00
Tomaka17
0d0c14e6ec Update for gl-rs 2014-10-21 08:11:08 +02:00
Pierre Krieger
bb22087d1c Use gl-rs's GLX bindings for x11 2014-10-13 11:36:01 +02:00
Tomaka17
9e9a3ae03a Fix win32 window not closing when destroying it 2014-10-11 20:52:48 +02:00
Tomaka17
64bbc4965f Fix win32 window not having a destructor in headless mode 2014-10-11 20:40:15 +02:00
Tomaka17
cdee854d2e Fix bug with 64bits rustc 2014-10-11 20:23:33 +02:00
Tomaka17
cb32e64b72 Fix warnings while compiling for win32 2014-10-11 17:58:17 +02:00
David Partouche
a2df6a8699 Changed statics to uppercase 2014-10-11 12:38:34 +02:00
David Partouche
10f625c2c8 Fixed static uppercase warning 2014-10-11 12:04:48 +02:00
Tomaka17
bfbc462511 Change implementations import system 2014-10-11 11:06:21 +02:00
Tomaka17
c316c86e7c Update for rustc f9fc49c06 2014-10-10 00:07:08 +0000 2014-10-10 17:52:47 +02:00
Tomaka17
e565bfeb13 Implement headless rendering 2014-10-09 15:55:42 +02:00
DavidPartouche
dc80f57bc2 Fixed a space missing 2014-10-06 18:37:06 +02:00
David Partouche
989fd1b505 Added events handling for left/right mouse clicking 2014-10-06 18:23:31 +02:00
David Partouche
db578e6e1c Refactored window initialisation code for cocoa, making it more memory safe 2014-10-06 18:23:31 +02:00
David Partouche
c38110cac7 Cocoa opens a window with OpenGL context inside 2014-10-06 18:23:31 +02:00
Pierre Krieger
fe245e2929 Fix warnings 2014-10-05 15:54:37 +02:00
Tomaka17
ea957ce1d7 Fix compilation warnings 2014-09-23 08:01:18 +02:00
DavidPartouche
6d3d84ef75 Use the correct monitor when fullscreen for X11 2014-09-20 11:18:03 +02:00
DavidPartouche
4222d12e67 Added output to get_name for x11 monitors 2014-09-19 20:30:15 +02:00
DavidPartouche
906324e267 Get the monitors attached to the display, and their resolution for X11 2014-09-19 20:30:15 +02:00
DavidPartouche
6f47e6ff8c Changed is_fullscreen to monitor.is_some() 2014-09-19 20:30:13 +02:00
David Partouche
55ebd4935e Added fullscreen support for X11 2014-09-19 20:29:28 +02:00
DavidPartouche
ac74db979c Get the monitors attached to the display, and their resolution for X11 2014-09-19 20:28:14 +02:00
DavidPartouche
bd3b06e1a5 Changed is_fullscreen to monitor.is_some() 2014-09-19 20:28:11 +02:00
David Partouche
b149fca83d Added fullscreen support for X11 2014-09-19 20:26:41 +02:00
tomaka
1ae81267f5 Merge pull request #35 from evant/master
Make x11 keyboard repeat detectable
2014-09-16 07:53:20 +02:00
Evan Tatarka
bcd3da1fcd make x11 keyboard repeat detectable 2014-09-15 19:11:23 -04:00
Tomaka17
991dc50a31 Remove unnecessary win32 linkage 2014-09-15 13:08:35 +02:00
Tomaka17
ee2349f272 Fix warnings in win32 ffi 2014-09-15 12:09:17 +02:00
Tomaka17
ce052484f7 Remove some unused imports 2014-09-13 09:04:47 +02:00
Tomaka17
f3e0c57158 Use gl_generator to generate EGL bindings for Android 2014-09-13 09:01:21 +02:00
Tomaka17
2af367b55c Use the gl_generator macro to generate the bindings for WGL 2014-09-12 15:51:43 +02:00
Tomaka17
3043cb2848 Remove old "egl" module 2014-09-12 15:20:59 +02:00
Tomaka17
0bb82e8467 Add basic support for Android 2014-09-11 18:28:07 +02:00
Tomaka17
d870fa7ffa Remove call to glViewport after win32 initialization 2014-08-22 11:26:47 +02:00
Tomaka17
d6fec79334 Cleanup temporary objects in case of error during creation on win32
See #10
2014-08-22 11:26:00 +02:00
Tomaka17
5c92587442 Fix & add some comments for win32 2014-08-22 11:21:12 +02:00
Tomaka17
6b45d1ca25 Not specifiying dimensions on win32 now results in CW_USEDEFAULT
Close #11
2014-08-22 11:19:19 +02:00
Tomaka17
761d82cd60 Remove forgotten debugging println
Closes #26
2014-08-22 10:57:31 +02:00
DavidPartouche
44c15bf6e6 Fixed broken build with latest rust update (use 'foo' = 'bar' syntax error) 2014-08-19 18:18:59 +02:00
Tomaka17
24dbe322f7 Track rust nightly 2014-08-15 16:12:40 +02:00
Tomaka17
4c1503dc32 Win32: no longer fails when calling swap_buffers on a closed window 2014-08-15 15:34:30 +02:00
Tomaka17
ae65b423dd Implement new events system 2014-08-13 17:23:03 +02:00
Tomaka17
3aab801f29 Implement Default for Window 2014-08-13 14:52:12 +02:00
Tomaka17
cd3fc3075a Fix #22
Thanks to @Anthiste
2014-08-12 21:21:06 +02:00
Tomaka17
32e9b5062c Add failure if SwapBuffers returns an error 2014-08-12 17:04:12 +02:00
Tomaka17
a8c056f83b Fixed compilation broken by #837efc54 2014-08-12 16:55:56 +02:00
Tomaka17
837efc5460 Fix attempt for #22 2014-08-12 11:01:18 +02:00
Tomaka17
53b9d6398c Remove dummy context creation for X11 2014-08-12 09:42:48 +02:00
Tomaka17
f452999b8c Minor fix in consistency for #[cfg]s 2014-08-12 09:17:23 +02:00
Tomaka17
391c4e525c Now using compile_msg crate instead of static_assert 2014-08-12 09:16:08 +02:00
Tomaka17
87d62e5b6f get_proc_address now returns a libc::c_void 2014-08-11 10:32:33 +02:00
Tomaka17
5f1d8dbedf Add flags when choosing pixel format 2014-08-07 18:51:27 +02:00
Tomaka17
acb0ab7cac Add default title for windows 2014-08-07 18:49:47 +02:00
Tomaka17
61781cf209 Call glViewport on windows init for win32
See #14
2014-08-07 18:48:34 +02:00
Pierre Krieger
01fd8b1d9e Now calling glViewport on X11 when the window is created
See #14
2014-08-07 18:13:52 +02:00
Pierre Krieger
e567d7f4fd set_position now takes ints
Fix #12
2014-08-07 18:07:48 +02:00
Pierre Krieger
3f69cbb189 Fix two warnings on X11 2014-08-07 18:05:51 +02:00
Pierre Krieger
cbf07d3190 Add some error detection 2014-08-07 18:05:18 +02:00
Pierre Krieger
d3e3590b84 Fix glXCreateContextAttrib always null 2014-08-07 18:03:56 +02:00
Pierre Krieger
76ebf39bcd Merge branch 'master' of https://github.com/tomaka/gl-init-rs 2014-08-07 17:54:04 +02:00
Pierre Krieger
5d997b618f Cleaner GL creation on X11 2014-08-07 17:53:41 +02:00
Pierre Krieger
2184e5e578 Minor style fix in X11 2014-08-07 17:36:48 +02:00
Pierre Krieger
c7aa219ef1 Now using glXChooseFBConfig 2014-08-07 17:35:26 +02:00
Tomaka17
d2bd19bc21 Doc now ignored for doctest 2014-08-07 09:33:28 +02:00
Felix S. Klock II
f1993be9ea Fix bugs from f4fb699b52 2014-08-03 18:30:31 +02:00
Tomaka17
d574f6f1bb Fix GL context not being destroyed on win32 2014-08-03 17:33:48 +02:00
Tomaka17
3c9565ad25 Fix closed flag not being immediatly set on win32 2014-08-03 17:27:48 +02:00
Tomaka17
48632619c9 Add static assert for platform not supported 2014-08-03 10:30:04 +02:00
Tomaka17
f4fb699b52 Add dummy implementation for OS/X 2014-08-03 09:25:30 +02:00
Tomaka17
52cccb8dda Add doc to crate root 2014-08-02 20:49:48 +02:00
Pierre Krieger
eee9e298ba Implement set_window_position for x11 2014-08-02 12:47:32 +02:00
Tomaka17
d08c94daac Remove Iconified and NeedRefresh events 2014-08-02 12:43:48 +02:00
Tomaka17
2aeec39156 Remove #[exprimental] from make_current 2014-08-02 12:32:08 +02:00
Tomaka17
0152099c91 Correctly handling pixel format and fullscreen resolution on Win32 2014-08-02 12:23:05 +02:00
Tomaka17
b0d9d0b87f Dimensions will now match the monitor's in case of fullscreen 2014-08-02 11:23:32 +02:00
Tomaka17
abceca1121 Add get_dimensions() to MonitorID 2014-08-02 11:17:49 +02:00
Tomaka17
dbaef704ad Fix docs for Window 2014-08-02 11:07:29 +02:00
Tomaka17
bfc5d3e63d with_monitor -> with_fullscreen 2014-08-02 11:04:48 +02:00
Tomaka17
8c074af9fc Add support for specific OpenGL version for Win32 2014-08-02 11:03:09 +02:00
Tomaka17
49b0a20170 Now passing WindowBuilder to implwin::Window::new 2014-08-02 10:42:17 +02:00
Tomaka17
5dda167021 Add iterators for events and WindowBuilder 2014-08-02 08:29:37 +02:00
Tomaka17
959613870c Now using wglCreateContextAttribs when available 2014-08-02 00:01:45 +02:00
Tomaka17
21c8ffab80 Mark hints as deprecated 2014-08-01 23:22:29 +02:00
Tomaka17
c1ecc06baf Change the RegisterClass code.
Prevents an issue when creating multiple contexts.
2014-08-01 23:12:46 +02:00
Tomaka17
d93cea808d Add documentation to the Win32 implementation 2014-08-01 23:02:26 +02:00
Tomaka17
19b8474c4a Window is no longer NoSend 2014-07-31 20:56:56 +02:00
Tomaka17
14c59e8d81 Merge branch 'master' of http://github.com/tomaka/gl-init-rs 2014-07-31 20:55:55 +02:00
Tomaka17
fd20346829 Put GetMessage in the same thread as the window creation.
Fixes #6
2014-07-31 20:55:30 +02:00
Tomaka17
91b0eeae8d Split win32/mod.rs 2014-07-31 20:14:36 +02:00
Pierre Krieger
26fec195d5 Implement ReceivedCharacter for X11 2014-07-31 18:44:44 +02:00
Pierre Krieger
59b4d23d58 Add mouse buttons press/release events for X11 2014-07-31 17:33:46 +02:00
Pierre Krieger
0d45c7fcb4 Fix warning in X11 ffi 2014-07-31 17:25:56 +02:00
Pierre Krieger
0c76ff8771 Add get_position and get_inner_size for X11 2014-07-31 17:01:58 +02:00
Pierre Krieger
37c5b5446b Add some keyboard events for X11 2014-07-31 16:46:29 +02:00
Tomaka17
d9d293667a Add monitor support for win32 2014-07-31 11:13:40 +02:00
Tomaka17
db8955a9d8 Add API for monitors 2014-07-31 10:02:01 +02:00
Tomaka17
8911e162ce MonitorID now defined by the implementations 2014-07-31 09:42:50 +02:00
Tomaka17
270e290af9 make_current() is now unsafe 2014-07-30 18:12:39 +02:00
Tomaka17
a9a42bd2ec Add draft for EGL 2014-07-30 17:13:30 +02:00
Tomaka17
ca89748414 Minor fix in docs 2014-07-30 14:18:31 +02:00
Tomaka17
17ad7ef50e Add docs to lib.rs 2014-07-30 14:13:42 +02:00
Tomaka17
6d9c5eb2bd should_close() renamed to is_closed() 2014-07-30 13:29:28 +02:00
Tomaka17
aa7d88dbda Fix bad events 2014-07-30 13:11:49 +02:00
Tomaka17
838cc2b325 Window getters now return an Option in case where the Window has been closed 2014-07-30 13:10:17 +02:00
Pierre Krieger
67349d717a Better events handling on X11 2014-07-28 15:06:38 +02:00
Pierre Krieger
c1da2b1273 Work on input support for X11 2014-07-28 14:41:12 +02:00
Pierre Krieger
433c5b956e Implement CursorPositionChanged event for X11 2014-07-28 13:25:28 +02:00
Pierre Krieger
5764b9c243 Implement resize events on X11 2014-07-28 13:16:55 +02:00
Tomaka17
1f0999e6a0 Implement get_position for win32 and fix interface 2014-07-27 22:46:30 +02:00
Tomaka17
14a697b272 Implement get_*_size() for win32 2014-07-27 22:36:55 +02:00
Tomaka17
d4e334aecb get/set_size() -> get/set_inner/outer_size() 2014-07-27 22:36:28 +02:00
Tomaka17
0d122cec47 Implement fullscreen for win32 2014-07-27 21:21:50 +02:00
Tomaka17
d824fb94db Draft for monitor API 2014-07-27 20:41:25 +02:00
Tomaka17
6133e17b9a Add moved events for win32 2014-07-27 20:08:31 +02:00
Tomaka17
1e615b59a6 Better events handling for win32 2014-07-27 19:58:27 +02:00
Tomaka17
7a8e7a7922 Implement focus events for win32 2014-07-27 19:45:29 +02:00
Tomaka17
0103fb833e Remove FramebufferSizeChanged event 2014-07-27 19:45:02 +02:00
Tomaka17
f5080a2b29 Implement mouse clicks on win32 2014-07-27 19:41:02 +02:00
Tomaka17
a28282ef5f Implement Pressed and Released 2014-07-27 18:55:14 +02:00
Tomaka17
754a6ef60f Implement ReceivedCharacter on win32 2014-07-27 18:39:22 +02:00
Tomaka17
c67ab381bf Fix events handling on win32 2014-07-27 18:35:42 +02:00
Pierre Krieger
24baf4d104 Add some events 2014-07-27 17:06:03 +02:00
Tomaka17
758fd069c6 Remove some reliquate comment 2014-07-27 16:11:23 +02:00
Pierre Krieger
f29b2f91e1 Now using dimensions 2014-07-27 15:54:48 +02:00
Pierre Krieger
356394cc75 Better cleanup in X11 destruction 2014-07-27 15:49:43 +02:00
Pierre Krieger
bd0ae7476c Work on X11 events 2014-07-27 15:21:42 +02:00
Pierre Krieger
5aa72279aa Window is now NoSend 2014-07-27 15:11:59 +02:00
Pierre Krieger
4028b925d3 X11 implementation 2014-07-27 15:10:58 +02:00
Tomaka17
bf2773c233 Temporarily remove NeedRefresh event from win32 2014-07-27 13:10:59 +02:00
Tomaka17
13b79ffaaf Cleanup crate root 2014-07-27 12:59:45 +02:00
Tomaka17
1cc0447c5e Initial commit 2014-07-27 11:41:26 +02:00