Fixed freeglut.pdb install for builds with MSVC compiler and NMake.
[freeglut] / src / android / fg_state_android.c
index aea9b25..bd2b034 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * freeglut_state_android.c
+ * fg_state_android.c
  *
  * Android-specific freeglut state query methods.
  *
 #include <stdio.h>
 #include <android/native_window.h>
 #include "fg_internal.h"
+#include "egl/fg_state_egl.h"
 
 int fgPlatformGlutDeviceGet ( GLenum eWhat )
 {
-  fprintf(stderr, "fgPlatformGlutDeviceGet: STUB\n");
-  return -1;
+    switch( eWhat )
+    {
+    case GLUT_HAS_KEYBOARD:
+        /* Android has a keyboard, though it may be virtual. */
+        return 1;
+
+    case GLUT_HAS_MOUSE:
+        /* Android has a touchscreen; until we get proper touchscreen
+           support, consider it as a mouse. */
+        return 1 ;
+
+    case GLUT_NUM_MOUSE_BUTTONS:
+        /* Android has a touchscreen; until we get proper touchscreen
+           support, consider it as a 1-button mouse. */
+        return 1;
+
+    default:
+        fgWarning( "glutDeviceGet(): missing enum handle %d", eWhat );
+        break;
+    }
+
+    /* And now -- the failure. */
+    return -1;
 }
 
 int fgPlatformGlutGet ( GLenum eWhat )
 {
-  fprintf(stderr, "fgPlatformGlutGet: STUB\n");
-
   switch (eWhat) {
+  /* One full-screen window only */
+  case GLUT_WINDOW_X:
+  case GLUT_WINDOW_Y:
+  case GLUT_WINDOW_BORDER_WIDTH:
+  case GLUT_WINDOW_HEADER_HEIGHT:
+      return 0;
+
   case GLUT_WINDOW_WIDTH:
   case GLUT_WINDOW_HEIGHT:
     {
@@ -56,54 +83,14 @@ int fgPlatformGlutGet ( GLenum eWhat )
          return height;
        }
     }
-    
+
+  case GLUT_WINDOW_COLORMAP_SIZE:
+      /* 0 for RGBA/non-indexed mode */
+      /* Under Android and GLES more generally, no indexed-mode */
+      return 0;
+  
   default:
     return fghPlatformGlutGetEGL(eWhat);
   }
   return -1;
 }
-
-int fgPlatformGlutLayerGet( GLenum eWhat )
-{
-  fprintf(stderr, "fgPlatformGlutLayerGet: STUB\n");
-
-  /*
-   * This is easy as layers are not implemented ;-)
-   *
-   * XXX Can we merge the UNIX/X11 and WIN32 sections?  Or
-   * XXX is overlay support planned?
-   */
-  switch( eWhat )
-    {
-    case GLUT_OVERLAY_POSSIBLE:
-      return 0;
-
-    case GLUT_LAYER_IN_USE:
-      return GLUT_NORMAL;
-
-    case GLUT_HAS_OVERLAY:
-      return 0;
-
-    case GLUT_TRANSPARENT_INDEX:
-      /*
-       * Return just anything, which is always defined as zero
-       *
-       * XXX HUH?
-       */
-      return 0;
-
-    case GLUT_NORMAL_DAMAGED:
-      /* XXX Actually I do not know. Maybe. */
-      return 0;
-
-    case GLUT_OVERLAY_DAMAGED:
-      return -1;
-
-    default:
-      fgWarning( "glutLayerGet(): missing enum handle %d", eWhat );
-      break;
-    }
-
-  /* And fail. That's good. Programs do love failing. */
-  return -1;
-}