examples/sensors/panorama/keycontroller.cpp
changeset 0 876b1a06bc25
equal deleted inserted replaced
-1:000000000000 0:876b1a06bc25
       
     1 
       
     2 #include "keycontroller.h"
       
     3 #include "view.h"
       
     4 
       
     5 KeyController::KeyController(): TimedController(), m_step(5){}
       
     6 
       
     7 KeyController::~KeyController(){}
       
     8 
       
     9 
       
    10 void KeyController::keyPressEvent(QKeyEvent *e)
       
    11 {
       
    12     int code = e->key();
       
    13     handleKeyPress(code);
       
    14     m_step = m_exCode==code && m_exCode > 0? m_step+2 : 5;
       
    15 }
       
    16 
       
    17 
       
    18 void KeyController::updateCoordinates() { handleKeyPress(m_exCode);}
       
    19 
       
    20 
       
    21 void KeyController::handleKeyPress(int code){
       
    22     switch (code){
       
    23     case Qt::Key_Right:
       
    24         m_x+=m_step;
       
    25         break;
       
    26     case Qt::Key_Left:
       
    27         m_x-=m_step;
       
    28         break;
       
    29     case Qt::Key_Up:
       
    30         m_y-=m_step;
       
    31         break;
       
    32     case Qt::Key_Down:
       
    33         m_y+=m_step;
       
    34         break;
       
    35     default:
       
    36         m_exCode = 0;
       
    37         return;
       
    38     }
       
    39     m_exCode = code;
       
    40 }
       
    41 
       
    42