0,0 → 1,589 |
<HTML |
><HEAD |
><TITLE |
>SDL_Surface</TITLE |
><META |
NAME="GENERATOR" |
CONTENT="Modular DocBook HTML Stylesheet Version 1.64 |
"><LINK |
REL="HOME" |
TITLE="SDL Library Documentation" |
HREF="index.html"><LINK |
REL="UP" |
TITLE="Video" |
HREF="video.html"><LINK |
REL="PREVIOUS" |
TITLE="SDL_PixelFormat" |
HREF="sdlpixelformat.html"><LINK |
REL="NEXT" |
TITLE="SDL_VideoInfo" |
HREF="sdlvideoinfo.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="sdlpixelformat.html" |
>Prev</A |
></TD |
><TD |
WIDTH="80%" |
ALIGN="center" |
VALIGN="bottom" |
></TD |
><TD |
WIDTH="10%" |
ALIGN="right" |
VALIGN="bottom" |
><A |
HREF="sdlvideoinfo.html" |
>Next</A |
></TD |
></TR |
></TABLE |
><HR |
ALIGN="LEFT" |
WIDTH="100%"></DIV |
><H1 |
><A |
NAME="SDLSURFACE" |
>SDL_Surface</A |
></H1 |
><DIV |
CLASS="REFNAMEDIV" |
><A |
NAME="AEN2841" |
></A |
><H2 |
>Name</H2 |
>SDL_Surface -- Graphical Surface Structure</DIV |
><DIV |
CLASS="REFSECT1" |
><A |
NAME="AEN2844" |
></A |
><H2 |
>Structure Definition</H2 |
><PRE |
CLASS="PROGRAMLISTING" |
>typedef struct SDL_Surface { |
Uint32 flags; /* Read-only */ |
SDL_PixelFormat *format; /* Read-only */ |
int w, h; /* Read-only */ |
Uint16 pitch; /* Read-only */ |
void *pixels; /* Read-write */ |
|
/* clipping information */ |
SDL_Rect clip_rect; /* Read-only */ |
|
/* Reference count -- used when freeing surface */ |
int refcount; /* Read-mostly */ |
|
/* This structure also contains private fields not shown here */ |
} SDL_Surface;</PRE |
></DIV |
><DIV |
CLASS="REFSECT1" |
><A |
NAME="AEN2847" |
></A |
><H2 |
>Structure Data</H2 |
><DIV |
CLASS="INFORMALTABLE" |
><A |
NAME="AEN2849" |
></A |
><P |
></P |
><TABLE |
BORDER="0" |
CLASS="CALSTABLE" |
><TBODY |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="STRUCTFIELD" |
><I |
>flags</I |
></TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface flags</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="STRUCTFIELD" |
><I |
>format</I |
></TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Pixel <A |
HREF="sdlpixelformat.html" |
>format</A |
></TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="STRUCTFIELD" |
><I |
>w, h</I |
></TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Width and height of the surface</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="STRUCTFIELD" |
><I |
>pitch</I |
></TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Length of a surface scanline in bytes</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="STRUCTFIELD" |
><I |
>pixels</I |
></TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Pointer to the actual pixel data</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="STRUCTFIELD" |
><I |
>clip_rect</I |
></TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>surface clip <A |
HREF="sdlrect.html" |
>rectangle</A |
></TD |
></TR |
></TBODY |
></TABLE |
><P |
></P |
></DIV |
></DIV |
><DIV |
CLASS="REFSECT1" |
><A |
NAME="AEN2878" |
></A |
><H2 |
>Description</H2 |
><P |
><SPAN |
CLASS="STRUCTNAME" |
>SDL_Surface</SPAN |
>'s represent areas of "graphical" |
memory, memory that can be drawn to. The video framebuffer is returned |
as a <SPAN |
CLASS="STRUCTNAME" |
>SDL_Surface</SPAN |
> by |
<A |
HREF="sdlsetvideomode.html" |
><TT |
CLASS="FUNCTION" |
>SDL_SetVideoMode</TT |
></A |
> |
and <A |
HREF="sdlgetvideosurface.html" |
><TT |
CLASS="FUNCTION" |
>SDL_GetVideoSurface</TT |
></A |
>. |
Most of the fields should be pretty obvious. |
<TT |
CLASS="STRUCTFIELD" |
><I |
>w</I |
></TT |
> and <TT |
CLASS="STRUCTFIELD" |
><I |
>h</I |
></TT |
> are the |
width and height of the surface in pixels. |
<TT |
CLASS="STRUCTFIELD" |
><I |
>pixels</I |
></TT |
> is a pointer to the actual pixel data, |
the surface should be <A |
HREF="sdllocksurface.html" |
>locked</A |
> |
before accessing this field. The <TT |
CLASS="STRUCTFIELD" |
><I |
>clip_rect</I |
></TT |
> field |
is the clipping rectangle as set by |
<A |
HREF="sdlsetcliprect.html" |
><TT |
CLASS="FUNCTION" |
>SDL_SetClipRect</TT |
></A |
>.</P |
><P |
>The following are supported in the |
<TT |
CLASS="STRUCTFIELD" |
><I |
>flags</I |
></TT |
> field.</P |
><DIV |
CLASS="INFORMALTABLE" |
><A |
NAME="AEN2896" |
></A |
><P |
></P |
><TABLE |
BORDER="1" |
CLASS="CALSTABLE" |
><TBODY |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_SWSURFACE</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface is stored in system memory</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_HWSURFACE</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface is stored in video memory</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_ASYNCBLIT</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface uses asynchronous blits if possible</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_ANYFORMAT</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Allows any pixel-format (Display surface)</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_HWPALETTE</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface has exclusive palette</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_DOUBLEBUF</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface is double buffered (Display surface)</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_FULLSCREEN</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface is full screen (Display Surface)</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_OPENGL</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface has an OpenGL context (Display Surface)</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_OPENGLBLIT</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface supports OpenGL blitting (Display Surface)</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_RESIZABLE</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface is resizable (Display Surface)</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_HWACCEL</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface blit uses hardware acceleration</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_SRCCOLORKEY</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface use colorkey blitting</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_RLEACCEL</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Colorkey blitting is accelerated with RLE</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_SRCALPHA</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface blit uses alpha blending</TD |
></TR |
><TR |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
><TT |
CLASS="LITERAL" |
>SDL_PREALLOC</TT |
></TD |
><TD |
ALIGN="LEFT" |
VALIGN="TOP" |
>Surface uses preallocated memory</TD |
></TR |
></TBODY |
></TABLE |
><P |
></P |
></DIV |
></DIV |
><DIV |
CLASS="REFSECT1" |
><A |
NAME="AEN2959" |
></A |
><H2 |
>See Also</H2 |
><P |
><A |
HREF="sdlpixelformat.html" |
><SPAN |
CLASS="STRUCTNAME" |
>SDL_PixelFormat</SPAN |
></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="sdlpixelformat.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="sdlvideoinfo.html" |
>Next</A |
></TD |
></TR |
><TR |
><TD |
WIDTH="33%" |
ALIGN="left" |
VALIGN="top" |
>SDL_PixelFormat</TD |
><TD |
WIDTH="34%" |
ALIGN="center" |
VALIGN="top" |
><A |
HREF="video.html" |
>Up</A |
></TD |
><TD |
WIDTH="33%" |
ALIGN="right" |
VALIGN="top" |
>SDL_VideoInfo</TD |
></TR |
></TABLE |
></DIV |
></BODY |
></HTML |
> |