Die Google-Suche wirft an erster Stelle einen interessanten Wikipedia-Artikel raus: bit block transfer... Der Rest dürfte sich dann von selbst erklären... :o
Unsinn, wie bekommst du denn
bit block transfer in
Blit? Die Abkürzung BitBlt kommt von der Anweisung BitBLT (Xerox Alto computer) und steht für
bit block
transfer.
Blit ist zwar verwand bedeutet aber korrekt ausgeschrieben
Block
Image
Transfer.
Hallo,
wie mein vorposter sagte -> Googlen hilft.
Und was allgemein klar sein sollte ist, das man nicht alles mit C&P machen soll.
Vor allem wenn du in diesem Forum hilfe erwartest
MFG T-Virus
Da kennst du dich mit aus, oder?
|
C-/C++-Quelltext
|
1
|
SDL_Rect offset;
|
Deklariert/Definiert ein Objekt vom Typ SDL_Rect. Rect steht für Rectangle (zu Deutsch Rechteck) und ist definiert als:
|
C-/C++-Quelltext
|
1
2
3
4
|
typedef struct{
Sint16 x, y;
Uint16 w, h;
} SDL_Rect;
|
Die ersten beiden Membervariablen geben die X/Y Position der linken oberen Ecke im Koordinatensystem an (signed integrale Werte im Bereich -2^15 und 2^15-1). Die beiden letzten Membervariablen geben die Dimensionen (Breite und Höhe) des Rechtecks an (unsigned integrale Werte im Bereich 0 und 2^16-1).
|
C-/C++-Quelltext
|
1
2
|
offset.x = x;
offset.y = y;
|
Hier werden den Membervariablen (x und y) des Objekts (offset vom Typ SDL_Rect) Werte zugewiesen.
|
C-/C++-Quelltext
|
1
|
SDL_BlitSurface( source, NULL, destination, &offset );
|
Zuletzt wird die Funktion SDL_BlitSurface aufgerufen. Diese ist wie folgt deklariert:
|
C-/C++-Quelltext
|
1
|
int SDL_BlitSurface (SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect);
|
Der erste Parameter erwartet einen Zeiger auf eine Instanz des Typs SDL_Surface, also die Daten die übertragen werden sollen, quasi die Quelle (engl: Source [src]).
Der zweite Parameter erwartet einen Zeiger auf eine Instanz vom Typ SDL_Rect. Hier kann angegeben werden welcher Bereich vom Quellsurface kopiert werden soll. Wird hier ein Nullzeiger (0) übergeben (wie im Beispiel) dann wird einfach das komplette Quellsurface kopiert.
Der dritte Parameter erwartet einen Zeiger auf das Zielsurface (engl: Destination [dst]) in das gebittet werden soll. Ähnlich also wie der erste Parameter, nur eben nicht die Datenquelle sondern das Ziel der Daten.
Der letzte Parameter erwartet wieder einen Zeiger auf eine Instanz vom Typ SDL_Rect. Hier kann wie beim 2. Parameter auch 0 angegeben werden. Im Beispiel wird allerdings die Adresse auf das zuvor erzeugte Objekt übergeben.
Die Funktion selbst kopiert (blittet) die Daten des Quellsurfaces in das Zielsurface.
Viele Grüße