Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:3d:sdl

< 3D

SDL

Az SDL

Az SDL a Simple DirectMedia Layer rövidítése. Egy multimédiás szoftverkönyvtár, nyílt forráskóddal, C nyelven írva.

Telepítés

Linuxon

sudo apt install libsdl2-dev

Kezdés

main.c
#include <stdio.h>
#include <SDL2/SDL.h>
 
int main() {
    SDL_Window *window;
 
    SDL_Init(SDL_INIT_VIDEO);
    window = SDL_CreateWindow("Teszt", 
        SDL_WINDOWPOS_UNDEFINED, 
        SDL_WINDOWPOS_UNDEFINED,
        800, 600,
        SDL_WINDOW_OPENGL);
 
 
   // Sikeres ablakkészítés ellenőrzése
    if (window == NULL) {
        printf("Sikertelen létrehozás: %s\n", SDL_GetError());
        return 1;
    }
 
    // 10 másodpercig várunk
    SDL_Delay(10000);  
 
    // Ablak bezárása, megszüntetése
    SDL_DestroyWindow(window);
 
    // Kilépés
    SDL_Quit();
    return 0;
}

Fordítás:

gcc -lSDL2 -o main main.c

Az ablak létrehozás szintaxisa:

SDL_Window* SDL_CreateWindow(const char* title,
                             int         x,
                             int         y,
                             int         w,
                             int         h,
                             Uint32      flags)
title az ablak címe, UTF-8 kódolással
x
y
w az ablak szélessége
h az ablak magassága
flags jelzők; 0, 1 vagy több SDL_WindowFlags
SDL_WindowFlags jelzők
SDL_WINDOW_FULLSCREEN teljes képernyő
SDL_WINDOW_FULLSCREEN_DESKTOP teljesképernyő az aktuális asztal felbontással
SDL_WINDOW_OPENGL ablak, amely OpenGL tartalommal használható
SDL_WINDOW_VULKAN ablak, amely Vulkan tartalommal használható
SDL_WINDOW_HIDDEN nem látható ablak
SDL_WINDOW_BORDERLESS ablak, díszítés nélkül
SDL_WINDOW_RESIZABLE átméretezhető ablak
SDL_WINDOW_MINIMIZED minimalizált ablak
SDL_WINDOW_MAXIMIZED maximalizált ablak
SDL_WINDOW_INPUT_GRABBED az ablak kapja meg a fókuszt
SDL_WINDOW_ALLOW_HIGHDPI Az ablak vegyen fel high-DPI módot; támogatott az SDL 2.0.1-től

Forrás

oktatas/programozas/3d/sdl.txt · Utolsó módosítás: 2020/08/18 09:26 szerkesztette: admin