diff options
Diffstat (limited to 'src/SearchBar.cpp')
-rw-r--r-- | src/SearchBar.cpp | 19 |
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(); |