testvidinfo.c
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

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