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 |
©2024 mgr Jerzy Wałaszek
|
SDL_CreateWindow
SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Użyj tej funkcji, aby utworzyć okno na określonej pozycji ekranu, o podanych wymiarach i znacznikach.
SDL_Window* SDL_CreateWindow(const char* title, int x, int y, int w, int h, Uint32 flags) |
title | tytuł okna kodowany w UTF-8 |
x | pozycja x okna, SDL_WINDOWPOS_CENTERED lub SDL_WINDOWPOS_UNDEFINED |
y | pozycja y okna, SDL_WINDOWPOS_CENTERED, or SDL_WINDOWPOS_UNDEFINED |
w | szerokość okna we współrzędnych ekranowych |
h | wysokość okna we współrzędnych ekranowych |
flags | 0, jeden lub kilka znaczników SDL_WindowFlags połączonych bitową alternatywą; zobacz do Uwag. |
// Przykładowy program: // Użycie SDL2 do utworzenia okna aplikacji #include "SDL.h" #include <stdio.h> int main(int argc, char* argv[]) { SDL_Window *window; // Deklaruj wskaźnik SDL_Init(SDL_INIT_VIDEO); // Inicjalizuj SDL2 // Utwórz okno aplikacji z następującymi ustawieniami: window = SDL_CreateWindow( "An SDL2 window", // tytuł okna SDL_WINDOWPOS_UNDEFINED, // początkowa pozycja x SDL_WINDOWPOS_UNDEFINED, // początkowa pozycja y 640, // szerokość w pikselach 480, // wysokość w pikselach SDL_WINDOW_OPENGL // znaczniki, patrz niżej ); // Sprawdź, czy okno zostało utworzone z sukcesem if (window == NULL) { // W przypadku, gdy okna nie udało się utworzyć... printf("Could not create window: %s\n", SDL_GetError()); return 1; } // Okno jest otwarte: można rozpocząć tutaj pętlę programu (zobacz na SDL_PollEvent()) SDL_Delay(3000); // Na przykład wstrzymaj wykonanie przez 3000 milisekund // Zamknij i usuń okno SDL_DestroyWindow(window); // Posprzątaj SDL_Quit(); return 0; } |
SDL_WINDOW_FULLSCREEN | okno pełnoekranowe. |
SDL_WINDOW_FULLSCREEN_DESKTOP | okno pełnoekranowe w bieżącej rozdzielczości pulpitu. |
SDL_WINDOW_OPENGL | okno do użytku z kontekstem OpenGL. |
SDL_WINDOW_HIDDEN | okno ukryte. |
SDL_WINDOW_BORDERLESS | okno bez dodatków. |
SDL_WINDOW_RESIZABLE | okno skalowalne. |
SDL_WINDOW_MINIMIZED | okno zminimalizowane. |
SDL_WINDOW_MAXIMIZED | okno zmaksymalizowanie. |
SDL_WINDOW_INPUT_GRABBED | okno z przechwyconym skupieniem wejścia. |
SDL_WINDOW_ALLOW_HIGHDPI | okno powinno być utworzone w trybie high-DPI, jeśli jest wspierany (>= SDL 2.0.1). |
Znacznik SDL_WINDOW_SHOWN jest ignorowany przez SDL_CreateWindow(). Okno jest domyślnie widoczne, o ile nie został ustawiony znacznik SDL_WINDOW_HIDDEN. SDL_WINDOW_SHOWN można później sprawdzić z użyciem funkcji SDL_GetWindowFlags().
W systemie OS X komputera Apple musisz ustawić własność NSHighResolutionCapable Info.plist na YES, inaczej nie otrzymasz powierzchni graficznej w trybie High DPI w OpenGL.
Jeśli okno jest tworzone ze znacznikiem SDL_WINDOW_ALLOW_HIGHDPI, to jego rozmiar w pikselach może różnić się od rozmiaru we współrzędnych ekranowych na platformach ze wsparciem dla trybu high-DPI (np. iOS i Mac OS X). Użyj funkcji SDL_GetWindowSize(), aby sprawdzić rozmiar obszaru klienckiego we współrzędnych ekranowych, lub SDL_GL_GetDrawableSize() i SDL_GetRendererOutputSize(), aby sprawdzić rozmiar powierzchni rysunkowej w pikselach.
Jeśli okno pracuje jako pełnoekranowe, parametry szerokości w oraz wysokości h nie będą użyte. Jednakże ich niepoprawne wartości (np. zbyt duże) mogą spowodować wystąpienie błędu. Rozmiar okna jest właściwie ograniczony przy tworzeniu do 16384 x 16384 na wszystkich platformach.
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2024 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.