Přeskočit na obsah

Simple DirectMedia Layer

Z Wikipedie, otevřené encyklopedie

Simple DirectMedia Layer (SDL) je multiplatformní multimediální knihovna poskytující nízkoúrovňový přístup na audio, klávesnici, joystick, 2D počítačovou grafiku a 3D hardware přes OpenGL. Napsaná je v jazyku C, nicméně existuje řada wrapperů například pro jazyky Java, Delphi, Python, Perl a další. Její verze pro Microsoft Windows využívá knihovnu DirectX verze 6. Samotná knihovna obsahuje jen základní věci, na vše ostatní jsou potřebné doplňující knihovny (SDL_image, SDL_ttf, SDL_net, SDL_Sound, SDL_Mixer, smpeg a další).

Příklady v C - inicializace videa
Základ je vložit SDL.h, tato knihovna obsahuje hlavní funkce SDL. Protože budeme inicializovat video => budeme používat backbuffer, k tomuto účelu slouží v SDL ukazatel Screen na SDL_Surface. V samotné funkci nejdříve zkontrolujeme, jestli lze video inicializovat, pokud ne vypíšeme chybu do stderr což je už automaticky vytvořený stream pro zápis chyb. Do ukazatele Screen vložíme všechna nastavení našeho okna, tedy šířku, výšku, barevnou hloubku a příznaky (lze kombinovat |), pokud se inicializace nezdařila vypíšeme chybu.

#include <SDL.h> 

typedef enum{false, true} BOOL; 

SDL_Surface * Screen; 

BOOL InitVideo(Uint16 ScreenWidth, Uint16 ScreenHeight, Uint32 Flags, Uint16 ColorDepth) 
{
	if(SDL_Init(SDL_INIT_VIDEO) != 0)
	{
		fprintf(stderr, "Nepodařilo se inicializovat SDL: %s\n", SDL_GetError());
		return false;
	}
	Screen = SDL_SetVideoMode(ScreenWidth, ScreenHeight, ColorDetph, Flags);
	if(!Screen)
	{
		fprintf(stderr, "Nepodařilo se nastavit video mód: %s\n", SDL_GetError());
		return false;
	}
}

Šablona:Softwarový pahýl

Externí odkazy