void DBusTimeout::recalculateDueTime() {
    if(dbus_timeout_get_enabled(libdbusTimeout_)) {
        unsigned int intervalInMs = dbus_timeout_get_interval(libdbusTimeout_);
        dueTimeInMs_ = getCurrentTimeInMs() + intervalInMs;
    } else {
        dueTimeInMs_ = TIMEOUT_INFINITE;
    }
}
Beispiel #2
0
 /**
  * Wird aus dem Java-Code aufgerufen, wenn ein Touch-Ereignis aufgetreten ist.
  *
  * @param env Die JNI-Umgebung.
  * @param obj Das aufrufende Objekt.
  * @param actionType Aktion des Touch-Ereignisses.
  * @param x x-Koordinate des Touch-Ereignisses.
  * @param y y-Koordinate des Touch-Ereignisses.
  */
 JNIEXPORT void JNICALL Java_de_fhwedel_vr2_invisiboga_Invisiboga_nativeTouchEvent(JNIEnv*,
         jobject, jint actionType, jfloat x, jfloat y) {
     // Touch-Ereignisse nur behandeln, wenn ein Trackable sichtbar ist
     if (trackableVisible) {
         // Prüfung, ob das Ereignis den Start einer Druck-Geste ist
         if (actionType == ACTION_DOWN) {
             // Start-Parameter speichern
             touchEvent.lastPosition.data[0] = x;
             touchEvent.lastPosition.data[1] = y;
             touchEvent.startPosition.data[0] = x;
             touchEvent.startPosition.data[1] = y;
             touchEvent.startTime = getCurrentTimeInMs();
             touchEvent.isTap = false;
         } else {
             // letzte Position speichern
             touchEvent.lastPosition = touchEvent.currentPosition;
         }
         // Alter und Distanz berechnen, um das Tippen auf dem Bildschirm erkennen zu können
         unsigned long time = getCurrentTimeInMs();
         touchEvent.lifeTime = time - touchEvent.startTime;
         touchEvent.startPositionLastPositionDistance = vec2FDistance(touchEvent.lastPosition,
                 touchEvent.startPosition);
         // Prüfung, ob das Touch-Ereignis das Ende einer Druck-Geste beschreibt
         if (actionType == ACTION_UP) {
             touchEvent.isActive = false;
             // Wenn die Dauer der Geste und die zurückgelegte Distanz bestimmte Schwellwerte
             // nicht überschreiten, war es ein Tipp.
             if (touchEvent.lifeTime < MAX_TAP_TIME
                     && touchEvent.startPositionLastPositionDistance < MAX_TAP_SQUARED_DISTANCE) {
                 touchEvent.isTap = true;
                 touchEvent.tapPosition = touchEvent.startPosition;
             }
         } else {
             touchEvent.isActive = true;
         }
         // aktuelle Paramter speichern
         touchEvent.actionType = (ActionType)actionType;
         touchEvent.currentPosition.data[0] = x;
         touchEvent.currentPosition.data[1] = y;
     }
 }
Beispiel #3
0
 /**
  * Führt Initialisierungen durch, nachdem das QCAR-Framework erfogreich initialisiert wurde.
  *
  * @param env Die JNI-Umgebung.
  * @param obj Das aufrufende Objekt.
  */
 JNIEXPORT void JNICALL Java_de_fhwedel_vr2_invisiboga_Invisiboga_onQCARInitializedNative(
         JNIEnv*, jobject) {
     LOG("Java_de_fhwedel_vr2_invisiboga_Invisiboga_onQCARInitializedNative");
     // Spielfeld-Länge initialisieren
     field.length = 0;
     // Zeitpunkt des letzten Frames initialisieren
     lastFrameTime = getCurrentTimeInMs();
     // Spiel initialsieren
     initGame();
     // Zufallsgenerator initialisieren
     srand(time(NULL));
 }
void Timestamp::resetTimer()
{
    m_startTime = getCurrentTimeInMs();
}
double Timestamp::getCurrentTimeinS() const
{
    return (double) getCurrentTimeInMs() / 1000.0;
}
unsigned long Timestamp::getElapsedTimeInMs() const
{
    return getCurrentTimeInMs() - m_startTime;
}
double Timestamp::getElapsedTimeInS() const
{
    return (double) (getCurrentTimeInMs() - m_startTime)/1000;
}
gint64 GStreamerWrapper::getCurrentFrameNumber()
{
	m_iCurrentFrameNumber = floor( (double)getCurrentTimeInMs() / 1000.0 * m_fFps );
	return m_iCurrentFrameNumber;
}