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 |
©2023 mgr Jerzy Wałaszek
|
SDL_RenderPresent
SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Użyj tej funkcji, aby uaktualnić ekran zmianami wykonanymi od ostatniego jej wywołania.
void SDL_RenderPresent(SDL_Renderer* renderer) |
renderer | kontekst graficzny. |
#include "SDL.h" int main(int argc, char* argv[]) { SDL_Window* window; SDL_Renderer* renderer; /* Inicjuj SDL. */ if (SDL_Init(SDL_INIT_VIDEO) < 0) return 1; /* Otwórz okno do rysowania. */ window = SDL_CreateWindow("SDL_RenderClear", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 512, 512, 0); /* Musimy wywołać SDL_CreateRenderer, aby funkcje rysunkowe dotyczyły tego okna. */ renderer = SDL_CreateRenderer(window, -1, 0); /* Wybierz kolor rysowania. Tutaj będzie to czerwony. */ SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); /* Wypełnij cały ekran wybranym kolorem. */ SDL_RenderClear(renderer); /* To tej chwili wszystko rysowane było za sceną. To ukaże nową, czerwoną zawartość okna. */ SDL_RenderPresent(renderer); /* Daj nam czas na oglądnięcie tego okna. */ SDL_Delay(5000); /* Zawsze upewnij się, że posprzątałeś. */ SDL_Quit(); return 0; } |
Stąd przy korzystaniu z funkcji rysunkowych SDL rysuje się wszystko, co ma się znaleźć w ramce obrazu, a następnie wywołuje się te funkcję jeden raz na ramkę, aby pokazać ostateczny rysunek użytkownikowi.
Bufor w tle powinien być uważany za nieważny po każdej prezentacji, nie zakładaj, że poprzednia zawartość wciąż będzie istnieć pomiędzy ramkami. Zaleca się mocno wywołanie SDL_RenderClear(), aby zainicjować bufor w tle przed rozpoczęciem rysowania każdej nowej ramki, nawet jeśli miałoby to oznaczać nadpisanie każdego piksela.
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2023 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.