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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. .TH "SDL_SetColors" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" 
  2. .SH "NAME"
  3. SDL_SetColors- Sets a portion of the colormap for the given 8-bit surface&.
  4. .SH "SYNOPSIS"
  5. .PP
  6. fB#include "SDL&.h"
  7. .sp
  8. fBint fBSDL_SetColorsfPfR(fBSDL_Surface *surface, SDL_Color *colors, int firstcolor, int ncolorsfR);
  9. .SH "DESCRIPTION"
  10. .PP
  11. Sets a portion of the colormap for the given 8-bit surface&.
  12. .PP
  13. When fBsurfacefR is the surface associated with the current display, the display colormap will be updated with the requested colors&. If fBSDL_HWPALETTEfP was set in fISDL_SetVideoModefR flags, fBSDL_SetColorsfP will always return fB1fR, and the palette is guaranteed to be set the way you desire, even if the window colormap has to be warped or run under emulation&.
  14. .PP
  15. The color components of a fIfBSDL_ColorfRfR structure are 8-bits in size, giving you a total of 256^3 =16777216 colors&.
  16. .PP
  17. Palettized (8-bit) screen surfaces with the fBSDL_HWPALETTEfP flag have two palettes, a logical palette that is used for mapping blits to/from the surface and a physical palette (that determines how the hardware will map the colors to the display)&. fBSDL_SetColorsfP modifies both palettes (if present), and is equivalent to calling fISDL_SetPalettefR with the fBflagsfR set to fB(SDL_LOGPAL | SDL_PHYSPAL)fP&.
  18. .SH "RETURN VALUE"
  19. .PP
  20. If fBsurfacefR is not a palettized surface, this function does nothing, returning fB0fR&. If all of the colors were set as passed to fBSDL_SetColorsfP, it will return fB1fR&. If not all the color entries were set exactly as given, it will return fB0fR, and you should look at the surface palette to determine the actual color palette&.
  21. .SH "EXAMPLE"
  22. .PP
  23. .nf
  24. f(CW/* Create a display surface with a grayscale palette */
  25. SDL_Surface *screen;
  26. SDL_Color colors[256];
  27. int i;
  28. &.
  29. &.
  30. &.
  31. /* Fill colors with color information */
  32. for(i=0;i<256;i++){
  33.   colors[i]&.r=i;
  34.   colors[i]&.g=i;
  35.   colors[i]&.b=i;
  36. }
  37. /* Create display */
  38. screen=SDL_SetVideoMode(640, 480, 8, SDL_HWPALETTE);
  39. if(!screen){
  40.   printf("Couldn&'t set video mode: %s
  41. ", SDL_GetError());
  42.   exit(-1);
  43. }
  44. /* Set palette */
  45. SDL_SetColors(screen, colors, 0, 256);
  46. &.
  47. &.
  48. &.
  49. &.fR
  50. .fi
  51. .PP
  52. .SH "SEE ALSO"
  53. .PP
  54. fIfBSDL_ColorfRfR fIfBSDL_SurfacefRfR, fIfBSDL_SetPalettefPfR, fIfBSDL_SetVideoModefPfR
  55. ..." created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01