test/testvidinfo.c

/* [<][>]
[^][v][top][bottom][index][help] */

FUNCTIONS

This source file includes following functions.
  1. main

   1 
   2 /* Simple program -- figure out what kind of video display we have */
   3 
   4 #include <stdio.h>
   5 #include <stdlib.h>
   6 
   7 #include "SDL.h"
   8 
   9 int main(int argc, char *argv[])
     /* [<][>][^][v][top][bottom][index][help] */
  10 {
  11         const SDL_VideoInfo *info;
  12         int i;
  13         SDL_Rect **modes;
  14 
  15         if ( SDL_Init(SDL_INIT_VIDEO) < 0 ) {
  16                 fprintf(stderr,
  17                         "Couldn't initialize SDL: %s\n", SDL_GetError());
  18                 exit(1);
  19         }
  20         info = SDL_GetVideoInfo();
  21         printf(
  22 "Current display: %d bits-per-pixel\n",info->vfmt->BitsPerPixel);
  23         if ( info->vfmt->palette == NULL ) {
  24                 printf("        Red Mask = 0x%.8x\n", info->vfmt->Rmask);
  25                 printf("        Green Mask = 0x%.8x\n", info->vfmt->Gmask);
  26                 printf("        Blue Mask = 0x%.8x\n", info->vfmt->Bmask);
  27         }
  28         /* Print available fullscreen video modes */
  29         modes = SDL_ListModes(NULL, SDL_FULLSCREEN);
  30         if ( modes == (SDL_Rect **)0 ) {
  31                 printf("No available fullscreen video modes\n");
  32         } else
  33         if ( modes == (SDL_Rect **)-1 ) {
  34                 printf("No special fullscreen video modes\n");
  35         } else {
  36                 printf("Fullscreen video modes:\n");
  37                 for ( i=0; modes[i]; ++i ) {
  38                         printf("\t%dx%d\n", modes[i]->w, modes[i]->h);
  39                 }
  40         }
  41         if ( info->wm_available ) {
  42                 printf("A window manager is available\n");
  43         }
  44         if ( info->hw_available ) {
  45                 printf("Hardware surfaces are available (%dK video memory)\n",
  46                         info->video_mem);
  47         }
  48         if ( info->blit_hw ) {
  49                 printf(
  50 "Copy blits between hardware surfaces are accelerated\n");
  51         }
  52         if ( info->blit_hw_CC ) {
  53                 printf(
  54 "Colorkey blits between hardware surfaces are accelerated\n");
  55         }
  56         if ( info->blit_hw_A ) {
  57                 printf(
  58 "Alpha blits between hardware surfaces are accelerated\n");
  59         }
  60         if ( info->blit_sw ) {
  61                 printf(
  62 "Copy blits from software surfaces to hardware surfaces are accelerated\n");
  63         }
  64         if ( info->blit_sw_CC ) {
  65                 printf(
  66 "Colorkey blits from software surfaces to hardware surfaces are accelerated\n");
  67         }
  68         if ( info->blit_sw_A ) {
  69                 printf(
  70 "Alpha blits from software surfaces to hardware surfaces are accelerated\n");
  71         }
  72         if ( info->blit_fill ) {
  73                 printf(
  74 "Color fills on hardware surfaces are accelerated\n");
  75         }
  76         SDL_Quit();
  77         return(0);
  78 }

/* [<][>][^][v][top][bottom][index][help] */