From 3d656ffb9d242ba42f87cd2ef7ac13b06c7a2043 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 5 Aug 2019 21:34:37 +0200 Subject: Only redraw image preview when needed, less cpu usage --- src/QuickMedia.cpp | 6 ++++-- src/SearchBar.cpp | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp index 5ea2c43..2e7647e 100644 --- a/src/QuickMedia.cpp +++ b/src/QuickMedia.cpp @@ -424,6 +424,8 @@ namespace QuickMedia { image_size.y *= image_scale.y; image.setPosition(std::floor(window_size.x * 0.5f - image_size.x * 0.5f), std::floor(window_size.y * 0.5f - image_size.y * 0.5f)); } + } else { + continue; } window.clear(back_color); @@ -437,11 +439,11 @@ namespace QuickMedia { float background_height = font_height + 20.0f; chapter_text_background.setSize(sf::Vector2f(window_size.x, background_height)); - chapter_text_background.setPosition(0.0f, window_size.y - background_height); + chapter_text_background.setPosition(0.0f, std::floor(window_size.y - background_height)); window.draw(chapter_text_background); auto text_bounds = chapter_text.getLocalBounds(); - chapter_text.setPosition(window_size.x * 0.5f - text_bounds.width * 0.5f, window_size.y - background_height * 0.5f - text_bounds.height * 0.5f); + chapter_text.setPosition(std::floor(window_size.x * 0.5f - text_bounds.width * 0.5f), std::floor(window_size.y - background_height * 0.5f - font_height * 0.5f)); window.draw(chapter_text); } window.display(); diff --git a/src/SearchBar.cpp b/src/SearchBar.cpp index dad9e7c..15777e5 100644 --- a/src/SearchBar.cpp +++ b/src/SearchBar.cpp @@ -1,4 +1,5 @@ #include "../include/SearchBar.hpp" +#include const sf::Color text_placeholder_color(255, 255, 255, 100); const sf::Color front_color(43, 45, 47); @@ -39,9 +40,9 @@ namespace QuickMedia { void SearchBar::onWindowResize(const sf::Vector2f &window_size) { float font_height = text.getCharacterSize() + 8.0f; - float rect_height = font_height + background_margin_vertical * 2.0f; - background.setSize(sf::Vector2f(window_size.x - padding_horizontal * 2.0f, rect_height)); - text.setPosition(padding_horizontal + background_margin_horizontal, padding_vertical + background_margin_vertical); + float rect_height = std::floor(font_height + background_margin_vertical * 2.0f); + background.setSize(sf::Vector2f(std::floor(window_size.x - padding_horizontal * 2.0f), rect_height)); + text.setPosition(std::floor(padding_horizontal + background_margin_horizontal), std::floor(padding_vertical + background_margin_vertical)); } void SearchBar::onTextEntered(sf::Uint32 codepoint) { -- cgit v1.2.3