Commit graph

2054 commits

Author SHA1 Message Date
Ho-Yon Mak
23354cf1a5 Implement _NET_WM_PING for X11 (#977) 2019-06-27 18:40:27 -06:00
Felix Rabe
dd38fab2f3 examples/window_icon.rs: De-duplicate code (#988) 2019-06-27 11:59:13 -04:00
Tristam MacDonald
ac08601b40 Implement DeviceEvent::Button on Mac (#967)
* Add deviceevent logging to cursor_grab example

* Implement DeviceEvent::Button on Mac
2019-06-27 02:58:21 -04:00
Austin Lasher
34db2d7d4c Fix broken links to mod DPI on various documentation pages (#984) 2019-06-26 15:35:54 +02:00
chichid
0e20973bdb Fix 968: Invisible windows steal focus from visible windows Win32 (#968) 2019-06-26 00:04:49 -04:00
Murarth
29e2481597 Remove XFlush call in event loop (#982)
Internally, `XFlush` calls `_XSend` to write data. It then calls
`XEventsQueued(display, QueuedAfterReading)`, which reads data from the
X server connection. This prevents the event loop source callback from
being run, as there is no longer data waiting on the socket.

Ideally, we would want to call `_XSend` directly to ensure that no
output is buffered by Xlib. However, this function is not exported as
part of Xlib's public API.

Testing with the `XFlush` call removed does not appear to adversely
affect the performance of an application. If any bugs should eventually
arise from this change, perhaps another function may be used in place of
`XFlush`, such as `XPending`, which writes buffered output but does not
so aggressively read from the X server connection.

Closes #865
2019-06-25 15:29:52 -06:00
Cherser-s
3555de114a Wayland: Add relative pointer movement (#973)
* Add relative pointer movement for Wayland

* Format changed code with rustfmt

* Wayland: merge window and device event queues into one

* Replace map_or_else call for simplification
2019-06-25 03:00:41 -06:00
Austin Lasher
dbe6a1bcdf Update docs to differentiate DeviceEvents and WindowEvents (#976) 2019-06-24 17:30:06 -04:00
Osspial
a195ce8146
Re-format on stable rustfmt (#974) 2019-06-24 12:14:55 -04:00
Felix Rabe
9dd15d00d8 Update PULL_REQUEST_TEMPLATE.md (#969) 2019-06-23 14:05:37 -04:00
Felix Rabe
2442305bb7 Forward porting (#966)
* README: Use shields.io instead of Herokuapp (#859)

* README: Link to FEATURES.md and missing features wiki page (#860)

Closes #854

* Update URLs (#863)

* CHANGELOG.md: Add line from #861 (legacy) that is missing from equivalent #964 (EL 2)
2019-06-23 02:39:26 -04:00
Felix Rabe
063648368d CHANGELOG.md: Move entries for #805 to 0.19.1 (#965) 2019-06-22 13:57:56 -04:00
Osspial
918b2efce7
Improve the example in lib.rs (#957) 2019-06-22 13:26:06 -04:00
Abendstolz
2467a997f4 [#963] Change XRandR display size check to also take height into account (#964) 2019-06-22 18:48:51 +02:00
Felix Rabe
f457c6a0b8 Change Suspended(true/false) => Suspended/Resumed (#959) 2019-06-21 20:59:31 -06:00
Felix Rabe
1193cada46 Minor spelling changes (#960) 2019-06-21 18:34:55 -06:00
Felix Rabe
b0e09b8ffe Rephrase (#958) 2019-06-21 17:35:08 -06:00
Osspial
8d6e8bb8d1
Release 0.20.0 Alpha 1 (#913) 2019-06-21 11:33:44 -04:00
Osspial
e2c84725de
Format everything and add rustfmt to travis (#951)
* Format everything and add rustfmt to travis

* Remove extern crate winit from examples and add force_multiline_blocks

* Format the code properly

* Fix inconsistent period in PULL_REQUEST_TEMPLATE.md

* Only run rustfmt on nightly

* Travis fixings
2019-06-21 11:33:15 -04:00
Osspial
b1b5aefc4b
Implement fix described in #851 (#945)
* Implement fix described in #851

* Add changelog entry
2019-06-20 23:59:27 -04:00
Osspial
06244dd492
Remove window resize call in timer example (#938)
* Remove window resize call in timer example

* Move timer_length to separate variable

* Re-add _window
2019-06-19 22:06:09 -04:00
Osspial
de2f0740f7
Move contributors table to wiki (#934)
* Add stub wiki link instead of inline table

* Replace with real link

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md
2019-06-19 15:12:27 -04:00
Felix Rabe
c56a66cb90 Fix warnings (#929)
* Fix warnings

* Bring back derivatives crate for Windows
2019-06-19 15:12:01 -04:00
Felix Rabe
c1329ff156 Linkify HALL_OF_CHAMPIONS.md (#935) 2019-06-18 16:30:37 -06:00
Osspial
72509b5b42
Update example in README.md and add move prefix to window.rs example closure (#921)
* Update example in README.md and add move prefix to window.rs example

* Make Window and README example trivially capture window

* Update README.md
2019-06-18 11:15:55 -04:00
Aleksi Juvani
c35fdc8d61 Fix thread-safety of set_maximized and set_title on macOS (#922) 2019-06-18 00:34:27 -06:00
Felix Rabe
403dcc02f4 CONTRIBUTING.md: Linkify project members (#933) 2019-06-17 16:52:30 -06:00
Felix Rabe
64be6e5c5e Typo (#932) 2019-06-17 16:22:01 -06:00
Felix Rabe
c661006683 Use dbg!() macro in monitor list example (#931) 2019-06-17 16:13:35 -06:00
CrLF0710
f879bca21c Migrate to 2018 edition. (#924)
* Migrate to 2018 edition.

* Use impl Iterator at one site.

* Fix more rust 2018 idioms.
2019-06-17 14:27:00 -04:00
Osspial
2e0bbc091f
Set CHANGELOG.md merge style to union (#919) 2019-06-13 16:11:44 -04:00
Aleksi Juvani
91f05e940f Fix initial dimensions of a fullscreen window on Windows (#909) 2019-06-13 15:17:56 -04:00
Aleksi Juvani
db794b976c Disable caching on Travis (#918) 2019-06-13 14:24:44 -04:00
Victor Berger
9a11f90a02 x11/wayland: Don't reset control flow between loop ticks (#916) 2019-06-13 12:52:10 -04:00
Osspial
412516159f
Document the caveats of run_return (#914) 2019-06-13 12:51:44 -04:00
Victor Berger
65587ef43a wayland: use an invisible surface as shell surface (#835)
This decorelates the window management from the actual user content,
meaning:

- the created window no longer needs the user to draw something to
  start existing
- it reduces our need to do roundtrips during initialization to
  avoid protocol errors
2019-06-13 12:50:02 -04:00
Osspial
cf713bef31 Remove CircleCI (#915)
None of the platforms that use it are supported right now, so it seems
silly to fail builds for other platforms when these ones can't possibly
succeed.

This should be reverted in stages as the platforms regain support.
2019-06-13 00:34:21 -06:00
Osspial
ea5c21950c Change Monitor dimensions functions to size functions (#911) 2019-06-13 00:33:44 -06:00
Aleksi Juvani
47b5dfa034 Support listing available video modes for a monitor (#896)
* Support listing available video modes for a monitor

* Use derivative for Windows `MonitorHandle`

* Update FEATURES.md

* Fix multiline if statement

* Add documentation for `VideoMode` type
2019-06-12 14:07:25 -04:00
Osspial
2b89ddec15
Fix WindowBuilder function names that missed first pass (#910) 2019-06-12 13:34:09 -04:00
Nikolai Vazquez
f256ff7d58 Make ns identifiers use snake_case on macOS (#904)
This makes the macOS API style consistent with that of iOS.
2019-06-10 19:09:38 -04:00
Christian Duerr
07356b9634 Update cursor visibility docs (#893)
The cursor visibility docs were still outdated from the rename and
talking about setting the invisibility, rather than visibility.

The platform-specific docs are unchanged since those should be fine and
the rest has been adapted using similar docs.
2019-06-01 18:06:41 -06:00
Osspial
0eefa3ba42
Fix compiler warning of potential undefined behavior (#892) 2019-05-30 20:42:53 -04:00
aloucks
08f8f89702 Fix control flow issues with Window::request_redraw (eventloop-2.0) (#890)
* Fix request_redraw with Poll and WaitUntil(time_in_the_past) on Windows

`Window::request_redraw` now fires a `RedrawRequested` event when
called from an `Event::EventsCleared` callback while the control
flow is set to `Poll`. A control flow of `WaitUntil(resume_time)`,
will now also fire the `RedrawRequested` event when `resume_time`
is in the past.

* Prevent panic on x11 when WaitUntil(resume_time) is in the past

* Prevent panic on wayland when WaitUntil(resume_time) is in the past
2019-05-29 22:33:52 -06:00
Osspial
0df436901a
Refine function names and type signatures (#886)
* First name consistency pass. More to come!

* Remove multitouch variable (hopefully this compiles!)

* Remove CreationError::NotSupported

* Add new error handling types

* Remove `get_` prefix from getters.

This is as per the Rust naming conventions recommended in
https://rust-lang-nursery.github.io/api-guidelines/naming.html#getter-names-follow-rust-convention-c-getter

* Make changes to Window position and size function signatures

* Remove CreationError in favor of OsError

* Begin updating iOS backend

* Change MonitorHandle::outer_position to just position

* Fix build on Windows and Linux

* Add Display and Error implementations to Error types

* Attempt to fix iOS build.

I can't actually check that this works since I can't cross-compile to
iOS on a Windows machine (thanks apple :/) but this should be one of
several commits to get it working.

* Attempt to fix iOS errors, and muck up Travis to make debugging easier

* More iOS fixins

* Add Debug and Display impls to OsError

* Fix Display impl

* Fix unused code warnings and travis

* Rename set_ime_spot to set_ime_position

* Add CHANGELOG entry

* Rename set_cursor to set_cursor_icon and MouseCursor to CursorIcon

* Organize Window functions into multiple, categorized impls

* Improve clarity of function ordering and docs in EventLoop
2019-05-29 21:29:54 -04:00
Osspial
ae63fbdbbb Merge branch 'eventloop-2.0' of https://github.com/tomaka/winit into eventloop-2.0 2019-05-29 21:28:39 -04:00
Osspial
4f29618c73 I forgot to remove the backtrace dependency in the EL2 rework 2019-05-29 21:22:35 -04:00
Osspial
76660f3621
Fix Windows backend invoking unreachable! with Exit and run_return (#887) 2019-05-27 13:45:26 -04:00
mtak-
3a7350cbb9 El2.0 ios (#871)
* port ios winit el2.0 implementation to the new rust-windowing repo

* unimplemented! => unreachable
trailing comma in CFRunLoopTimerCallback

* implement get_fullscreen

* add iOS specific platform documentation. Add a TODO about how to possibly extend the iOS backend to work have methods callable from more than just the main thread

* assert that window is only dropped from the main thread

* assert_main_thread called from fewer places
2019-05-25 21:10:41 -04:00
aloucks
e5aa906b01 Fix macos compile error in fullscreen example (#885) 2019-05-25 15:23:54 -06:00