Dokumentace souboru sdl.cpp

#include <iostream>
#include <vector>
#include <map>
#include <string>
#include <utility>
#include <constants.h>
#include "sdl.h"
#include "agar.h"
#include "tixml.h"

Prostory jmen

namespace  Color

Funkce

void window_init (SDL_Surface **pWindow, int win_w, int win_h, const char *caption)
 Inicializace SDL a TTF, vytvoří okno o zadaných rozměrech a záhlaví.
SDL_Surface * get_text (TTF_Font *font, const char *str, SDL_Color color)
 Vytvoření surface s textem.
static int text_width (TTF_Font *font, const char *str)
SDL_Surface * get_multiline_text (TTF_Font *font, const char *str, SDL_Color color)
 Vytvoření víceřádkového surface s textem.
SDL_Surface * create_surface (Uint16 w, Uint16 h, SDL_Color color)
 Vytvoření surface.
void set_transparent_color (SDL_Surface *sur, SDL_Color color)
 Nastavení průhledné barvy pro surface.
void set_transparency (SDL_Surface *sur, Uint8 alpha)
 Nastavení průhlednosti surface.
SDL_Surface * create_transparent_surface (Uint16 w, Uint16 h, bool transparent)
 Vytvoření surface s průhlednou barvou (volitelně celé poloprůhledně).
void draw_surface (int x, int y, SDL_Surface *surface_src, SDL_Surface *surface_dst)
 Vykreslení surface_src do surface_dst.
void draw_center_surface (SDL_Surface *surface_src, SDL_Surface *surface_dst)
 Vykreslení surface_src do surface_dst vycentrovaně.
void clear_surface (SDL_Color color, SDL_Surface *surface)
 Vybarvení místa v surface_dst, na kterém by byl surface_src.
void draw_pixel (SDL_Surface *surface, int x, int y, SDL_Color color)
 Nakreslení pixelu do surface.
void draw_line (SDL_Surface *surface, int x1, int y1, int x2, int y2, SDL_Color color)
 Nakreslení úsečky.
Uint32 SDL_fps (Uint32 last, Uint32 fps)
 Frames per second zdrží program, aby nevykresloval zbytečně často.
static bool interesting_event_ (SDL_Event event, SDLKey &key)
Uint8 get_event (SDLKey &key)
 Vybere z fronty událost, když je prázdná, hned pokračuje.
Uint8 wait_event (SDLKey &key)
 Vybere z fronty událost, když je prázdná, počká.
double SDL_Rand ()
 Pseudonáhodné číslo v intervalu [0,1].

Proměnné

const SDL_Color Color::transparent = {255,0,255}
const SDL_Color Color::white = {255,255,255}
const SDL_Color Color::yellow = {255,255,0}
const SDL_Color Color::aqua = {0,255,255}
const SDL_Color Color::red = {255,0,0}
const SDL_Color Color::lime = {0,255,0}
const SDL_Color Color::blue = {0,0,255}
const SDL_Color Color::black = {0,0,0}
const SDL_Color Color::green = {0,128,0}
const SDL_Color Color::maroon = {128,0,0}
const SDL_Color Color::olive = {128,128,0}
const SDL_Color Color::purple = {128,0,128}
const SDL_Color Color::gray = {128,128,128}
const SDL_Color Color::navy = {0,0,128}
const SDL_Color Color::teal = {0,128,128}
const SDL_Color Color::silver = {192,192,192}

Dokumentace funkcí

void clear_surface ( SDL_Color  color,
SDL_Surface *  surface 
)

Vybarvení místa v surface_dst, na kterém by byl surface_src.

Parametry:
color barva vyplnění
surface cíl

Tuto funkci volají...

SDL_Surface* create_surface ( Uint16  w,
Uint16  h,
SDL_Color  color 
)

Vytvoření surface.

Parametry:
w šířka surface
h výška surface
color barva pro vyplnění
Návratová hodnota:
Vrací vytvořené SDL_Surface.

Tuto funkci volají...

SDL_Surface* create_transparent_surface ( Uint16  w,
Uint16  h,
bool  transparent 
)

Vytvoření surface s průhlednou barvou (volitelně celé poloprůhledně).

Parametry:
w šířka surface
h výška surface
transparent pokud TRUE, bude nastavena poloprůhlednost surface
Návratová hodnota:
Vrací vytvořené SDL_Surface.

Tato funkce volá...

Tuto funkci volají...

void draw_center_surface ( SDL_Surface *  surface_src,
SDL_Surface *  surface_dst 
)

Vykreslení surface_src do surface_dst vycentrovaně.

Parametry:
surface_src zdroj
surface_dst cíl

Tato funkce volá...

Tuto funkci volají...

void draw_line ( SDL_Surface *  surface,
int  x1,
int  y1,
int  x2,
int  y2,
SDL_Color  color 
)

Nakreslení úsečky.

Parametry:
surface cíl
x1 počáteční souřadnice úsečky
y1 počáteční souřadnice
x2 koncové souřadnice úsečky
y2 koncové souřadnice úsečky
color barva úsečky

Tato funkce volá...

void draw_pixel ( SDL_Surface *  surface,
int  x,
int  y,
SDL_Color  color 
)

Nakreslení pixelu do surface.

Parametry:
surface cíl
x souřadnice vykreslovaného pixelu
y souřadnice
color barva pixelu

Tuto funkci volají...

void draw_surface ( int  x,
int  y,
SDL_Surface *  surface_src,
SDL_Surface *  surface_dst 
)

Vykreslení surface_src do surface_dst.

Parametry:
x souřadnice pro vykreslení
y souřadnice pro vykreslení
surface_src zdroj
surface_dst cíl

Tuto funkci volají...

Uint8 get_event ( SDLKey &  key  ) 

Vybere z fronty událost, když je prázdná, hned pokračuje.

Pokud narazí na nějakou zajímavou událost, vrací její typ, když je to událost doplněná o klávesu, změní ji.

Parametry:
key vrácená hodnota klávesy
Návratová hodnota:
Vrací typ zajímavé události, nebo SDL_USEREVENT když žádná zajímavá událost nenastala.

Tato funkce volá...

Tuto funkci volají...

SDL_Surface* get_multiline_text ( TTF_Font *  font,
const char *  str,
SDL_Color  color 
)

Vytvoření víceřádkového surface s textem.

Vytvoří surface s textem pomocí get_text(), pokud text obsahuje newline (10) vytvoří se nová řádka.

Parametry:
font pointer na písmo, kterým se má psát
str text, který se má vypsat (může obsahovat newline)
color barva textu
Návratová hodnota:
Vrací vytvořené SDL_Surface s textem.
Viz také:
TTF_RenderUTF8_Solid()

Tato funkce volá...

Tuto funkci volají...

SDL_Surface* get_text ( TTF_Font *  font,
const char *  str,
SDL_Color  color 
)

Vytvoření surface s textem.

Parametry:
font pointer na písmo, kterým se má psát
str text, který se má vypsat
color barva textu
Návratová hodnota:
Vrací vytvořené SDL_Surface s textem.
Viz také:
TTF_RenderUTF8_Blended()

Tuto funkci volají...

static bool interesting_event_ ( SDL_Event  event,
SDLKey &  key 
) [static]

Tuto funkci volají...

Uint32 SDL_fps ( Uint32  last,
Uint32  fps 
)

Frames per second zdrží program, aby nevykresloval zbytečně často.

Počká od času last tak dlouho abych vykresloval fps obrázků za sekundu vráti aktualní čas ukončení teto fce poznamka: muze špatně fungovat pokud aplikace běží déle než ~49.7 dní kvůli přetečení Uint32

Parametry:
last čas posedního volání této fce
fps počet framu za sekundu kterých chceme docílit
Návratová hodnota:
Vrací aktuální čas použitelný pro další volání.

Tuto funkci volají...

double SDL_Rand (  ) 

Pseudonáhodné číslo v intervalu [0,1].

Návratová hodnota:
(double) náhodné číslo z intervalu [0,1]

Tato funkce volá...

void set_transparency ( SDL_Surface *  sur,
Uint8  alpha 
)

Nastavení průhlednosti surface.

Parametry:
sur surface, kterému chceme nastavit průhlednost
alpha míra průhlednosti (0 - průhledné, 255 - neprůhledné)
Viz také:
SDL_SetAlpha()

Tuto funkci volají...

void set_transparent_color ( SDL_Surface *  sur,
SDL_Color  color 
)

Nastavení průhledné barvy pro surface.

Parametry:
sur surface, kterému chceme nastavit průhlednou barvu
color průhledná barva
Viz také:
SDL_SetColorKey()

Tuto funkci volají...

static int text_width ( TTF_Font *  font,
const char *  str 
) [static]

Tato funkce volá...

Tuto funkci volají...

Uint8 wait_event ( SDLKey &  key  ) 

Vybere z fronty událost, když je prázdná, počká.

Čeká, na zajímavou událost.

Parametry:
key vrácená hodnota klávesy
Návratová hodnota:
Vrací typ zajímavé události nebo SDL_USEREVENT při problemu.

Tato funkce volá...

Tuto funkci volají...

void window_init ( SDL_Surface **  pWindow,
int  win_w,
int  win_h,
const char *  caption 
)

Inicializace SDL a TTF, vytvoří okno o zadaných rozměrech a záhlaví.

Inicializuje SDL, nastavuje video mode a velikost okna, inicializuje TTF. Při úspěchu nastavuje zrušení SDL a TTF při ukončení programu. Při neúspěchu vypisuje chybovou hlášku a ukončí program.

Viz také:
SDL_Init(), SDL_Quit(), TTF_Init(), TTF_Quit()

exit, atexit

Parametry:
pWindow pointer na pointer na SDL_Surface okna
win_w šířka okna
win_h výška okna
caption titulek okna

Tuto funkci volají...


Generováno Mon May 24 21:56:50 2010 pro projekt Bombic 2 programem  doxygen 1.5.6