aboutsummaryrefslogtreecommitdiff
path: root/src/Body.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Body.cpp')
-rw-r--r--src/Body.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Body.cpp b/src/Body.cpp
index c52f8ad..7af2b49 100644
--- a/src/Body.cpp
+++ b/src/Body.cpp
@@ -75,7 +75,8 @@ namespace QuickMedia {
prev_selected_item(0),
page_scroll(0.0f),
item_background(sf::Vector2f(1.0f, 1.0f), 10.0f, 10),
- num_visible_items(0)
+ num_visible_items(0),
+ last_item_fully_visible(true)
{
progress_text.setFillColor(sf::Color::White);
replies_text.setFillColor(sf::Color(129, 162, 190));
@@ -394,6 +395,7 @@ namespace QuickMedia {
image_fallback.setSize(thumbnail_fallback_size);
item_background_shadow.setFillColor(line_seperator_color);
num_visible_items = 0;
+ last_item_fully_visible = true;
if(loading_thumbnail && load_thumbnail_future.valid() && load_thumbnail_future.wait_for(std::chrono::seconds(0)) == std::future_status::ready) {
load_thumbnail_future.get();
@@ -517,10 +519,14 @@ namespace QuickMedia {
if(!item->visible)
continue;
+ float item_height = get_item_height(item.get());
+
+ if(after_pos.y + item_height > start_y + size.y)
+ last_item_fully_visible = false;
+
if(after_pos.y >= start_y + size.y)
break;
- float item_height = get_item_height(item.get());
draw_item(window, item.get(), after_pos, size, item_height, i, content_progress);
after_pos.y += item_height + spacing_y;
++num_visible_items;