aboutsummaryrefslogtreecommitdiff
path: root/src/Entry.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-03-19 12:55:55 +0100
committerdec05eba <dec05eba@protonmail.com>2021-03-19 12:55:55 +0100
commit62bbf0daacdd110509f8166e9a1bf162ecb23138 (patch)
tree15c75254514f47bc6c6f7c4be515a107449050c2 /src/Entry.cpp
parentc207201a4a5a47e4ad286ba7371e4176c8ed5056 (diff)
Fix glitching when using fractional scaling
Diffstat (limited to 'src/Entry.cpp')
-rw-r--r--src/Entry.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/Entry.cpp b/src/Entry.cpp
index facb615..fdd7225 100644
--- a/src/Entry.cpp
+++ b/src/Entry.cpp
@@ -6,18 +6,18 @@
#include <SFML/Window/Event.hpp>
#include <cmath>
-const float background_margin_horizontal = 5.0f * QuickMedia::get_ui_scale();
-const float padding_vertical = 3.0f * QuickMedia::get_ui_scale();
-const float background_margin_vertical = 0.0f * QuickMedia::get_ui_scale();
+const float background_margin_horizontal = std::floor(5.0f * QuickMedia::get_ui_scale());
+const float padding_vertical = std::floor(3.0f * QuickMedia::get_ui_scale());
+const float background_margin_vertical = std::floor(0.0f * QuickMedia::get_ui_scale());
namespace QuickMedia {
Entry::Entry(const std::string &placeholder_text) :
on_submit_callback(nullptr),
draw_background(true),
- text("", false, 16 * get_ui_scale(), 0.0f),
+ text("", false, std::floor(16 * get_ui_scale()), 0.0f),
width(0.0f),
background(sf::Vector2f(1.0f, 1.0f), 7.0f, 10),
- placeholder(placeholder_text, *FontLoader::get_font(FontLoader::FontType::LATIN), 16 * get_ui_scale())
+ placeholder(placeholder_text, *FontLoader::get_font(FontLoader::FontType::LATIN), std::floor(16 * get_ui_scale()))
{
text.setEditable(true);
background.setFillColor(sf::Color(55, 60, 68));
@@ -75,8 +75,8 @@ namespace QuickMedia {
void Entry::set_position(const sf::Vector2f &pos) {
background.setPosition(pos);
- text.setPosition(pos + sf::Vector2f(background_margin_horizontal, background_margin_vertical - 3.0f * get_ui_scale()));
- placeholder.setPosition(pos + sf::Vector2f(background_margin_horizontal, background_margin_vertical + 3.0f * get_ui_scale()));
+ text.setPosition(pos + sf::Vector2f(background_margin_horizontal, background_margin_vertical - std::floor(3.0f * get_ui_scale())));
+ placeholder.setPosition(pos + sf::Vector2f(background_margin_horizontal, background_margin_vertical + std::floor(3.0f * get_ui_scale())));
}
void Entry::set_max_width(float width) {