aboutsummaryrefslogtreecommitdiff
path: root/src/SearchBar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/SearchBar.cpp')
-rw-r--r--src/SearchBar.cpp19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/SearchBar.cpp b/src/SearchBar.cpp
index fa119a6..6aa6eec 100644
--- a/src/SearchBar.cpp
+++ b/src/SearchBar.cpp
@@ -19,7 +19,7 @@ static const float padding_bottom = std::floor(15.0f * QuickMedia::get_ui_scale(
static const float background_margin_vertical = std::floor(4.0f * QuickMedia::get_ui_scale());
namespace QuickMedia {
- SearchBar::SearchBar(sf::Texture *plugin_logo, const std::string &placeholder, bool input_masked) :
+ SearchBar::SearchBar(sf::Texture *plugin_logo, sf::Shader *rounded_rectangle_shader, const std::string &placeholder, bool input_masked) :
onTextUpdateCallback(nullptr),
onTextSubmitCallback(nullptr),
onTextBeginTypingCallback(nullptr),
@@ -29,7 +29,7 @@ namespace QuickMedia {
caret_visible(true),
text(placeholder, *FontLoader::get_font(FontLoader::FontType::LATIN), std::floor(16 * get_ui_scale())),
autocomplete_text("", *FontLoader::get_font(FontLoader::FontType::LATIN), std::floor(16 * get_ui_scale())),
- background(sf::Vector2f(1.0f, 1.0f), 10.0f, 10),
+ background(sf::Vector2f(1.0f, 1.0f), 10.0f, front_color, rounded_rectangle_shader),
placeholder_str(placeholder),
show_placeholder(true),
updated_search(false),
@@ -44,7 +44,6 @@ namespace QuickMedia {
{
text.setFillColor(text_placeholder_color);
autocomplete_text.setFillColor(text_placeholder_color);
- background.setFillColor(front_color);
//background.setCornersRadius(5);
background_shadow.setFillColor(sf::Color(23, 25, 27));
//background_shadow.setPosition(background.getPosition() + sf::Vector2f(5.0f, 5.0f));
@@ -65,7 +64,7 @@ namespace QuickMedia {
//if(draw_shadow)
// window.draw(background_shadow);
window.draw(shade);
- window.draw(background);
+ background.draw(window);
// TODO: Render starting from the character after text length
window.draw(autocomplete_text);
if(input_masked && !show_placeholder) {
@@ -112,13 +111,13 @@ namespace QuickMedia {
onTextEntered(8);
if(is_touch_enabled() && event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Left) {
- sf::FloatRect box(background.getPosition(), background.getSize());
+ sf::FloatRect box(background.get_position(), background.get_size());
if(box.contains(event.mouseButton.x, event.mouseButton.y))
mouse_left_inside = true;
else
mouse_left_inside = false;
} else if(is_touch_enabled() && event.type == sf::Event::MouseButtonReleased && event.mouseButton.button == sf::Mouse::Left) {
- sf::FloatRect box(background.getPosition(), background.getSize());
+ sf::FloatRect box(background.get_position(), background.get_size());
if(mouse_left_inside && box.contains(event.mouseButton.x, event.mouseButton.y))
show_virtual_keyboard();
mouse_left_inside = false;
@@ -175,12 +174,12 @@ namespace QuickMedia {
const float width = std::floor(window_size.x - offset_x - 10.0f);
- background.setSize(sf::Vector2f(width, rect_height));
+ background.set_size(sf::Vector2f(width, rect_height));
shade.setSize(sf::Vector2f(window_size.x, padding_top + rect_height + padding_bottom));
caret.setSize(sf::Vector2f(std::floor(2.0f * get_ui_scale()), text.getCharacterSize() + std::floor(2.0f * get_ui_scale())));
background_shadow.setSize(sf::Vector2f(window_size.x, 5.0f));
- background.setPosition(offset_x, padding_top + vertical_pos);
+ background.set_position(sf::Vector2f(offset_x, padding_top + vertical_pos));
shade.setPosition(0.0f, vertical_pos);
background_shadow.setPosition(0.0f, std::floor(shade.getSize().y + vertical_pos));
sf::Vector2f font_position(std::floor(offset_x + background_margin_horizontal), std::floor(padding_top + background_margin_vertical + vertical_pos));
@@ -308,10 +307,6 @@ namespace QuickMedia {
}
}
- void SearchBar::set_background_color(sf::Color color) {
- background.setFillColor(color);
- }
-
void SearchBar::clear_autocomplete_if_text_not_substring() {
const sf::String &text_str = text.getString();
const sf::String &autocomplete_str = autocomplete_text.getString();