symbian-qemu-0.9.1-12/libsdl-trunk/docs/man3/SDL_SetPalette.3
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 .TH "SDL_SetPalette" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" 
       
     2 .SH "NAME"
       
     3 SDL_SetPalette \- Sets the colors in the palette of an 8-bit surface\&.
       
     4 .SH "SYNOPSIS"
       
     5 .PP
       
     6 \fB#include "SDL\&.h"
       
     7 .sp
       
     8 \fBint \fBSDL_SetPalette\fP\fR(\fBSDL_Surface *surface, int flags, SDL_Color *colors, int firstcolor, int ncolors\fR);
       
     9 .SH "DESCRIPTION"
       
    10 .PP
       
    11 Sets a portion of the palette for the given 8-bit surface\&.
       
    12 .PP
       
    13 Palettized (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)\&. \fISDL_BlitSurface\fR always uses the logical palette when blitting surfaces (if it has to convert between surface pixel formats)\&. Because of this, it is often useful to modify only one or the other palette to achieve various special color effects (e\&.g\&., screen fading, color flashes, screen dimming)\&.
       
    14 .PP
       
    15 This function can modify either the logical or physical palette by specifing \fBSDL_LOGPAL\fP or \fBSDL_PHYSPAL\fPthe in the \fBflags\fR parameter\&.
       
    16 .PP
       
    17 When \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_SetPalette\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\&.
       
    18 .PP
       
    19 The color components of a \fI\fBSDL_Color\fR\fR structure are 8-bits in size, giving you a total of 256^3=16777216 colors\&.
       
    20 .SH "RETURN VALUE"
       
    21 .PP
       
    22 If \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_SetPalette\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\&.
       
    23 .SH "EXAMPLE"
       
    24 .PP
       
    25 .nf
       
    26 \f(CW        /* Create a display surface with a grayscale palette */
       
    27         SDL_Surface *screen;
       
    28         SDL_Color colors[256];
       
    29         int i;
       
    30         \&.
       
    31         \&.
       
    32         \&.
       
    33         /* Fill colors with color information */
       
    34         for(i=0;i<256;i++){
       
    35           colors[i]\&.r=i;
       
    36           colors[i]\&.g=i;
       
    37           colors[i]\&.b=i;
       
    38         }
       
    39 
       
    40         /* Create display */
       
    41         screen=SDL_SetVideoMode(640, 480, 8, SDL_HWPALETTE);
       
    42         if(!screen){
       
    43           printf("Couldn\&'t set video mode: %s
       
    44 ", SDL_GetError());
       
    45           exit(-1);
       
    46         }
       
    47 
       
    48         /* Set palette */
       
    49         SDL_SetPalette(screen, SDL_LOGPAL|SDL_PHYSPAL, colors, 0, 256);
       
    50         \&.
       
    51         \&.
       
    52         \&.
       
    53         \&.\fR
       
    54 .fi
       
    55 .PP
       
    56 .SH "SEE ALSO"
       
    57 .PP
       
    58 \fISDL_SetColors\fR, \fISDL_SetVideoMode\fR, \fISDL_Surface\fR, \fISDL_Color\fR
       
    59 ...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01