SDL Surface: Unterschied zwischen den Versionen
I0n0s (Diskussion | Beiträge) () |
I0n0s (Diskussion | Beiträge) K (→Beschreibung) |
||
Zeile 47: | Zeile 47: | ||
== Beschreibung == | == Beschreibung == | ||
− | Eine SDL_Surface representiert eine Gebiet des 'graphischen' Speichers, Speicher in dem gezeichnet werden kann. | + | 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. | + | 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. | Die Felder ''w'' und ''h'' sind Werte die die Breite und Höhe der Surface in Pixeln wiedergeben. | ||
Zeile 82: | Zeile 82: | ||
|- | |- | ||
!SDL_NOFRAME | !SDL_NOFRAME | ||
− | |Das Fenster hat deine Titelleiste oder Framedekoration. Bei SDL_FULLSCREEN ist es automatisch gesetzt. | + | |Das Fenster hat deine Titelleiste oder Framedekoration. Bei '''SDL_FULLSCREEN''' ist es automatisch gesetzt. |
|- | |- | ||
!SDL_OPENGL | !SDL_OPENGL |
Version vom 3. September 2005, 14:49 Uhr
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 | Gesetzte 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 Clipping Rechteck |
refcount | Referenzzähler - 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. Siehe SDL_PixelFormat.
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_NOFRAME | Das Fenster hat deine Titelleiste oder Framedekoration. Bei SDL_FULLSCREEN ist es automatisch gesetzt. |
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 benutzt 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.