Serwis Edukacyjny Nauczycieli w I-LO w Tarnowie ![]() Materiały dla uczniów liceum |
©2021 mgr Jerzy Wałaszek
|
|
Autor artykułu: mgr Jerzy Wałaszek |
SDL2Interfejs SDL2:SDL_PushEvent |
|
|
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
Parametry funkcji
Wartość zwracanaZwraca 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
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 |
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.