Added AsloEngine 0.9.0 to Repository

This commit is contained in:
Aslan2142 2019-08-29 18:42:28 +02:00
parent d017dd84b3
commit 881e6c70f2
60 changed files with 2648 additions and 0 deletions

View file

@ -0,0 +1,78 @@
#include "headers/text_only_input_field.hpp"
namespace asloengine
{
TextOnlyInputField::TextOnlyInputField(sf::String _name, sf::Vector2f _size, sf::Font& _font, uint _text_size, int _max_length, sf::String _default_text)
: size(_size), max_length(_max_length), TextObject(_name, _default_text, _font, _text_size), GameObject(_name), Clickable(sf::Mouse::Left) {}
TextOnlyInputField::~TextOnlyInputField() {}
void TextOnlyInputField::draw()
{
//sf::View default_view = crop ? set_crop(position.x, position.y, size.x, size.y * 1.5) : render_window->getView();
TextObject::draw();
//render_window->setView(default_view);
}
void TextOnlyInputField::on_main_property_update()
{
TextObject::on_main_property_update();
update_clickable(sf::FloatRect(position, size));
}
void TextOnlyInputField::on_start()
{
set_clickable(sf::FloatRect(position, size), render_window);
}
void TextOnlyInputField::on_update(float delta_time)
{
if (editable)
{
if (get_click_action() == ClickAction::Pressed)
{
if (is_mouse_in())
{
if (!editing)
{
signal_on_focus();
}
editing = true;
} else {
if (editing)
{
signal_on_lost_focus();
}
editing = false;
}
}
if (editing && Keyboard::entered_text != 0)
{
if (Keyboard::entered_text == 8 || Keyboard::entered_text == 127)
{
sf::String tmp_text = get_text();
set_text(tmp_text.substring(0, tmp_text.getSize() - 1));
signal_on_text_changed(get_text(), Keyboard::entered_text);
} else if (get_text_length() < max_length) {
set_text(get_text() + sf::String(Keyboard::entered_text));
signal_on_text_changed(get_text(), Keyboard::entered_text);
}
}
}
}
}