diff docs/html/sdlsetpalette.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/sdlsetpalette.html	Thu Apr 26 16:45:43 2001 +0000
@@ -0,0 +1,344 @@
+<HTML
+><HEAD
+><TITLE
+>SDL_SetPalette</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_SetColors"
+HREF="sdlsetcolors.html"><LINK
+REL="NEXT"
+TITLE="SDL_SetGamma"
+HREF="sdlsetgamma.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="sdlsetcolors.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="sdlsetgamma.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><H1
+><A
+NAME="SDLSETPALETTE"
+>SDL_SetPalette</A
+></H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN1060"
+></A
+><H2
+>Name</H2
+>SDL_SetPalette&nbsp;--&nbsp;Sets the colors in the palette of an 8-bit surface.</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN1063"
+></A
+><H2
+>Synopsis</H2
+><DIV
+CLASS="FUNCSYNOPSIS"
+><A
+NAME="AEN1064"
+></A
+><P
+></P
+><PRE
+CLASS="FUNCSYNOPSISINFO"
+>#include "SDL.h"</PRE
+><P
+><CODE
+><CODE
+CLASS="FUNCDEF"
+>int <B
+CLASS="FSFUNC"
+>SDL_SetPalette</B
+></CODE
+>(SDL_Surface *surface, int flags, int SDL_Color *colors, int firstcolor, int ncolors);</CODE
+></P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1070"
+></A
+><H2
+>Description</H2
+><P
+>Sets a portion of the palette for the given 8-bit surface.</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). <A
+HREF="sdlblitsurface.html"
+>SDL_BlitSurface</A
+>
+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).</P
+><P
+>This function can modify either the logical or physical palette by
+specifing <TT
+CLASS="LITERAL"
+>SDL_LOGPAL</TT
+> or
+<TT
+CLASS="LITERAL"
+>SDL_PHYSPAL</TT
+>the in the <TT
+CLASS="PARAMETER"
+><I
+>flags</I
+></TT
+>
+parameter.</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_SetPalette</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
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1090"
+></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_SetPalette</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="AEN1098"
+></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&#60;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_SetPalette(screen, SDL_LOGPAL|SDL_PHYSPAL, colors, 0, 256);
+        .
+        .
+        .
+        .</PRE
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN1101"
+></A
+><H2
+>See Also</H2
+><P
+><A
+HREF="sdlsetcolors.html"
+>SDL_SetColors</A
+>,
+<A
+HREF="sdlsetvideomode.html"
+>SDL_SetVideoMode</A
+>,
+<A
+HREF="sdlsurface.html"
+>SDL_Surface</A
+>,
+<A
+HREF="sdlcolor.html"
+>SDL_Color</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="sdlsetcolors.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="sdlsetgamma.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>SDL_SetColors</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="video.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>SDL_SetGamma</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file