Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

Do strony głównej I LO w Tarnowie

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

©2021 mgr Jerzy Wałaszek
I LO w Tarnowie

logo

Autor artykułu: mgr Jerzy Wałaszek

 

SDL2

Interfejs SDL2:

SDL_PushEvent

Rozdziały:
     Interfejs SDL2 wg nazw
     Interfejs SDL2 wg kategorii

 

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2. Oryginał znajdziesz pod tym adresem: https://wiki.libsdl.org/CategoryAPI.

SDL_PushEvent

Użyj tej funkcji, aby dodać zdarzenie do kolejki zdarzeń.

Składnia

int SDL_PushEvent(SDL_Event* event)

Parametry funkcji

event struktura SDL_Event, która ma zostać dodana do kolejki.

Wartość zwracana

Zwraca 1 przy sukcesie, 0, jeśli dane zdarzenie zostało wyfiltrowane, lub ujemny kod błędu przy niepowodzeniu; wywołaj funkcję SDL_GetError(), aby otrzymać więcej informacji na temat błędu.

Przykładowy kod

// Standardowe wykorzystanie:
SDL_Event sdlevent;
sdlevent.type = SDL_KEYDOWN;
sdlevent.key.keysym.sym = SDLK_1;

SDL_PushEvent(&sdlevent);

Uwagi

Kolejka zdarzeń w rzeczywistości może być używana jako dwukierunkowy kanał komunikacyjny. Zdarzenia można nie tylko odczytywać z tej kolejki, lecz użytkownik może również umieszczać w niej swoje własne zdarzenia. Parametr event jest wskaźnikiem do struktury zdarzenia, którą chcesz umieścić w kolejce. Zdarzenie zostanie skopiowane do kolejki, a po powrocie z SDL_PushEvent() program może usunąć tę strukturę, aby zwolnić zajmowaną przez nią pamięć.

Uwaga: Umieszczanie w kolejce zdarzeń z urządzeń wejściowych nie powoduje zmiany ich stanu w SDL.

Funkcja ta jest bezpieczna wątkowo i może być bezpiecznie wywoływana z innych wątków aplikacji.

Uwaga: Zdarzenia wysyłane do kolejki poprzez SDL_PushEvent() przepuszczane są przez filtr zdarzeń (co może spowodować, że zdarzenie nie zostanie zapisane w kolejce, jeśli filtr je odrzuci), lecz zdarzenia dodawane poprzez SDL_PeepEvents() omijają ten filtr.

Przy umieszczaniu w kolejce zdarzeń specyficznych dla aplikacji używaj SDL_RegisterEvents(), aby otrzymać typ zdarzenia, który nie konfliktuje z innym kodem umieszczającym w kolejce zdarzenia użytkownika.

Powiązane funkcje

 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2021 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.