SDL Surface: Unterschied zwischen den Versionen
I0n0s (Diskussion | Beiträge) () |
I0n0s (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
+ | {{Unvollständig}} | ||
+ | |||
= SDL_Surface = | = SDL_Surface = | ||
Version vom 19. August 2005, 14:02 Uhr
(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 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.