view docs/man3/SDL_Surface.3 @ 4170:092c0bc69155 SDL-1.2

Fixed bug #618 Description From Tim Angus 2008-08-30 12:23:56 (-) [reply] As we all know SDL 1.2 doesn't handle dead keys well since one key press potentially equals two (or more) characters. For example, on many layouts, keying <backquote>,<space> results in <no character>,<backquote><space>. Since the unicode member of the SDL_keysym struct only has room for one character, only one can be returned. On Linux, the first character is returned. On Windows however, unless the exact number of characters generated by the keypress is 1, nothing is returned. The following patch addresses this inconsistency. Updated patch which includes a further fix to the handling of the numpad when numlock is on. This further fix is courtesy Amanieu d'Antras.
author Sam Lantinga <slouken@libsdl.org>
date Mon, 13 Apr 2009 08:42:09 +0000
parents 4e3b250c950e
children 1238da4a7112
line wrap: on
line source

.TH "SDL_Surface" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_Surface \- Graphical Surface Structure
.SH "STRUCTURE DEFINITION"
.PP
.nf
\f(CWtypedef 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;\fR
.fi
.PP
.SH "STRUCTURE DATA"
.TP 20
\fBflags\fR
Surface flags
.TP 20
\fBformat\fR
Pixel \fIformat\fR
.TP 20
\fBw, h\fR
Width and height of the surface
.TP 20
\fBpitch\fR
Length of a surface scanline in bytes
.TP 20
\fBpixels\fR
Pointer to the actual pixel data
.TP 20
\fBclip_rect\fR
surface clip \fIrectangle\fR
.SH "DESCRIPTION"
.PP
\fBSDL_Surface\fR\&'s represent areas of "graphical" memory, memory that can be drawn to\&. The video framebuffer is returned as a \fBSDL_Surface\fR by \fI\fBSDL_SetVideoMode\fP\fR and \fI\fBSDL_GetVideoSurface\fP\fR\&. Most of the fields should be pretty obvious\&. \fBw\fR and \fBh\fR are the width and height of the surface in pixels\&. \fBpixels\fR is a pointer to the actual pixel data, the surface should be \fIlocked\fR before accessing this field\&. The \fBclip_rect\fR field is the clipping rectangle as set by \fI\fBSDL_SetClipRect\fP\fR\&.
.PP
The following are supported in the \fBflags\fR field\&.
.TP 20
\fBSDL_SWSURFACE\fP
Surface is stored in system memory
.TP 20
\fBSDL_HWSURFACE\fP
Surface is stored in video memory
.TP 20
\fBSDL_ASYNCBLIT\fP
Surface uses asynchronous blits if possible
.TP 20
\fBSDL_ANYFORMAT\fP
Allows any pixel-format (Display surface)
.TP 20
\fBSDL_HWPALETTE\fP
Surface has exclusive palette
.TP 20
\fBSDL_DOUBLEBUF\fP
Surface is double buffered (Display surface)
.TP 20
\fBSDL_FULLSCREEN\fP
Surface is full screen (Display Surface)
.TP 20
\fBSDL_OPENGL\fP
Surface has an OpenGL context (Display Surface)
.TP 20
\fBSDL_OPENGLBLIT\fP
Surface supports OpenGL blitting (Display Surface)
.TP 20
\fBSDL_RESIZABLE\fP
Surface is resizable (Display Surface)
.TP 20
\fBSDL_HWACCEL\fP
Surface blit uses hardware acceleration
.TP 20
\fBSDL_SRCCOLORKEY\fP
Surface use colorkey blitting
.TP 20
\fBSDL_RLEACCEL\fP
Colorkey blitting is accelerated with RLE
.TP 20
\fBSDL_SRCALPHA\fP
Surface blit uses alpha blending
.TP 20
\fBSDL_PREALLOC\fP
Surface uses preallocated memory
.SH "SEE ALSO"
.PP
\fI\fBSDL_PixelFormat\fR\fR
...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01