|
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_GetWindowWMInfo
| SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Użyj tej funkcji, aby otrzymać informacje specyficzne dla sterownika na temat okna.
SDL_bool SDL_GetWindowWMInfo(SDL_Window* window,
SDL_SysWMinfo* info)
|
| window | okno, na temat którego zażądano informacji. |
| info | struktura SDL_SysWMinfo wypełniana informacją o oknie; zobacz do Uwag. |
#include "SDL.h"
#include "SDL_syswm.h"
int main(int argc, char *argv[]) {
SDL_Window* window;
SDL_SysWMinfo info;
SDL_Init(0);
window = SDL_CreateWindow("", 0, 0, 0, 0, SDL_WINDOW_HIDDEN);
SDL_VERSION(&info.version); /* inicjuj strukturę info informacją o wersji SDL */
if(SDL_GetWindowWMInfo(window,&info)) /* wywołanie zwraca true przy sukcesie */
{
/* sukces */
const char *subsystem = "an unknown system!";
switch(info.subsystem)
{
case SDL_SYSWM_UNKNOWN: break;
case SDL_SYSWM_WINDOWS: subsystem = "Microsoft Windows(TM)"; break;
case SDL_SYSWM_X11: subsystem = "X Window System"; break;
#if SDL_VERSION_ATLEAST(2, 0, 3)
case SDL_SYSWM_WINRT: subsystem = "WinRT"; break;
#endif
case SDL_SYSWM_DIRECTFB: subsystem = "DirectFB"; break;
case SDL_SYSWM_COCOA: subsystem = "Apple OS X"; break;
case SDL_SYSWM_UIKIT: subsystem = "UIKit"; break;
#if SDL_VERSION_ATLEAST(2, 0, 2)
case SDL_SYSWM_WAYLAND: subsystem = "Wayland"; break;
case SDL_SYSWM_MIR: subsystem = "Mir"; break;
#endif
#if SDL_VERSION_ATLEAST(2, 0, 4)
case SDL_SYSWM_ANDROID: subsystem = "Android"; break;
#endif
#if SDL_VERSION_ATLEAST(2, 0, 5)
case SDL_SYSWM_VIVANTE: subsystem = "Vivante"; break;
#endif
}
SDL_Log("This program is running SDL version %d.%d.%d on %s",
(int)info.version.major,
(int)info.version.minor,
(int)info.version.patch,
subsystem);
}
else
{
/* wywołanie się nie powiodło */
SDL_LogError(SDL_LOG_CATEGORY_ERROR, "Couldn't get window information: %s", SDL_GetError());
}
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
|
Struktura info musi byż zainicjowana numerem wersji SDL, a dopiero wtedy zostanie wypełniona informacją na temat danego okna, jak pokazano w Przykładowym Kodzie.
![]() |
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.