예제 #1
0
void mainLoop() {
    //The first time you run TackFPS it will return a trash value, so get it out of the way now
    TackFPS(true);

    //Pre-emptively call the resize and draw functions to get the cycle going
    reshape(miWidth, miHeight);

    bool running = true;
    sf::Event event;
    while(running) {
        draw();
        while(window.pollEvent(event)) {
            switch(event.type) {
                case sf::Event::Closed: running = false; break;
                case sf::Event::Resized: reshape(event.size.width, event.size.height); break;
                case sf::Event::KeyPressed: keyDown(event.key.code); break;// TODO codes
                case sf::Event::MouseMoved: mouseDrag(event.mouseMove.x, event.mouseMove.y); break;
                case sf::Event::MouseButtonPressed: mousePress(event.mouseButton.button, 1, event.mouseButton.x, event.mouseButton.y); break;
                case sf::Event::MouseButtonReleased: mousePress(event.mouseButton.button, 0, event.mouseButton.x, event.mouseButton.y); break;
                case sf::Event::TextEntered: charTyped(event.text.unicode); break;
                default: cout << "unhandled event:" << event.type << endl; break;
            }
        }
        window.display();
    }
}
예제 #2
0
파일: DialPage.cpp 프로젝트: dyfet/sflphone
DialPage::DialPage()
{
   QGraphicsGridLayout* mainLayout = new QGraphicsGridLayout();
   setLayout(mainLayout);
   currentNumber = new Plasma::Frame(this);
   currentNumber->setText("Dial");
   currentNumber->setFrameShadow(Plasma::Frame::Sunken);
   currentNumber->setMinimumSize(0,50);
   currentNumber->setStyleSheet("background-color:#AAAAFF;border-size:2px;border-style:sunken;");
   //currentNumber->setEnabledBorders(FrameSvg::EnabledBorders::Raised);
   mainLayout->addItem(currentNumber,0,0,1,6);

   QString numbers[12] =
       {"1", "2", "3",
        "4", "5", "6",
        "7", "8", "9",
        "*", "0", "#"};

   QString texts[12] =
       {  ""  ,  "abc",  "def" ,
        "ghi" ,  "jkl",  "mno" ,
        "pqrs",  "tuv",  "wxyz",
          ""  ,   ""  ,   ""   };

   for(int i = 0 ; i < 12 ; i++) {
      DialButton* newButton = new DialButton(this);
      newButton->setMinimumHeight(40);
      newButton->setLetter(numbers[i]);
      newButton->setText(numbers[i]+((!texts[i].isEmpty())?("\n"+texts[i]):""));
      mainLayout->addItem(newButton,1+i/3,2*(i%3),1,2);
      connect(newButton,SIGNAL(typed(QString)),this, SLOT(charTyped(QString)));
   }

   Plasma::PushButton* newButton = new Plasma::PushButton(this);
   newButton->setText("Call");
   newButton->setIcon(KIcon("/usr/share/kde4/apps/sflphone-plasmoid/icons/outgoing.svg"));
   mainLayout->addItem(newButton,5,0,1,3);

   Plasma::PushButton* cancelButton = new Plasma::PushButton(this);
   cancelButton->setText("Cancel");
   cancelButton->setIcon(KIcon("/usr/share/kde4/apps/sflphone-plasmoid/icons/hang_up.svg"));
   mainLayout->addItem(cancelButton,5,3,1,3);

   connect(newButton, SIGNAL(clicked()), this, SLOT(call()));
   connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancel()));
}