void LineEdit::draw() { // Update if (_hasFocus) { // Add input const std::wstring str = getTextEntered(); if (!str.empty()) { BOOST_FOREACH(wchar_t chr, getTextEntered()) { if (chr == 8 && !_txt.empty()) _txt.erase(_txt.end() - 1); else _txt += getTextEntered(); } _onModification(_txt); } // Add _ if (_clock.GetElapsedTime() >= 2) { _showIndicator = false; _clock.Reset(); } else if (_clock.GetElapsedTime() >= 1) _showIndicator = true; }
keyboardStatus ViewController::getKeyboardStatus() { keyboardStatus state = {sf::Vector2i(0,0), -1, false, false, false, false, false, false, false}; state.textEntered = getTextEntered(); if (!_focus) return state; if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)) state.echap = true; state.mousePos = sf::Mouse::getPosition(*_mainWindow); if (sf::Mouse::isButtonPressed(sf::Mouse::Left)) state.leftClick = true; if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) state.up = true; if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) state.down = true; if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) state.left = true; if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) state.right = true; if (sf::Keyboard::isKeyPressed(sf::Keyboard::LControl)) state.ctrl = true; return state; }