Bladeren bron

- Began working on adding property setters for android, including profiles for hmd's

TheOnlyJoey 10 jaren geleden
bovenliggende
commit
dec3ff20c2
2 gewijzigde bestanden met toevoegingen van 56 en 3 verwijderingen
  1. 30 3
      src/drv_android/android.c
  2. 26 0
      src/drv_android/android.h

+ 30 - 3
src/drv_android/android.c

@@ -8,8 +8,7 @@
 
 /* Android Driver */
 
-#include <string.h>
-#include "../openhmdi.h"
+#include "android.h"
 
 typedef struct {
 	ohmd_device base;
@@ -102,7 +101,7 @@ static ohmd_device* open_device(ohmd_driver* driver, ohmd_device_desc* desc)
 	priv->base.close = close_device;
 	priv->base.getf = getf;
 	priv->base.setf = setf;
-	
+
 	ofusion_init(&priv->sensor_fusion);
 
 	return (ohmd_device*)priv;
@@ -141,3 +140,31 @@ ohmd_driver* ohmd_create_android_drv(ohmd_context* ctx)
 
 	return drv;
 }
+
+/* Android specific functions */
+static void set_android_properties(ohmd_driver* driver, ohmd_device_properties* props)
+{
+    android_priv* priv = (android_priv*)device;
+
+	priv->base.properties.hsize = props->hsize;
+	priv->base.properties.vsize = props->vsize;
+	priv->base.properties.hres = props->hres;
+	priv->base.properties.vres = props->vres;
+	priv->base.properties.lens_sep = props->lens_sep;
+	priv->base.properties.lens_vpos = props->lens_vpos;
+	priv->base.properties.fov = DEG_TO_RAD(props->fov);
+	priv->base.properties.ratio = props->ratio;
+}
+
+static void set_android_profile(ohmd_driver* driver, android_hmd_profile profile)
+{
+    switch(profile){
+        case DROID_DUROVIS_OPEN_DIVE: break;
+        case DROID_DUROVIS_DIVE_5: break;
+        case DROID_DUROVIS_DIVE_7: break;
+        case DROID_CARL_ZEISS_VRONE: break;
+        case DROID_GOOGLE_CARDBOARD: break;
+        case DROID_NONE:
+        default: break;
+    }
+}

+ 26 - 0
src/drv_android/android.h

@@ -0,0 +1,26 @@
+/*
+ * OpenHMD - Free and Open Source API and drivers for immersive technology.
+ * Copyright (C) 2013 Fredrik Hultin.
+ * Copyright (C) 2013 Jakob Bornecrantz.
+ * Copyright (C) 2015 Joey Ferwerda
+ * Distributed under the Boost 1.0 licence, see LICENSE for full text.
+ */
+
+/* Android Driver */
+
+#ifndef ANDROID_H
+#define ANDROID_H
+
+#include "../openhmdi.h"
+
+typedef enum {
+    DROID_DUROVIS_OPEN_DIVE   = 1;
+    DROID_DUROVIS_DIVE_5      = 2;
+    DROID_DUROVIS_DIVE_7      = 3;
+    DROID_CARL_ZEISS_VRONE    = 4;
+    DROID_GOOGLE_CARDBOARD    = 5;
+
+    DROID_NONE                = 0;
+} android_hmd_profile;
+
+#endif // ANDROID_H