|
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_WindowEventID
| SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Enumeracja zdarzeń okienkowych.
| SDL_WINDOWEVENT_NONE | (nigdy nieużywane). |
| SDL_WINDOWEVENT_SHOWN | okno zostało wyświetlone. |
| SDL_WINDOWEVENT_HIDDEN | okno zostało ukryte. |
| SDL_WINDOWEVENT_EXPOSED | okno zmieniło treść i powinno zostać przerysowane. |
| SDL_WINDOWEVENT_MOVED | okno zostało przesunięte. |
| SDL_WINDOWEVENT_RESIZED | okno zmieniło rozmiar; to zdarzenie zawsze jest poprzedzone przez SDL_WINDOWEVENT_SIZE_CHANGED |
| SDL_WINDOWEVENT_SIZE_CHANGED | okno zmieniło się w wyniku wywołania funkcji API, poprzez system lub w wyniku działań użytkownika; po tym zdarzeniu następuje SDL_WINDOWEVENT_RESIZED, jeśli zmianie uległ rozmiar w wyniku zdarzenia zewnętrznego, np. działanie użytkownika lub menadżera okien. |
| SDL_WINDOWEVENT_MINIMIZED | okno zostało zminimalizowane. |
| SDL_WINDOWEVENT_MAXIMIZED | okno zostało zmaksymalizowane. |
| SDL_WINDOWEVENT_RESTORED | okno zostało przywrócone do standardowego rozmiaru i położenia. |
| SDL_WINDOWEVENT_ENTER | okno otrzymało skupienie myszki. |
| SDL_WINDOWEVENT_LEAVE | okno utraciło skupienie myszki. |
| SDL_WINDOWEVENT_FOCUS_GAINED | okno otrzymało skupienie klawiatury. |
| SDL_WINDOWEVENT_FOCUS_LOST | okno utraciło skupienie klawiatury. |
| SDL_WINDOWEVENT_CLOSE | menadżer okien żąda jego zamknięcia. |
| SDL_WINDOWEVENT_TAKE_FOCUS | okno otrzymuje propozycję przejęcia skupienia (powinno wywołać SDL_SetWindowInputFocus() na sobie, na podoknie lub zignorować zdarzenie) (>= SDL 2.0.5) |
| SDL_WINDOWEVENT_HIT_TEST | okno miało hittest, który nie był SDL_HITTEST_NORMAL (>= SDL 2.0.5) |
#include <stdlib.h>
#include "SDL.h"
int main(int argc, char *argv[]) {
int width = 640;
int height = 480;
if (SDL_Init(SDL_INIT_VIDEO) != 0) {
return 1;
}
atexit(SDL_Quit);
SDL_Window* window = SDL_CreateWindow(
"Example", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
width, height, SDL_WINDOW_RESIZABLE
);
Uint32 windowID = SDL_GetWindowID(window);
while (1) {
SDL_Event event;
while (SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_WINDOWEVENT: {
if (event.window.windowID == windowID) {
switch (event.window.event) {
case SDL_WINDOWEVENT_SIZE_CHANGED: {
width = event.window.data1;
height = event.window.data2;
break;
}
case SDL_WINDOWEVENT_CLOSE: {
event.type = SDL_QUIT;
SDL_PushEvent(&event);
break;
}
}
}
break;
}
case SDL_QUIT: {
return 0;
}
/* ... */
}
}
/* ... */
SDL_Delay(1);
}
}
|
![]() |
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.