diff options
Diffstat (limited to 'tests/glfw/listmodes.c')
-rw-r--r-- | tests/glfw/listmodes.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/glfw/listmodes.c b/tests/glfw/listmodes.c new file mode 100644 index 00000000..717cfde0 --- /dev/null +++ b/tests/glfw/listmodes.c @@ -0,0 +1,48 @@ +//======================================================================== +// This is a small test application for GLFW. +// The program lists all available fullscreen video modes. +//======================================================================== + +#include <stdio.h> +#include <GL/glfw.h> + +// Maximum number of modes that we want to list +#define MAX_NUM_MODES 400 + + +//======================================================================== +// main() +//======================================================================== + +int main( void ) +{ + GLFWvidmode dtmode, modes[ MAX_NUM_MODES ]; + int modecount, i; + + // Initialize GLFW + if( !glfwInit() ) + { + return 0; + } + + // Show desktop video mode + glfwGetDesktopMode( &dtmode ); + printf( "Desktop mode: %d x %d x %d\n\n", + dtmode.Width, dtmode.Height, dtmode.RedBits + + dtmode.GreenBits + dtmode.BlueBits ); + + // List available video modes + modecount = glfwGetVideoModes( modes, MAX_NUM_MODES ); + printf( "Available modes:\n" ); + for( i = 0; i < modecount; i ++ ) + { + printf( "%3d: %d x %d x %d\n", i, + modes[i].Width, modes[i].Height, modes[i].RedBits + + modes[i].GreenBits + modes[i].BlueBits ); + } + + // Terminate GLFW + glfwTerminate(); + + return 0; +} |