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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. .TH "SDL_CreateRGBSurface" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" 
  2. .SH "NAME"
  3. SDL_CreateRGBSurface- Create an empty SDL_Surface
  4. .SH "SYNOPSIS"
  5. .PP
  6. fB#include "SDL&.h"
  7. .sp
  8. fBSDL_Surface *fBSDL_CreateRGBSurfacefPfR(fBUint32 flags, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 AmaskfR);
  9. .SH "DESCRIPTION"
  10. .PP
  11. Allocate an empty surface (must be called after fISDL_SetVideoModefR)
  12. .PP
  13. If fBdepthfR is 8 bits an empty palette is allocated for the surface, otherwise a &'packed-pixel&' fIfBSDL_PixelFormatfRfR is created using the fB[RGBA]maskfR&'s provided (see fIfBSDL_PixelFormatfRfR)&. The fBflagsfR specifies the type of surface that should be created, it is an OR&'d combination of the following possible values&.
  14. .TP 20
  15. fBSDL_SWSURFACEfP
  16. SDL will create the surface in system memory&. This improves the performance of pixel level access, however you may not be able to take advantage of some types of hardware blitting&.
  17. .TP 20
  18. fBSDL_HWSURFACEfP
  19. SDL will attempt to create the surface in video memory&. This will allow SDL to take advantage of Video->Video blits (which are often accelerated)&.
  20. .TP 20
  21. fBSDL_SRCCOLORKEYfP
  22. This flag turns on colourkeying for blits from this surface&. If fBSDL_HWSURFACEfP is also specified and colourkeyed blits are hardware-accelerated, then SDL will attempt to place the surface in video memory&. Use fIfBSDL_SetColorKeyfPfR to set or clear this flag after surface creation&.
  23. .TP 20
  24. fBSDL_SRCALPHAfP
  25. This flag turns on alpha-blending for blits from this surface&. If fBSDL_HWSURFACEfP is also specified and alpha-blending blits are hardware-accelerated, then the surface will be placed in video memory if possible&. Use fIfBSDL_SetAlphafPfR to set or clear this flag after surface creation&.
  26. .PP
  27. .RS
  28. fBNote:  
  29. .PP
  30. If an alpha-channel is specified (that is, if fBAmaskfR is nonzero), then the fBSDL_SRCALPHAfP flag is automatically set&. You may remove this flag by calling fIfBSDL_SetAlphafPfR after surface creation&.
  31. .RE
  32. .SH "RETURN VALUE"
  33. .PP
  34. Returns the created surface, or fBNULLfR upon error&.
  35. .SH "EXAMPLE"
  36. .PP
  37. .nf
  38. f(CW    /* Create a 32-bit surface with the bytes of each pixel in R,G,B,A order,
  39.        as expected by OpenGL for textures */
  40.     SDL_Surface *surface;
  41.     Uint32 rmask, gmask, bmask, amask;
  42.     /* SDL interprets each pixel as a 32-bit number, so our masks must depend
  43.        on the endianness (byte order) of the machine */
  44. #if SDL_BYTEORDER == SDL_BIG_ENDIAN
  45.     rmask = 0xff000000;
  46.     gmask = 0x00ff0000;
  47.     bmask = 0x0000ff00;
  48.     amask = 0x000000ff;
  49. #else
  50.     rmask = 0x000000ff;
  51.     gmask = 0x0000ff00;
  52.     bmask = 0x00ff0000;
  53.     amask = 0xff000000;
  54. #endif
  55.     surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32,
  56.                                    rmask, gmask, bmask, amask);
  57.     if(surface == NULL) {
  58.         fprintf(stderr, "CreateRGBSurface failed: %s
  59. ", SDL_GetError());
  60.         exit(1);
  61.     }fR
  62. .fi
  63. .PP
  64. .SH "SEE ALSO"
  65. .PP
  66. fIfBSDL_CreateRGBSurfaceFromfPfR, fIfBSDL_FreeSurfacefPfR, fIfBSDL_SetVideoModefPfR, fIfBSDL_LockSurfacefPfR, fIfBSDL_PixelFormatfRfR, fIfBSDL_SurfacefRfR fIfBSDL_SetAlphafPfR fIfBSDL_SetColorKeyfPfR
  67. ..." created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01