Mercurial > sdl-ios-xcode
diff docs/html/sdlsetcolors.html @ 0:74212992fb08
Initial revision
author | Sam Lantinga <slouken@lokigames.com> |
---|---|
date | Thu, 26 Apr 2001 16:45:43 +0000 |
parents | |
children | 55f1f1b3e27d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/html/sdlsetcolors.html Thu Apr 26 16:45:43 2001 +0000 @@ -0,0 +1,350 @@ +<HTML +><HEAD +><TITLE +>SDL_SetColors</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.61 +"><LINK +REL="HOME" +TITLE="SDL Library Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Video" +HREF="video.html"><LINK +REL="PREVIOUS" +TITLE="SDL_Flip" +HREF="sdlflip.html"><LINK +REL="NEXT" +TITLE="SDL_SetPalette" +HREF="sdlsetpalette.html"></HEAD +><BODY +CLASS="REFENTRY" +BGCOLOR="#FFF8DC" +TEXT="#000000" +LINK="#0000ee" +VLINK="#551a8b" +ALINK="#ff0000" +><DIV +CLASS="NAVHEADER" +><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="3" +ALIGN="center" +>SDL Library Documentation</TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="bottom" +><A +HREF="sdlflip.html" +>Prev</A +></TD +><TD +WIDTH="80%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="10%" +ALIGN="right" +VALIGN="bottom" +><A +HREF="sdlsetpalette.html" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SDLSETCOLORS" +>SDL_SetColors</A +></H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN1005" +></A +><H2 +>Name</H2 +>SDL_SetColors -- Sets a portion of the colormap for the given 8-bit surface.</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN1008" +></A +><H2 +>Synopsis</H2 +><DIV +CLASS="FUNCSYNOPSIS" +><A +NAME="AEN1009" +></A +><P +></P +><PRE +CLASS="FUNCSYNOPSISINFO" +>#include "SDL.h"</PRE +><P +><CODE +><CODE +CLASS="FUNCDEF" +>int <B +CLASS="FSFUNC" +>SDL_SetColors</B +></CODE +>(SDL_Surface *surface, SDL_Color *colors, int firstcolor, int ncolors);</CODE +></P +><P +></P +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN1015" +></A +><H2 +>Description</H2 +><P +>Sets a portion of the colormap for the given 8-bit surface.</P +><P +>When <TT +CLASS="PARAMETER" +><I +>surface</I +></TT +> is the surface associated with the current +display, the display colormap will be updated with the requested colors. If +<TT +CLASS="LITERAL" +>SDL_HWPALETTE</TT +> was set in <A +HREF="sdlsetvideomode.html" +>SDL_SetVideoMode</A +> flags, +<TT +CLASS="FUNCTION" +>SDL_SetColors</TT +> will always return <SPAN +CLASS="RETURNVALUE" +>1</SPAN +>, +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.</P +><P +>The color components of a +<A +HREF="sdlcolor.html" +><SPAN +CLASS="STRUCTNAME" +>SDL_Color</SPAN +></A +> +structure are 8-bits in size, giving you a total of 256<SUP +>3</SUP +> +=16777216 colors.</P +><P +>Palettized (8-bit) screen surfaces with the <TT +CLASS="LITERAL" +>SDL_HWPALETTE</TT +> +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). <TT +CLASS="FUNCTION" +>SDL_SetColors</TT +> +modifies both palettes (if present), and is equivalent to calling +<A +HREF="sdlsetpalette.html" +>SDL_SetPalette</A +> with the +<TT +CLASS="PARAMETER" +><I +>flags</I +></TT +> set to +<TT +CLASS="LITERAL" +>(SDL_LOGPAL | SDL_PHYSPAL)</TT +>.</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN1034" +></A +><H2 +>Return Value</H2 +><P +>If <TT +CLASS="PARAMETER" +><I +>surface</I +></TT +> is not a palettized surface, this function +does nothing, returning <SPAN +CLASS="RETURNVALUE" +>0</SPAN +>. If all of the colors were set +as passed to <TT +CLASS="FUNCTION" +>SDL_SetColors</TT +>, it will return +<SPAN +CLASS="RETURNVALUE" +>1</SPAN +>. If not all the color entries were set exactly as +given, it will return <SPAN +CLASS="RETURNVALUE" +>0</SPAN +>, and you should look at the +surface palette to determine the actual color palette.</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN1042" +></A +><H2 +>Example</H2 +><PRE +CLASS="PROGRAMLISTING" +>/* 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\n", SDL_GetError()); + exit(-1); +} + +/* Set palette */ +SDL_SetColors(screen, colors, 0, 256); +. +. +. +.</PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN1045" +></A +><H2 +>See Also</H2 +><P +><A +HREF="sdlcolor.html" +><SPAN +CLASS="STRUCTNAME" +>SDL_Color</SPAN +></A +> +<A +HREF="sdlsurface.html" +><SPAN +CLASS="STRUCTNAME" +>SDL_Surface</SPAN +></A +>, +<A +HREF="sdlsetpalette.html" +><TT +CLASS="FUNCTION" +>SDL_SetPalette</TT +></A +>, +<A +HREF="sdlsetvideomode.html" +><TT +CLASS="FUNCTION" +>SDL_SetVideoMode</TT +></A +></P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sdlflip.html" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sdlsetpalette.html" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SDL_Flip</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="video.html" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SDL_SetPalette</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file