Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Piotr DejaVu Szawdyński
Pomógł: kamillo121
Biblioteki C/C++

SDL_LockSurface

[funkcja] Blokuje innym wątkom dostęp do powierzchni.

Skdładnia

C/C++
#include <sdl/SDL.h>

int SDL_LockSurface( SDL_Surface * surface );

Opis szczegółowy

Funkcja blokuje innym wątkom dostęp do powierzchni. Zakładanie blokady na powierzchnię jest konieczne jeżeli jest ona używana i chcemy ją zmodyfikować. Niezałożenie blokady może zakończyć się krytycznym błędem aplikacji w przypadku próby modyfikacji powierzchni. Wszelkie modyfikacje powierzchni powinny odbywać się pomiędzy funkcjami SDL_LockSurface i » SDL 1.2SDL_UnlockSurface.

Argumenty

SDL_Surface* surface Wskaźnik na strukturę SDL_Surface, która ma zostać zablokowana.

Zwracana wartość

W przypadku wystapienia błędu funkcja zwraca wartość -1, w przeciwnym wypadku wartość 0.

Dodatkowe informacje

Pamiętaj, że nie wszystkie powierzchnie muszą być zablokowane przed uzyskaniem dostępu do nich. Blokada powierzchni jest konieczna tylko wtedy gdy funkcja » SDL 1.2SDL_MUSTLOCK zwróci wartość różną od 0.

Od wersji SDL 1.1.8 blokowanie powierzchni odbywa się rekursywnie. Oznacza to, że powierzchnia może być zablokowana wiele razy, jednak każde zablokowanie musi zostać odblokowane.

Przykład

C/C++
SDL_Surface * someSurface = NULL;
//(...)
SDL_LockSurface( someSurface );

SDL_LockSurface( someSurface );

SDL_UnlockSurface( someSurface );
// powierzchnia nadal jest zablokowana
SDL_UnlockSurface( someSurface );
//powierzchnia odblokowana

Zagadnienia powiązane

SDL_MUSTLOCKZwraca prawdę, jeżeli wymagane jest założenie blokady przed uzyskaniem dostępu do powierzchni. (funkcja)
SDL_UnlockSurfaceZdejmuje blokadę dostępu z określonej powierzchni. (funkcja)
SDL_SurfacePrzechowuje informacje o powierzchni. (struktura)

Linki zewnętrzne