aboutsummaryrefslogtreecommitdiff
path: root/src/gui/FileChooser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/FileChooser.cpp')
-rw-r--r--src/gui/FileChooser.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/gui/FileChooser.cpp b/src/gui/FileChooser.cpp
index a58a582..ceb8c94 100644
--- a/src/gui/FileChooser.cpp
+++ b/src/gui/FileChooser.cpp
@@ -65,8 +65,7 @@ namespace gsr {
if(!visible)
return;
- mgl_scissor scissor;
- mgl_window_get_scissor(window.internal_window(), &scissor);
+ const mgl::Scissor scissor = window.get_scissor();
const mgl::vec2f draw_pos = position + offset;
const mgl::vec2f mouse_pos = window.get_mouse_position().to_vec2f();
@@ -96,7 +95,12 @@ namespace gsr {
selected_item_background.set_color(get_color_theme().tint_color);
window.draw(selected_item_background);
}
- if(!has_parent_with_selected_child_widget() && mouse_over_item == -1 && mgl::FloatRect(item_pos, item_size).contains(mouse_pos)) {
+
+ if(!has_parent_with_selected_child_widget() && mouse_over_item == -1 &&
+ mouse_pos.x >= scissor.position.x && mouse_pos.x <= scissor.position.x + scissor.size.x &&
+ mouse_pos.y >= scissor.position.y && mouse_pos.y <= scissor.position.y + scissor.size.y &&
+ mgl::FloatRect(item_pos, item_size).contains(mouse_pos))
+ {
// mgl::Rectangle selected_item_background(item_size.floor());
// selected_item_background.set_position(item_pos.floor());
// selected_item_background.set_color(mgl::Color(20, 20, 20, 150));
@@ -106,7 +110,7 @@ namespace gsr {
mouse_over_item = i;
}
- if(item_pos.y + item_size.y >= draw_pos.y && item_pos.y < scissor.position.y + scissor.size.y) {
+ if(item_pos.y + item_size.y >= scissor.position.y && item_pos.y < scissor.position.y + scissor.size.y) {
window.draw(folder_sprite);
// TODO: Dont allow text to go further left/right than item_pos (on the left side) and item_pos + item_size (on the right side).