Mouse grab was released */
| 509 | |
| 510 | /* Mouse grab was released */ |
| 511 | void input_ungrabbed() |
| 512 | { |
| 513 | animation.in_exit = true; |
| 514 | |
| 515 | /* Rotate cube so that selected workspace aligns with the output */ |
| 516 | float current_rotation = animation.cube_animation.rotation; |
| 517 | int dvx = calculate_viewport_dx_from_rotation(); |
| 518 | animation.cube_animation.rotation.set(current_rotation, |
| 519 | -dvx * animation.side_angle); |
| 520 | /* And reset other attributes, again to align the workspace with the output |
| 521 | * */ |
| 522 | reset_attribs(); |
| 523 | |
| 524 | animation.cube_animation.start(); |
| 525 | |
| 526 | update_view_matrix(); |
| 527 | output->render->schedule_redraw(); |
| 528 | } |
| 529 | |
| 530 | /* Update the view matrix used in the next frame */ |
| 531 | void update_view_matrix() |
nothing calls this directly
no test coverage detected