SDL Surface: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Einige Dinge ausgebessert.)
K ()
Zeile 31: Zeile 31:
 
|-
 
|-
 
! ''format''  
 
! ''format''  
| Pixelformat (siehe [[SDL_Pixelformat]]
+
| Pixelformat (siehe [[SDL_Pixelformat]])
 
|-
 
|-
 
! ''w'', ''h''  
 
! ''w'', ''h''  
Zeile 111: Zeile 111:
  
 
== Hinweise ==
 
== Hinweise ==
Um auf die Pixeldaten zuzugreifen kann es nötig sein die Surface zu sperren (siehe [[SDL_LockSurface]]
+
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.
 
''refcount'' gibt an wieviele Zeiger auf die Surface gesetzt wurden.

Version vom 24. August 2005, 19:45 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 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. 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.


Siehe auch

SDL_PixelFormat