Bring back mouse support
This commit is contained in:
parent
b258dfeb28
commit
38299e0fc2
@ -49,3 +49,4 @@
|
|||||||
- Eager Loading
|
- Eager Loading
|
||||||
- Marker Selection Menu
|
- Marker Selection Menu
|
||||||
- Fix all executable-relative path issues
|
- Fix all executable-relative path issues
|
||||||
|
- Bring back mouse support
|
||||||
|
1
TODO.md
1
TODO.md
@ -1,6 +1,5 @@
|
|||||||
# v0.1.0 (MVP)
|
# v0.1.0 (MVP)
|
||||||
## Misc
|
## Misc
|
||||||
- Bring back mouse support
|
|
||||||
|
|
||||||
## Music Select Screen
|
## Music Select Screen
|
||||||
- Options menu
|
- Options menu
|
||||||
|
@ -168,16 +168,36 @@ void MusicSelect::Screen::handle_key_press(const sf::Event::KeyEvent& key_event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MusicSelect::Screen::handle_mouse_click(const sf::Event::MouseButtonEvent& /*mouse_button_event*/) {
|
void MusicSelect::Screen::handle_mouse_click(const sf::Event::MouseButtonEvent& mouse_button_event) {
|
||||||
/*
|
if (mouse_button_event.button != sf::Mouse::Left) {
|
||||||
if (mouse_button_event.button == sf::Mouse::Left) {
|
return;
|
||||||
int clicked_panel_index = (mouse_button_event.x / m_panel_size) + 4 * (mouse_button_event.y / m_panel_size);
|
}
|
||||||
auto button = fromIndex(clicked_panel_index);
|
|
||||||
if (button) {
|
sf::Vector2i mouse_position{mouse_button_event.x, mouse_button_event.y};
|
||||||
press_button(*button);
|
sf::Vector2i ribbon_origin{
|
||||||
}
|
static_cast<int>(resources.get_ribbon_x()),
|
||||||
|
static_cast<int>(resources.get_ribbon_y())
|
||||||
|
};
|
||||||
|
auto panels_area_size = static_cast<int>(
|
||||||
|
resources.get_panel_size() * 4.f + resources.get_panel_spacing() * 3.f
|
||||||
|
);
|
||||||
|
sf::IntRect panels_area{ribbon_origin, sf::Vector2i{panels_area_size, panels_area_size}};
|
||||||
|
if (not panels_area.contains(mouse_position)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
sf::Vector2i relative_mouse_pos = mouse_position - ribbon_origin;
|
||||||
|
int clicked_panel_index = (
|
||||||
|
(relative_mouse_pos.x / (panels_area_size/4))
|
||||||
|
+ 4 * (relative_mouse_pos.y / (panels_area_size/4))
|
||||||
|
);
|
||||||
|
if (clicked_panel_index < 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
auto button = Data::index_to_button(static_cast<std::size_t>(clicked_panel_index));
|
||||||
|
if (button) {
|
||||||
|
press_button(*button);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MusicSelect::Screen::press_button(const Data::Button& button) {
|
void MusicSelect::Screen::press_button(const Data::Button& button) {
|
||||||
@ -208,6 +228,7 @@ void MusicSelect::Screen::press_button(const Data::Button& button) {
|
|||||||
break;
|
break;
|
||||||
case Data::Button::B15: // Options Menu
|
case Data::Button::B15: // Options Menu
|
||||||
resources.options_state.push(main_option_page);
|
resources.options_state.push(main_option_page);
|
||||||
|
resources.options_state.top().get().update();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user