|
Serwis Edukacyjny Nauczycieli w I-LO w Tarnowie
Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy
Wałaszek |
©2026 mgr Jerzy Wałaszek
|
SDL_GetWindowSurface
| SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Użyj tej funkcji, aby otrzymać powierzchnię SDL skojarzoną z oknem.
SDL_Surface* SDL_GetWindowSurface(SDL_Window* window) |
| window | okno do sprawdzenia. |
#include "SDL.h" // dołącz nagłówek SDL
int main(int argc, char* argv[])
{
SDL_Surface *screen; // nawet w SDL2 wciąż możemy przywołać starożytny kod
SDL_Window *window;
SDL_Surface *image;
SDL_Init(SDL_INIT_VIDEO); // inicjuj wideo
// utwórz okno w normalny sposób
window = SDL_CreateWindow("SDL2 Example", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, 0);
// lecz zamiast tworzenia kontekstu graficznego, będziemy rysować bezpośrednio na ekran
screen = SDL_GetWindowSurface(window);
// teraz nieco klasycznego kodu
image = SDL_LoadBMP("box.bmp"); // ładuje obrazek
SDL_BlitSurface(image, NULL, screen, NULL); // kopiuje go na ekran
SDL_FreeSurface(image);
// to działa tak samo jak SDL_Flip() w SDL 1.2
SDL_UpdateWindowSurface(window);
// pokaż obraz przez 2 sekundy
SDL_Delay(2000);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
|
Powierzchnia przestanie być ważna po zmianie rozmiaru okna. Aby ją uaktualnić, należy ponownie wywołać tę funkcję, jeśli rozmiar okna uległ zmianie.
Nie możesz łączyć tej powierzchni z funkcjami 3D lub funkcjami rysunkowymi w tym oknie.
Na funkcję wpływa opcja SDL_HINT_FRAMEBUFFER_ACCELERATION.
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.