SDL Surface: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
()
 
Zeile 1: Zeile 1:
 +
{{Unvollständig}}
 +
 
= SDL_Surface =
 
= SDL_Surface =
  

Version vom 19. August 2005, 14:02 Uhr

Hinweis: Dieser Artikel ist noch unvollständig.
(Mehr Informationen/weitere Artikel)

{{{1}}}

Incomplete.jpg

SDL_Surface


Name

SDL_Surface - Struktur der graphischen Oberfläche


Delphi-Spezifikation

type
 SDL_Surface=record
   flags: Uint32;                          //nur Lesezugriff
   format: PSDL_Pixelformat;               //nur Lesezugriff
   w, h: Integer;                          //nur Lesezugriff
   pitch: Uint16;                          //nur Lesezugriff
   pixels: Pointer;                        //Lese- und Schreibzugriff
   clip_rect: SDL_Rect;                    //nur Lesezugriff
   refcount: Integer;                      //meistens nur Lesezugriff
 end;
 //es existieren weitere private Felder die nicht aufgeführt sind


Parameter

flags Gesetzten Flags
format Pixelformat (siehe SDL_Pixelformat
w, h Breite und Höhe der Surface
pitch Länge einer Surface-Scanline in Bytes
clip_rect Surface clip Rechteck
refcount Referencecount - wird beim Freigeben der Surface verwendet


Beschreibung

Eine SDL_Surface representiert eine Gebiet des 'graphischen' Speichers, Speicher in dem Gezeichnet werden kann. Der Video Frambuffer wird als SDL_Surface von SDL_SetVideoMode und SDL_GetVideoSurface zurückgegeben.

Die w und h Felder sind Werte die die Breite und Höhe der Surface in Pixeln wiedergeben.

Das pixels Feld ist ein Pointer auf die aktuelle Pixeldaten. Hier bitte eine genauere Erläuterung der Pixeldaten

Das clip_rect Feld ist das clipping rectangle wie es in SDL_SetClipRect gesetzt wurde.

Das flags Feld unterstütz die folgenden per or verknüpften Werte:

SDL_SWSURFACE Surface is stored in system memory
SDL_HWSURFACE Surface is stored in video memory
SDL_ASYNCBLIT Surface uses asynchronous blits if possible
SDL_ANYFORMAT Allows any pixel-format (Display surface)
SDL_HWPALETTE Surface has exclusive palette
SDL_DOUBLEBUF Surface is double buffered (Display surface)
SDL_FULLSCREEN Surface is full screen (Display Surface)
SDL_OPENGL Surface has an OpenGL context (Display Surface)
SDL_OPENGLBLIT Surface supports OpenGL blitting (Display Surface). NOTE: This option is kept for compatibility only, and is not recommended for new code.
SDL_RESIZABLE Surface is resizable (Display Surface)
SDL_HWACCEL Surface blit uses hardware acceleration
SDL_SRCCOLORKEY Surface use colorkey blitting
SDL_RLEACCEL Colorkey blitting is accelerated with RLE
SDL_SRCALPHA Surface blit uses alpha blending
SDL_PREALLOC Surface uses preallocated memory


Hinweise

Um auf die Pixeldaten zuzugreifen kann es nötig sein die Surface zu sperren (siehe SDL_LockSurface

refcount gibt an wieviele Zeiger auf die Surface gesetzt wurden. Wenn dieser Wert 1 ist, wird die Surface mit SDL_FreeSurface freigegeben, andernfalls nur der Wert erniedrigt.


Siehe auch

SDL_PixelFormat