From 8ccc67cf33fd90aa8ab1d10b1e5d2ba10c8aef81 Mon Sep 17 00:00:00 2001 From: ticki Date: Wed, 26 Oct 2016 11:55:47 +0200 Subject: [PATCH] Update the mouse example. We use click and drag. --- examples/mouse.rs | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/examples/mouse.rs b/examples/mouse.rs index 98d47b5..52006b1 100644 --- a/examples/mouse.rs +++ b/examples/mouse.rs @@ -1,13 +1,14 @@ extern crate termion; -use termion::event::{Key, Event, MouseEvent}; +use termion::event::*; +use termion::cursor; use termion::input::{TermRead, MouseTerminal}; use termion::raw::IntoRawMode; -use std::io::{Write, stdout, stdin}; +use std::io::{self, Write}; fn main() { - let stdin = stdin(); - let mut stdout = MouseTerminal::from(stdout().into_raw_mode().unwrap()); + let stdin = io::stdin(); + let mut stdout = MouseTerminal::from(io::stdout().into_raw_mode().unwrap()); writeln!(stdout, "{}{}q to exit. Type stuff, use alt, click around...", @@ -15,9 +16,6 @@ fn main() { termion::cursor::Goto(1, 1)) .unwrap(); - let mut x = 5; - let mut y = 5; - for c in stdin.events() { let evt = c.unwrap(); match evt { @@ -27,22 +25,13 @@ fn main() { MouseEvent::Press(_, a, b) | MouseEvent::Release(a, b) | MouseEvent::Hold(a, b) => { - x = a; - y = b; + write!(stdout, "{}", cursor::Goto(a, b)).unwrap(); } } } _ => {} } - write!(stdout, - "{}{} {:?}{}", - termion::clear::All, - termion::cursor::Goto(x, y), - evt, - termion::cursor::Goto(x, y)) - .unwrap(); + stdout.flush().unwrap(); } - - write!(stdout, "{}", termion::cursor::Show).unwrap(); }