symbian-qemu-0.9.1-12/libsdl-trunk/docs/html/sdlsetpalette.html
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 <HTML
       
     2 ><HEAD
       
     3 ><TITLE
       
     4 >SDL_SetPalette</TITLE
       
     5 ><META
       
     6 NAME="GENERATOR"
       
     7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
       
     8 "><LINK
       
     9 REL="HOME"
       
    10 TITLE="SDL Library Documentation"
       
    11 HREF="index.html"><LINK
       
    12 REL="UP"
       
    13 TITLE="Video"
       
    14 HREF="video.html"><LINK
       
    15 REL="PREVIOUS"
       
    16 TITLE="SDL_SetColors"
       
    17 HREF="sdlsetcolors.html"><LINK
       
    18 REL="NEXT"
       
    19 TITLE="SDL_SetGamma"
       
    20 HREF="sdlsetgamma.html"></HEAD
       
    21 ><BODY
       
    22 CLASS="REFENTRY"
       
    23 BGCOLOR="#FFF8DC"
       
    24 TEXT="#000000"
       
    25 LINK="#0000ee"
       
    26 VLINK="#551a8b"
       
    27 ALINK="#ff0000"
       
    28 ><DIV
       
    29 CLASS="NAVHEADER"
       
    30 ><TABLE
       
    31 SUMMARY="Header navigation table"
       
    32 WIDTH="100%"
       
    33 BORDER="0"
       
    34 CELLPADDING="0"
       
    35 CELLSPACING="0"
       
    36 ><TR
       
    37 ><TH
       
    38 COLSPAN="3"
       
    39 ALIGN="center"
       
    40 >SDL Library Documentation</TH
       
    41 ></TR
       
    42 ><TR
       
    43 ><TD
       
    44 WIDTH="10%"
       
    45 ALIGN="left"
       
    46 VALIGN="bottom"
       
    47 ><A
       
    48 HREF="sdlsetcolors.html"
       
    49 ACCESSKEY="P"
       
    50 >Prev</A
       
    51 ></TD
       
    52 ><TD
       
    53 WIDTH="80%"
       
    54 ALIGN="center"
       
    55 VALIGN="bottom"
       
    56 ></TD
       
    57 ><TD
       
    58 WIDTH="10%"
       
    59 ALIGN="right"
       
    60 VALIGN="bottom"
       
    61 ><A
       
    62 HREF="sdlsetgamma.html"
       
    63 ACCESSKEY="N"
       
    64 >Next</A
       
    65 ></TD
       
    66 ></TR
       
    67 ></TABLE
       
    68 ><HR
       
    69 ALIGN="LEFT"
       
    70 WIDTH="100%"></DIV
       
    71 ><H1
       
    72 ><A
       
    73 NAME="SDLSETPALETTE"
       
    74 ></A
       
    75 >SDL_SetPalette</H1
       
    76 ><DIV
       
    77 CLASS="REFNAMEDIV"
       
    78 ><A
       
    79 NAME="AEN1517"
       
    80 ></A
       
    81 ><H2
       
    82 >Name</H2
       
    83 >SDL_SetPalette&nbsp;--&nbsp;Sets the colors in the palette of an 8-bit surface.</DIV
       
    84 ><DIV
       
    85 CLASS="REFSYNOPSISDIV"
       
    86 ><A
       
    87 NAME="AEN1520"
       
    88 ></A
       
    89 ><H2
       
    90 >Synopsis</H2
       
    91 ><DIV
       
    92 CLASS="FUNCSYNOPSIS"
       
    93 ><A
       
    94 NAME="AEN1521"
       
    95 ></A
       
    96 ><P
       
    97 ></P
       
    98 ><PRE
       
    99 CLASS="FUNCSYNOPSISINFO"
       
   100 >#include "SDL.h"</PRE
       
   101 ><P
       
   102 ><CODE
       
   103 ><CODE
       
   104 CLASS="FUNCDEF"
       
   105 >int <B
       
   106 CLASS="FSFUNC"
       
   107 >SDL_SetPalette</B
       
   108 ></CODE
       
   109 >(SDL_Surface *surface, int flags, SDL_Color *colors, int firstcolor, int ncolors);</CODE
       
   110 ></P
       
   111 ><P
       
   112 ></P
       
   113 ></DIV
       
   114 ></DIV
       
   115 ><DIV
       
   116 CLASS="REFSECT1"
       
   117 ><A
       
   118 NAME="AEN1527"
       
   119 ></A
       
   120 ><H2
       
   121 >Description</H2
       
   122 ><P
       
   123 >Sets a portion of the palette for the given 8-bit surface.</P
       
   124 ><P
       
   125 >Palettized (8-bit) screen surfaces with the
       
   126 <TT
       
   127 CLASS="LITERAL"
       
   128 >SDL_HWPALETTE</TT
       
   129 > flag have two palettes, a logical
       
   130 palette that is used for mapping blits to/from the surface and a
       
   131 physical palette (that determines how the hardware will map the colors
       
   132 to the display). <A
       
   133 HREF="sdlblitsurface.html"
       
   134 >SDL_BlitSurface</A
       
   135 >
       
   136 always uses the logical palette when blitting surfaces (if it has to
       
   137 convert between surface pixel formats). Because of this, it is often
       
   138 useful to modify only one or the other palette to achieve various
       
   139 special color effects (e.g., screen fading, color flashes, screen dimming).</P
       
   140 ><P
       
   141 >This function can modify either the logical or physical palette by
       
   142 specifing <TT
       
   143 CLASS="LITERAL"
       
   144 >SDL_LOGPAL</TT
       
   145 > or
       
   146 <TT
       
   147 CLASS="LITERAL"
       
   148 >SDL_PHYSPAL</TT
       
   149 >the in the <TT
       
   150 CLASS="PARAMETER"
       
   151 ><I
       
   152 >flags</I
       
   153 ></TT
       
   154 >
       
   155 parameter.</P
       
   156 ><P
       
   157 >When <TT
       
   158 CLASS="PARAMETER"
       
   159 ><I
       
   160 >surface</I
       
   161 ></TT
       
   162 > is the surface associated with the current
       
   163 display, the display colormap will be updated with the requested colors.  If
       
   164 <TT
       
   165 CLASS="LITERAL"
       
   166 >SDL_HWPALETTE</TT
       
   167 > was set in <A
       
   168 HREF="sdlsetvideomode.html"
       
   169 >SDL_SetVideoMode</A
       
   170 > flags,
       
   171 <TT
       
   172 CLASS="FUNCTION"
       
   173 >SDL_SetPalette</TT
       
   174 > will always return <SPAN
       
   175 CLASS="RETURNVALUE"
       
   176 >1</SPAN
       
   177 >,
       
   178 and the palette is guaranteed to be set the way you desire, even if the window
       
   179 colormap has to be warped or run under emulation.</P
       
   180 ><P
       
   181 >The color components of a
       
   182 <A
       
   183 HREF="sdlcolor.html"
       
   184 ><SPAN
       
   185 CLASS="STRUCTNAME"
       
   186 >SDL_Color</SPAN
       
   187 ></A
       
   188 > structure
       
   189 are 8-bits in size, giving you a total of
       
   190 256<SUP
       
   191 >3</SUP
       
   192 >=16777216 colors.</P
       
   193 ></DIV
       
   194 ><DIV
       
   195 CLASS="REFSECT1"
       
   196 ><A
       
   197 NAME="AEN1547"
       
   198 ></A
       
   199 ><H2
       
   200 >Return Value</H2
       
   201 ><P
       
   202 >If <TT
       
   203 CLASS="PARAMETER"
       
   204 ><I
       
   205 >surface</I
       
   206 ></TT
       
   207 > is not a palettized surface, this function
       
   208 does nothing, returning <SPAN
       
   209 CLASS="RETURNVALUE"
       
   210 >0</SPAN
       
   211 >.  If all of the colors were set
       
   212 as passed to <TT
       
   213 CLASS="FUNCTION"
       
   214 >SDL_SetPalette</TT
       
   215 >, it will return
       
   216 <SPAN
       
   217 CLASS="RETURNVALUE"
       
   218 >1</SPAN
       
   219 >.  If not all the color entries were set exactly as
       
   220 given, it will return <SPAN
       
   221 CLASS="RETURNVALUE"
       
   222 >0</SPAN
       
   223 >, and you should look at the
       
   224 surface palette to determine the actual color palette.</P
       
   225 ></DIV
       
   226 ><DIV
       
   227 CLASS="REFSECT1"
       
   228 ><A
       
   229 NAME="AEN1555"
       
   230 ></A
       
   231 ><H2
       
   232 >Example</H2
       
   233 ><PRE
       
   234 CLASS="PROGRAMLISTING"
       
   235 >        /* Create a display surface with a grayscale palette */
       
   236         SDL_Surface *screen;
       
   237         SDL_Color colors[256];
       
   238         int i;
       
   239         .
       
   240         .
       
   241         .
       
   242         /* Fill colors with color information */
       
   243         for(i=0;i&#60;256;i++){
       
   244           colors[i].r=i;
       
   245           colors[i].g=i;
       
   246           colors[i].b=i;
       
   247         }
       
   248 
       
   249         /* Create display */
       
   250         screen=SDL_SetVideoMode(640, 480, 8, SDL_HWPALETTE);
       
   251         if(!screen){
       
   252           printf("Couldn't set video mode: %s\n", SDL_GetError());
       
   253           exit(-1);
       
   254         }
       
   255 
       
   256         /* Set palette */
       
   257         SDL_SetPalette(screen, SDL_LOGPAL|SDL_PHYSPAL, colors, 0, 256);
       
   258         .
       
   259         .
       
   260         .
       
   261         .</PRE
       
   262 ></DIV
       
   263 ><DIV
       
   264 CLASS="REFSECT1"
       
   265 ><A
       
   266 NAME="AEN1558"
       
   267 ></A
       
   268 ><H2
       
   269 >See Also</H2
       
   270 ><P
       
   271 ><A
       
   272 HREF="sdlsetcolors.html"
       
   273 >SDL_SetColors</A
       
   274 >,
       
   275 <A
       
   276 HREF="sdlsetvideomode.html"
       
   277 >SDL_SetVideoMode</A
       
   278 >,
       
   279 <A
       
   280 HREF="sdlsurface.html"
       
   281 >SDL_Surface</A
       
   282 >,
       
   283 <A
       
   284 HREF="sdlcolor.html"
       
   285 >SDL_Color</A
       
   286 ></P
       
   287 ></DIV
       
   288 ><DIV
       
   289 CLASS="NAVFOOTER"
       
   290 ><HR
       
   291 ALIGN="LEFT"
       
   292 WIDTH="100%"><TABLE
       
   293 SUMMARY="Footer navigation table"
       
   294 WIDTH="100%"
       
   295 BORDER="0"
       
   296 CELLPADDING="0"
       
   297 CELLSPACING="0"
       
   298 ><TR
       
   299 ><TD
       
   300 WIDTH="33%"
       
   301 ALIGN="left"
       
   302 VALIGN="top"
       
   303 ><A
       
   304 HREF="sdlsetcolors.html"
       
   305 ACCESSKEY="P"
       
   306 >Prev</A
       
   307 ></TD
       
   308 ><TD
       
   309 WIDTH="34%"
       
   310 ALIGN="center"
       
   311 VALIGN="top"
       
   312 ><A
       
   313 HREF="index.html"
       
   314 ACCESSKEY="H"
       
   315 >Home</A
       
   316 ></TD
       
   317 ><TD
       
   318 WIDTH="33%"
       
   319 ALIGN="right"
       
   320 VALIGN="top"
       
   321 ><A
       
   322 HREF="sdlsetgamma.html"
       
   323 ACCESSKEY="N"
       
   324 >Next</A
       
   325 ></TD
       
   326 ></TR
       
   327 ><TR
       
   328 ><TD
       
   329 WIDTH="33%"
       
   330 ALIGN="left"
       
   331 VALIGN="top"
       
   332 >SDL_SetColors</TD
       
   333 ><TD
       
   334 WIDTH="34%"
       
   335 ALIGN="center"
       
   336 VALIGN="top"
       
   337 ><A
       
   338 HREF="video.html"
       
   339 ACCESSKEY="U"
       
   340 >Up</A
       
   341 ></TD
       
   342 ><TD
       
   343 WIDTH="33%"
       
   344 ALIGN="right"
       
   345 VALIGN="top"
       
   346 >SDL_SetGamma</TD
       
   347 ></TR
       
   348 ></TABLE
       
   349 ></DIV
       
   350 ></BODY
       
   351 ></HTML
       
   352 >