logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SDL_SetColors - Sets a portion of the colormap for the given 8-bit surface.

Description

       Sets a portion of the colormap for the given 8-bit surface.

       When  surface  is  the  surface associated with the current display, the display colormap will be updated
       with the requested colors. If SDL_HWPALETTE was set in SDL_SetVideoMode flags, SDL_SetColors will  always
       return  1, 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.

       The color components of a SDL_Color structure are 8-bits in size, giving you a total of  256^3  =16777216
       colors.

       Palettized  (8-bit) screen surfaces with the SDL_HWPALETTE 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). SDL_SetColors modifies both palettes (if present), and is equivalent
       to calling SDL_SetPalette with the flags set to (SDL_LOGPAL|SDL_PHYSPAL).

Example

       /* 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);
       .
       .
       .
       .

Name

       SDL_SetColors - Sets a portion of the colormap for the given 8-bit surface.

Return Value

       If  surface  is  not  a palettized surface, this function does nothing, returning 0. If all of the colors
       were set as passed to SDL_SetColors, it will return 1. If not all the color entries were set  exactly  as
       given,  it  will  return  0,  and  you  should  look at the surface palette to determine the actual color
       palette.

See Also

SDL_ColorSDL_Surface, SDL_SetPalette, SDL_SetVideoMode

SDL                                          Tue 11 Sep 2001, 23:01                             SDL_SetColors(3)

Synopsis

#include"SDL.h"intSDL_SetColors(SDL_Surface*surface,SDL_Color*colors,intfirstcolor,intncolors);

See Also