Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek
Uaktualniono: 31.07.2022

©2022 mgr Jerzy Wałaszek
I LO w Tarnowie

Interfejs SDL2:

SDL_GetWindowSurface

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.

SDL_GetWindowSurfacex

Użyj tej funkcji, aby otrzymać powierzchnię SDL skojarzoną z oknem.

Składnia

SDL_Surface* SDL_GetWindowSurface(SDL_Window* window)

Parametry funkcji

window okno do sprawdzenia.

Wartość zwracana

Zwraca powierzchnię graficzną skojarzoną z oknem lub NULL przy błędzie; wywołaj funkcję SDL_GetError(), aby otrzymać więcej informacji na temat błędu.

Przykładowy kod

#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;
}

Uwagi

Zostanie utworzona nowa powierzchnia graficzna z optymalnym dla okna formatem w razie konieczności. Ta powierzchnia będzie zwalniana przy zamknięciu okna, nie zwalniaj jej samodzielnie.

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.

Powiązane funkcje

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2022 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: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.