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

SDL_FreeSurface

[funkcja] Zwalnia pamięć zajmowaną przez powierzchnię.

Składnia

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

void SDL_FreeSurface( SDL_Surface * surface );

Opis szczegółowy

Funkcja zwalnia pamięć zajmowaną przez powierzchnię. Jeżeli powierzchnia została utworzona za pomocą funkcji SDL_CreateRGBSurfaceFrom to obszar pamięci na który wskazuje pole void* pixels struktury » SDL 1.2SDL_Surface nie zostanie zwolniony.

Argumenty

SDL_Surface* surfaceWskaźnik na powierzchnię, która ma zostać zwolniona.

Dodatkowe informacje

Obszar pamięci, który został zaalokowany samodzielnie i został przekazany funkcji SDL_CreateRGBSurfaceFrom należy zwolnić samodzielnie po wywołaniu funkcji SDL_FreeSurface.

Przykład

C/C++
SDL_Surface * picture = SDL_LoadBMP( "pic.bmp" );

//...
SDL_FreeSurface( picture );
//INFO: pamięć zajmowana przez strukturę picture została zwolniona całkowicie
//...

C/C++
SDL_Surface * picture;

void * vPixels = malloc( 800 * 600 * 4 );
picture = SDL_CreateRGBSurfaceFrom( vPixels, 800, 600, 32, 800 * 4,
0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 );

//...

SDL_FreeSurface( picture );
// INFO: Uwaga! wyciek pamięci, dokładnie tyle ile zajmuje
// pole z pikselami 800*600*4=1920000 bitów wycieku,
// by temu zapobiec zwalniamy pamięć zajmowaną przez vPixels ręcznie

Zagadnienia powiązane

SDL_LoadBMPWczytuje powierzchnię z pliku w formacie BMP. (funkcja)
SDL_SurfacePrzechowuje informacje o powierzchni. (struktura)

Linki zewnętrzne