qtmobility/examples/sensors/panorama/magnetometercontroller.cpp
changeset 11 06b8e2af4411
child 14 6fbed849b4f4
equal deleted inserted replaced
8:71781823f776 11:06b8e2af4411
       
     1 
       
     2 
       
     3 #include "inputcontroller.h"
       
     4 #include "magnetometercontroller.h"
       
     5 #include "view.h"
       
     6 #include <qmagnetometer.h>
       
     7 
       
     8 MagnetometerController::MagnetometerController(): m_width(View::m_imageWidth){}
       
     9 
       
    10 
       
    11 void MagnetometerController::startSensor()
       
    12 {
       
    13     m_magnetometer.setProperty("returnGeoValues", true);
       
    14     m_magnetometer.connectToBackend();
       
    15     m_magnetometer.start();
       
    16     connect(&m_magnetometer, SIGNAL(readingChanged()), this, SLOT(update()));
       
    17 }
       
    18 
       
    19 void MagnetometerController::stopSensor() { m_magnetometer.stop();}
       
    20 
       
    21 
       
    22 void MagnetometerController::update()
       
    23 {
       
    24     qreal azimuth = -m_magnetometer.reading()->z();
       
    25     azimuth = azimuth<0?360+azimuth:azimuth;
       
    26     m_x = (int)(-azimuth * m_width/360);
       
    27 
       
    28 
       
    29     //TODO: consider provide y values based on x and y
       
    30 }
       
    31 
       
    32 
       
    33 
       
    34