Пример #1
0
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);
}
Пример #2
0
int main(int argc, char* argv[])
{
	launchWindow(argc, argv);
}