diff options
-rw-r--r-- | src/window.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/window.rs b/src/window.rs index bd5fc14..56af494 100644 --- a/src/window.rs +++ b/src/window.rs @@ -445,9 +445,14 @@ pub struct PollEventsIterator<'a>(winimpl::PollEventsIterator<'a>); impl<'a> Iterator for PollEventsIterator<'a> { type Item = Event; + fn next(&mut self) -> Option<Event> { self.0.next() } + + fn size_hint(&self) -> (usize, Option<usize>) { + self.0.size_hint() + } } /// An iterator for the `wait_events` function. @@ -455,9 +460,14 @@ pub struct WaitEventsIterator<'a>(winimpl::WaitEventsIterator<'a>); impl<'a> Iterator for WaitEventsIterator<'a> { type Item = Event; + fn next(&mut self) -> Option<Event> { self.0.next() } + + fn size_hint(&self) -> (usize, Option<usize>) { + self.0.size_hint() + } } /// An iterator for the list of available monitors. @@ -469,9 +479,14 @@ pub struct AvailableMonitorsIter { impl Iterator for AvailableMonitorsIter { type Item = MonitorID; + fn next(&mut self) -> Option<MonitorID> { self.data.next().map(|id| MonitorID(id)) } + + fn size_hint(&self) -> (usize, Option<usize>) { + self.data.size_hint() + } } /// Returns the list of all available monitors. |