Commit graph

44 commits

Author SHA1 Message Date
Francesca Frangipane eadd9a19b2
Replace Closed event with CloseRequested and Destroyed (#476)
* Replace Closed event with CloseRequested and Destroyed

Implements #434

The existing Closed event had ambiguous meaning, both in name and in
cross-platform behavior. Closed is now split into two more precise events:

* CloseRequested - the window has been requested to close, most commonly by
having clicked the window's close button. Whether or not you respond by
closing the window is up to you.

* Destroyed - the window has been destroyed, and can no longer be safely
used.

Most notably, now you can reliably implement classic patterns like
prompting the user to save their work before closing, and have the
opportunity to perform any necessary cleanup.

Migrating to the new API is straightforward. In most cases, you can simply
replace all existing usages of Closed with CloseRequested. For more
information, see the example programs, particularly handling_close and
multiwindow.

iOS applications must replace all usages of Closed with Destroyed, and
require no other changes.
2018-04-24 16:20:40 -04:00
Victor Berger 61d25be3e0
wayland: upgrade wayland-window (#339)
* wayland: upgrade wayland-window

This new version of wayland window considerably simplifies the
window handling for winit, meaning much of the previous juggling
is no longer needed, and the windows will appear even if nothing is
drawn.

* wayland: cleanup unused stuff
2017-11-03 17:35:29 +01:00
Victor Berger c86cf416d5 wayland: add a warning in the examples in case no window is displayed. 2017-07-19 18:53:49 +02: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
Pierre Krieger 0242daa242 Add interrupting the events loop 2017-01-28 15:09:01 +01:00
Pierre Krieger 2c4db6b16e Update window example 2017-01-28 15:01:59 +01:00
Pierre Krieger 289bb7bc9f Remove android_main! call 2016-11-23 19:33:44 +01: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 10bb03c5f0 Remove most OpenGL stuff and make it compile on win32 2016-02-23 12:56:23 +01:00
Pierre Krieger 2b35a6c9d1 Fix the examples 2015-10-04 18:39:17 +02:00
Josh Matthews 77b3743117 Warning fixes for OS X. 2015-09-28 12:19:36 -04:00
Pierre Krieger 9261408cc8 Use modern GL code for the examples 2015-08-05 22:31:34 +02:00
Pierre Krieger 39128dd7e1 Remove the is_closed function 2015-06-16 14:03:58 +02:00
Felix Kaaman a8fef35dbf Make legacy functions crash on osx core contexts 2015-06-16 09:00:02 +02:00
Pierre Krieger 05c24b39cc Print the pixel format in the window example 2015-05-04 09:23:43 +02:00
Steven Sheldon 9c21758bb7 Removed unused features from build and examples. 2015-04-03 02:31:15 -07:00
Pierre Krieger cedc85c550 Rustup 2015-03-25 20:27:18 +01:00
Pierre Krieger 8fcd676714 Iterators returned by wait_events and poll_events are now persistent 2015-01-19 13:11:33 +01:00
Andrey Lesnikov 5a4fee967a x11, android, win32: [ui]size, [u]int -> [ui]32 2015-01-13 16:23:30 +03:00
Pierre Krieger 469d0eafd1 Update for rust alpha 1.0 2015-01-10 08:23:20 +01:00
Pierre Krieger dbdb43f077 Update for Rustc 2015-01-08 09:28:22 +01:00
Pierre Krieger dbb82968ba Update for rustc 2014-12-23 17:12:29 +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 fa5cb66cff Add resize example, fix warnings, make callback an option so it can be removed. 2014-12-19 05:44:47 +10:00
Jakob Fries 12d5d5beea Avoid warning; if_let and tuple_indexing now part of language. 2014-12-08 21:12:03 +01:00
Brendan Zabarauskas c86368291e Implement Window::set_title for Cocoa 2014-11-10 20:12:32 +11:00
Tomaka17 e565bfeb13 Implement headless rendering 2014-10-09 15:55:42 +02:00
Tomaka17 02ba9d33d7 Rename crate to glutin 2014-09-21 11:34:41 +02:00
Tomaka17 3cad622ee8 Examples now using a support module to draw 2014-09-12 08:53:31 +02:00
Tomaka17 0bb82e8467 Add basic support for Android 2014-09-11 18:28:07 +02:00
Tomaka17 ca83db39c7 Rename gl-init-rs to gl_init
Fix #20
2014-08-13 13:42:59 +02:00
Tomaka17 87d62e5b6f get_proc_address now returns a libc::c_void 2014-08-11 10:32:33 +02:00
Tomaka17 2fdcc1840b Examples now call glViewport 2014-08-07 09:32:13 +02:00
Tomaka17 92f90220a4 Fix events handling in examples 2014-08-07 08:53:21 +02:00
Tomaka17 5dda167021 Add iterators for events and WindowBuilder 2014-08-02 08:29:37 +02:00
Tomaka17 270e290af9 make_current() is now unsafe 2014-07-30 18:12:39 +02:00
Tomaka17 6d9c5eb2bd should_close() renamed to is_closed() 2014-07-30 13:29:28 +02:00
Tomaka17 1249ebed80 Remove printing position in example 2014-07-30 13:27:31 +02:00
Tomaka17 66f6b003d0 The example now prints OpenGL version 2014-07-30 13:05:58 +02:00
Tomaka17 d824fb94db Draft for monitor API 2014-07-27 20:41:25 +02:00
Tomaka17 6030062881 Example now displays windows events 2014-07-27 13:10:43 +02:00
Tomaka17 1cc0447c5e Initial commit 2014-07-27 11:41:26 +02:00