aboutsummaryrefslogtreecommitdiff
path: root/src/input.rs
diff options
context:
space:
mode:
authorChristian Duerr <contact@christianduerr.com>2018-01-03 17:52:49 +0100
committerJoe Wilm <jwilm@users.noreply.github.com>2018-01-03 11:15:57 -0800
commitf625257fc8e5ca1b71c6e292b10e38fa684a85a7 (patch)
tree114c8391a1d25c18e9155e82e7618e80c5cb7663 /src/input.rs
parentf6f5a73528635d9da83f71bc9121dbb105eae0ad (diff)
downloadalacritty-f625257fc8e5ca1b71c6e292b10e38fa684a85a7.tar.gz
alacritty-f625257fc8e5ca1b71c6e292b10e38fa684a85a7.zip
Pass ModifiersState to mouse input as whole
ModifiersState is now passed to the mouse methods in `input.rs` as a whole instead of just passing the `shift` state. This should make it a bit easier to do changes in the future.
Diffstat (limited to 'src/input.rs')
-rw-r--r--src/input.rs16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/input.rs b/src/input.rs
index 2fea68fd..bc941710 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -337,7 +337,7 @@ impl<'a, A: ActionContext + 'a> Processor<'a, A> {
}
}
- pub fn on_mouse_press(&mut self, shift: bool) {
+ pub fn on_mouse_press(&mut self, modifiers: ModifiersState) {
let now = Instant::now();
let elapsed = self.ctx.mouse_mut().last_click_timestamp.elapsed();
self.ctx.mouse_mut().last_click_timestamp = now;
@@ -354,7 +354,7 @@ impl<'a, A: ActionContext + 'a> Processor<'a, A> {
_ => {
self.ctx.clear_selection();
let report_modes = mode::TermMode::MOUSE_REPORT_CLICK | mode::TermMode::MOUSE_MOTION;
- if !shift && self.ctx.terminal_mode().intersects(report_modes) {
+ if !modifiers.shift && self.ctx.terminal_mode().intersects(report_modes) {
self.mouse_report(0);
return;
}
@@ -364,9 +364,9 @@ impl<'a, A: ActionContext + 'a> Processor<'a, A> {
};
}
- pub fn on_mouse_release(&mut self, shift: bool) {
+ pub fn on_mouse_release(&mut self, modifiers: ModifiersState) {
let report_modes = mode::TermMode::MOUSE_REPORT_CLICK | mode::TermMode::MOUSE_MOTION;
- if !shift && self.ctx.terminal_mode().intersects(report_modes)
+ if !modifiers.shift && self.ctx.terminal_mode().intersects(report_modes)
{
self.mouse_report(3);
return;
@@ -456,16 +456,16 @@ impl<'a, A: ActionContext + 'a> Processor<'a, A> {
}
}
- pub fn mouse_input(&mut self, state: ElementState, button: MouseButton, shift: bool) {
+ pub fn mouse_input(&mut self, state: ElementState, button: MouseButton, modifiers: ModifiersState) {
if let MouseButton::Left = button {
let state = mem::replace(&mut self.ctx.mouse_mut().left_button_state, state);
if self.ctx.mouse_mut().left_button_state != state {
match self.ctx.mouse_mut().left_button_state {
ElementState::Pressed => {
- self.on_mouse_press(shift);
+ self.on_mouse_press(modifiers);
},
ElementState::Released => {
- self.on_mouse_release(shift);
+ self.on_mouse_release(modifiers);
}
}
}
@@ -703,7 +703,7 @@ mod tests {
};
if let Event::WindowEvent { event: WindowEvent::MouseInput { state, button, modifiers, .. }, .. } = $input {
- processor.mouse_input(state, button, modifiers.shift);
+ processor.mouse_input(state, button, modifiers);
};
assert!(match mouse.click_state {