X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fandroid%2Ffg_state_android.c;h=bd2b034fe5dd3860cda56e6008cd3fa0d48bd77a;hb=cd0898cee3e8d093c4edbafd87aa66661cdbce46;hp=f229c953c5b1f86a0cbd0a131fe4f4b56ef3ad0a;hpb=699e33a683a11845b2e22b2396051af89e8cc0c1;p=freeglut diff --git a/src/android/fg_state_android.c b/src/android/fg_state_android.c index f229c95..bd2b034 100644 --- a/src/android/fg_state_android.c +++ b/src/android/fg_state_android.c @@ -1,5 +1,5 @@ /* - * freeglut_state_android.c + * fg_state_android.c * * Android-specific freeglut state query methods. * @@ -29,18 +29,45 @@ #include #include #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,7 +83,12 @@ 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); }