bool AWin::gestEvent(sf::Event event) { std::list<Button*>::iterator it; std::list<Button*>::iterator itNew; std::list<Button*>::iterator itEnd; std::list<Button*> but; int mX; int mY; int i; bool newCur = false; but = getButton(); if(event.type == sf::Event::Closed) { getWindow().close(); return (false); } if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Escape) return (false); if (event.type == sf::Event::MouseMoved) { mX = event.mouseMove.x; mY = event.mouseMove.y; it = but.begin(); itEnd = but.end(); while (it != itEnd && but.size() > 0) { if ((*it)->isIn(mX, mY) == true) { itNew = it; (*it)->setTarget(true); newCur = true; } it++; } it = but.begin(); while (it != itEnd && newCur == true && but.size() > 0) { if (it != itNew) (*it)->setTarget(false); it++; } } if (event.type == sf::Event::MouseButtonReleased) { it = but.begin(); itEnd = but.end(); mX = event.mouseButton.x; mY = event.mouseButton.y; std::cout << mX <<"," << mY << std::endl; std::cout << event.type << std::endl; while (it != itEnd &&but.size() > 0) { if ((*it)->isIn(mX, mY) == true) { while (getButton().size() > 0) getButton().pop_back(); if ((*it) != NULL) if ((*it)->getWin() != NULL) { (*it)->getWin()->mainDraw(); return (false); } } it++; } } if (event.type == sf::Event::Resized) updateButton(); if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Down) upDown(); if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Up) upUp(); if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Return) { launchWindow(); return (false); } getWindow().clear(); drawContent(); getWindow().display(); usleep(1000); return (true); }
int main(int argc, char* argv[]) { launchWindow(argc, argv); }