SDL Surface
(Mehr Informationen/weitere Artikel) {{{1}}} |
Inhaltsverzeichnis
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 Framebuffer wird als SDL_Surface von SDL_SetVideoMode und SDL_GetVideoSurface zurückgegeben.
Die Felder w und h sind Werte die die Breite und Höhe der Surface in Pixeln wiedergeben.
Das Feld pixels ist ein Pointer auf die aktuelle Pixeldaten. Hier bitte eine genauere Erläuterung der Pixeldaten
Das Feld clip_rect ist das clipping rectangle wie es in SDL_SetClipRect gesetzt wurde.
Das Feld flags unterstütz die folgenden per or verknüpften Werte:
SDL_SWSURFACE | Das Surface wird im Systemspeicher gespeichert |
---|---|
SDL_HWSURFACE | Das Surface wird im Grafikspeicher gespeichert |
SDL_ASYNCBLIT | Das Surface benutzt asynchrone blits(???), wenn möglich |
SDL_ANYFORMAT | Erlaub jegliche Pixelformate (Display Surface) |
SDL_HWPALETTE | Das Surface hat eine exklusive Palette |
SDL_DOUBLEBUF | Das Surface ist doublebuffered (Display Surface) |
SDL_FULLSCREEN | Das Surface nutzt eine Vollbildanzeige (Display Surface) |
SDL_OPENGL | Das Surface hat einen OpenGL-Kontext (Display Surface) |
SDL_OPENGLBLIT | Das Surface unterstützt OpenGL blitting (Display Surface). HINWEIS: Dieses Flag wird aus Kompatibilitätsgründen weitergeführt und wird nicht für neuen Quelltext empfohlen. |
SDL_RESIZABLE | Das Surface kann in seiner Größe verändert werden (Display Surface) |
SDL_HWACCEL | Das Surface blit benutzt Hardwarebeschleunigung |
SDL_SRCCOLORKEY | Surface use colorkey blitting |
SDL_RLEACCEL | Colorkey blitting wird durch RLE beschleunigt |
SDL_SRCALPHA | Surface blit benutzt Alpha-Blending |
SDL_PREALLOC | Das Surface benutzt bereitgestellten Speicher |
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.