?? sdl_setcolors.3
字號:
.TH "SDL_SetColors" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" .SH "NAME"SDL_SetColors\- Sets a portion of the colormap for the given 8-bit surface\&..SH "SYNOPSIS".PP\fB#include "SDL\&.h".sp\fBint \fBSDL_SetColors\fP\fR(\fBSDL_Surface *surface, SDL_Color *colors, int firstcolor, int ncolors\fR);.SH "DESCRIPTION".PPSets a portion of the colormap for the given 8-bit surface\&..PPWhen \fBsurface\fR is the surface associated with the current display, the display colormap will be updated with the requested colors\&. If \fBSDL_HWPALETTE\fP was set in \fISDL_SetVideoMode\fR flags, \fBSDL_SetColors\fP will always return \fB1\fR, 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\&..PPThe color components of a \fI\fBSDL_Color\fR\fR structure are 8-bits in size, giving you a total of 256^3 =16777216 colors\&..PPPalettized (8-bit) screen surfaces with the \fBSDL_HWPALETTE\fP 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_SetColors\fP modifies both palettes (if present), and is equivalent to calling \fISDL_SetPalette\fR with the \fBflags\fR set to \fB(SDL_LOGPAL | SDL_PHYSPAL)\fP\&..SH "RETURN VALUE".PPIf \fBsurface\fR is not a palettized surface, this function does nothing, returning \fB0\fR\&. If all of the colors were set as passed to \fBSDL_SetColors\fP, it will return \fB1\fR\&. If not all the color entries were set exactly as given, it will return \fB0\fR, and you should look at the surface palette to determine the actual color palette\&..SH "EXAMPLE".PP.nf\f(CW/* Create a display surface with a grayscale palette */SDL_Surface *screen;SDL_Color colors[256];int i;\&.\&.\&./* Fill colors with color information */for(i=0;i<256;i++){ colors[i]\&.r=i; colors[i]\&.g=i; colors[i]\&.b=i;}/* Create display */screen=SDL_SetVideoMode(640, 480, 8, SDL_HWPALETTE);if(!screen){ printf("Couldn\&'t set video mode: %s", SDL_GetError()); exit(-1);}/* Set palette */SDL_SetColors(screen, colors, 0, 256);\&.\&.\&.\&.\fR.fi.PP.SH "SEE ALSO".PP\fI\fBSDL_Color\fR\fR \fI\fBSDL_Surface\fR\fR, \fI\fBSDL_SetPalette\fP\fR, \fI\fBSDL_SetVideoMode\fP\fR...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -