@@ -101,11 +101,11 @@ async fn run(
101
101
. map ( |surface| device. create_swap_chain ( & surface, & sc_desc) ) ;
102
102
103
103
let start = std:: time:: Instant :: now ( ) ;
104
- let mut mouse_left_pressed = false ;
105
104
let ( mut cursor_x, mut cursor_y) = ( 0.0 , 0.0 ) ;
106
- let ( mut last_lmb_down_x, mut last_lmb_down_y) = ( 0.0 , 0.0 ) ;
107
- let mut mouse_clicked = false ;
108
- let ( mut last_click_x, mut last_click_y) = ( 0.0 , 0.0 ) ;
105
+ let ( mut drag_start_x, mut drag_start_y) = ( 0.0 , 0.0 ) ;
106
+ let ( mut drag_end_x, mut drag_end_y) = ( 0.0 , 0.0 ) ;
107
+ let mut mouse_left_pressed = false ;
108
+ let mut mouse_left_clicked = false ;
109
109
110
110
event_loop. run ( move |event, _, control_flow| {
111
111
// Have the closure take ownership of the resources.
@@ -162,14 +162,16 @@ async fn run(
162
162
width : window. inner_size ( ) . width ,
163
163
height : window. inner_size ( ) . height ,
164
164
time : start. elapsed ( ) . as_secs_f32 ( ) ,
165
- last_lmb_down_x,
166
- last_lmb_down_y,
167
- last_click_x,
168
- last_click_y,
165
+ cursor_x,
166
+ cursor_y,
167
+ drag_start_x,
168
+ drag_start_y,
169
+ drag_end_x,
170
+ drag_end_y,
169
171
mouse_left_pressed,
170
- mouse_clicked ,
172
+ mouse_left_clicked ,
171
173
} ;
172
- mouse_clicked = false ;
174
+ mouse_left_clicked = false ;
173
175
rpass. set_pipeline ( & render_pipeline) ;
174
176
rpass. set_push_constants ( wgpu:: ShaderStage :: all ( ) , 0 , unsafe {
175
177
any_as_u32_slice ( & push_constants)
@@ -207,11 +209,11 @@ async fn run(
207
209
} => {
208
210
mouse_left_pressed = state == ElementState :: Pressed ;
209
211
if mouse_left_pressed {
210
- last_lmb_down_x = cursor_x;
211
- last_lmb_down_y = cursor_y;
212
- last_click_x = cursor_x;
213
- last_click_y = cursor_y;
214
- mouse_clicked = true ;
212
+ drag_start_x = cursor_x;
213
+ drag_start_y = cursor_y;
214
+ drag_end_x = cursor_x;
215
+ drag_end_y = cursor_y;
216
+ mouse_left_clicked = true ;
215
217
}
216
218
}
217
219
Event :: WindowEvent {
@@ -221,8 +223,8 @@ async fn run(
221
223
cursor_x = position. x as f32 ;
222
224
cursor_y = position. y as f32 ;
223
225
if mouse_left_pressed {
224
- last_lmb_down_x = cursor_x;
225
- last_lmb_down_y = cursor_y;
226
+ drag_end_x = cursor_x;
227
+ drag_end_y = cursor_y;
226
228
}
227
229
}
228
230
_ => { }
0 commit comments