Commit graph

290 commits

Author SHA1 Message Date
Pedro Côrte-Real
5b57b73fe8 Remove dead code causing warnings (#278) 2017-09-04 08:45:56 +02:00
tomaka
3d1c18ded9 Events loop backend (#269)
* Don't use UNIX_BACKEND in Window2::new

* Move get_available_monitors and get_primary_monitor to EventsLoop

* Remove UNIX_BACKEND

* Restore choosing the Linux backend

* Return a XNotSupported for new_x11()

* Fix fullscreen example
2017-09-01 11:04:57 +02:00
tomaka
7dc6fcdedc Rework MonitorId::get_native_identifier (#267)
* Rework MonitorId::get_native_identifier

* Try fix compilation

* Returns the monitor ID on wayland as well

* Try fix compilation

* Fix iOS compilation
2017-08-30 08:49:18 +02:00
Pedro Côrte-Real
60b575a7c1 Get rid of FullScreenState::get_monitor() 2017-08-29 02:53:13 +01:00
Pedro Côrte-Real
1382adbf11 Unify fullscreen and fullscreen_windowed APIs
Use the enum to make a single fullscreen API that's much more
consistent. Both set_fullscreen() and with_fullscreen() take the
same enum and support all the variations so you can build the window
however you want and switch between the modes at runtime.
2017-08-29 01:36:24 +01:00
Pedro Côrte-Real
1d97a2a506 Implement Windowed Fullscreen
There are two kinds of fullscreen. One where you take over the whole
output the other where you just set the window size to the screen
size and get rid of decorations. The first one already existed,
implement the second which is more common for normal desktop apps.
Use an enum to consolidate all the fullscreen states.
2017-08-28 02:23:55 +01:00
Pedro Côrte-Real
a4052b8693 Add window maximization API
Implement a simple API to set a window to maximized. Implement it
only for the X11 backend.
2017-08-28 01:28:42 +01:00
Lloyd Cunningham
f81d6ddf93 Derive Clone for CreationError 2017-08-23 20:52:06 -05:00
tomaka
2e079fe9a2 Merge pull request #211 from Ralith/transparent-ids
Transparent axis/button IDs
2017-07-17 07:37:26 +02:00
Pierre Krieger
ac0d6c890a Remove dependency on cgl on OSX 2017-07-05 09:13:39 +02:00
Benjamin Saunders
3d9e8da9ec Transparent axis/button IDs 2017-07-01 02:22:02 -07:00
Victor Berger
05cd9f2114 Merge pull request #199 from alexheretic/xwayland-env-var
Add a `WINIT_UNIX_BACKEND` environment variable to all the user to control the choice of x11/wayland backend.
2017-06-25 10:40:05 +02:00
Victor Berger
e915454a9d linux: update wayland dependencies 2017-06-23 20:25:06 +02:00
Alex Butler
3a89843767 Add WINIT_UNIX_BACKEND documentation 2017-06-21 20:10:23 +01:00
mitchmindtree
04ccad1dbc Rename ControlFlow variant from Complete to Break 2017-06-20 21:25:53 +10:00
mitchmindtree
db9e80bdb6 Update examples and tests to addition of ControlFlow 2017-06-08 00:12:41 +10:00
mitchmindtree
f2dd2f0752 WIP - Make poll_events and run_forever take &mut self
This removes the need for the EventsLoop::interrupt method by inroducing
a ControlFlow type. This new type is to be returned by the user's
callback and indicates whether the `EventsLoop` should continue waiting
for events or break from the loop.

Only the wayland, x11 and api_transition backends have been updated so
far, and only the wayland backend has actually been tested.
2017-06-02 21:19:45 +10:00
mitchmindtree
f6587aed39 [WIP] Have EventsLoopProxy::wakeup return a Result. Begin linux impl.
X11 and Wayland implementations are now half implemented, however both
still do not correctly break from the inner blocking event dispatch
functions when `wakeup` is called, which they should do.
2017-05-25 23:19:13 +10:00
mitchmindtree
06a5ec35b3 [WIP] Remove Sync and Clone from EventsLoop. Add EventsLoopProxy.
This commit only updates the top-level API to get some early feedback.
None of the platform-specific code has been updated yet. I'm hoping to
get around to this over the next couple days however if someone more
familiar with the windows backend would like to do a PR against this
fork that would be a great help.

Closes #187.
2017-05-25 20:13:54 +10:00
Joe Wilm
55b5054d50 Derive Clone on winit::EventsLoop wrapper
Resolves #177.
2017-05-11 23:04:28 -07:00
vanderlokken
f034017ab2 FIxed obsolete strings 2017-05-11 03:14:38 +03:00
Benjamin Saunders
22bc119cd7 Richer input events
This expands input events to represent sub-pixel mouse positions, devices responsible for generating events, and raw
device-oriented events. The X11 back end is refactored to make full use of the new expressiveness. Other backends have
had new functionality minimally stubbed out, save for the macos backend which already supports sub-pixel mouse
positions.
2017-04-23 01:08:15 -07:00
Victor Berger
4acf437221 Move api module into platform::linux 2017-03-04 09:09:09 +01:00
Pierre Krieger
b988c174fe Add WindowId type 2017-02-03 09:13:11 +01:00
Pierre Krieger
9cd0430ec7 Remove stuff from Window's API 2017-02-03 06:48:58 +01:00
Pierre Krieger
c3d2289b0c Remove resize_callback from WindowsAttributes 2017-01-28 15:34:15 +01:00
Pierre Krieger
bcb242983b Add documentation for the new API 2017-01-28 15:33:54 +01:00
Pierre Krieger
0242daa242 Add interrupting the events loop 2017-01-28 15:09:01 +01:00
Pierre Krieger
422b332c1b Add a transition macro system 2017-01-28 15:00:17 +01:00
tomaka
f1d70d351e Merge pull request #82 from tomaka/documentation
Some documentation improvements
2017-01-28 13:31:36 +01:00
mitchmindtree
53065bda40 Move resize_callback field from WindowBuilder into WindowAttributes struct 2016-11-12 02:55:21 +11:00
mitchmindtree
eb18b3d8b6 Add a WindowBuilder::with_window_resize_callback method.
This allows for passing the window_resize_callback fn during the window
building stage. More importantly, this allows setting the callback
without the need for mutable access to the Window, making it possible
to set the callback in the downstream glium crate.

This may solve tomaka/glium#1232 for most folk.
2016-11-11 22:08:46 +11:00
Pierre Krieger
2c58e85584 Some documentation improvements 2016-11-06 09:51:20 +01:00
Victor Berger
a505eddf29 wayland: bases of backend and output handling 2016-10-09 16:08:10 +02: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
Victor Koenders
5ce48523cd Added a couple more PartialEq's 2016-08-17 20:42:45 +02:00
Jan Segre
e0f36b80c9 Make WindowBuilder and HeadlessRendererBuilder derive Clone. 2016-05-23 03:17:31 -03:00
Osspial
b2cf70b342 Fixed some warnings when building on Windows 2016-05-07 21:05:45 -04:00
Corey Farwell
dc49156fe6 Allow OSX WindowBuilder to specify 'activation behavior'. 2016-04-29 10:43:30 -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
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
Pierre Krieger
10bb03c5f0 Remove most OpenGL stuff and make it compile on win32 2016-02-23 12:56:23 +01:00
Pierre Krieger
982279bc39 Update the emscripten port of glutin 2016-02-09 14:25:21 +01:00
Victor Berger
508e8cf665 Fix EGL for wayland. 2016-01-03 12:19:53 +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
Pierre Krieger
ed1d76aaee Remove now unneeded function 2015-12-19 14:36:49 +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
Aceeri
c6ffedccbd Removed comments, fixed Some/None matches, removed unnecessary lock checks 2015-11-09 03:13:52 -08:00
Aceeri
78eb4a5990 Minimum/maximum dimensions for windows in win32 api 2015-11-09 01:42:54 -08:00