Biblioteka zawiera funkcje obudowujące podstawowe operacje z biblioteki SDL_gfx. Jej celem jest dostarczenie prostego sposobu na wykonywanie operacji graficznych osobom uczącym się języka C. Zakłada się, że po nabyciu biegłości w programowaniu w języku C programista będzie używał biblioteki SDL bezpośrednio. Biblioteka jest zawarta w pliku primlib.c. Każdy moduł programu używający biblioteki powinien dołączyć plik nagłówkowy primlib.h. Bibliotekę można pobrać tutaj. Jej użycie wymaga zainstalowania w systemie bibliotek SDL 1.2 i SDL_gfx
Początek układu współrzędnych znajduje się w lewym górnym rogu okna graficznego. Szerokość i wysokość okna graficznego można uzyskać za pomocą funkcji screenWidth() i screenHeight().
W celu skompilowania programu używającego biblioteki primlib należy użyć następującego polecenia:
gcc -D_REENTRANT progname.c primlib.c -o progname -lm -lSDL -lpthread -lSDL_gfx
gdzie progname.c jest nazwą głównego modułu programu.
Musi być wywołana przed jakąkolwiek operacją graficzną. Zwraca 0 w przypadku sukcesu, wartość niezerową w przypadku błędu.
Typ wyliczeniowy, reprezentujący dostępne kolory.
Umieszcza piksel o kolorze c w punkcie o współrzędnych (x,y).
Rysuje linię z punktu (x1,y1) do (x2,y2), używając koloru c.
Rysuje prostokąt o lewym górnym rogu w punkcie (x1,y1) i prawym dolnym rogu w punkcie (x2,y2), używając koloru c.
Rysuje wypełniony prostokąt o lewym górnym rogu w punkcie (x1,y1) i prawym dolnym rogu w punkcie (x2,y2), używając koloru c.
Rysuje okrąg o środku w punkcie (x,y) i promieniu r, używając koloru c.
Rysuje wypełniony okrąg (koło) o środku w punkcie (x,y) i promieniu r, używając koloru c.
Wypisuje tekst s od punktu o współrzędnych (x,y), używając koloru c.
Podaje szerokość ekranu.
Podaje wysokość ekranu.
Uwidacznia wyniki wywołania funkcji graficznych od ostatniego uaktualnienia ekranu.
Zwraca kod wciśniętego w danej chwili klawisza. Zwraca -1 jeżeli żaden klawisz nie jest wciśnięty.
Czeka na naciśnięcie klawisza i zwraca jego kod.
Zwraca 1 jeżeli klawisz key jest wciśnięty, 0 w pozostałym przypadku.
|
Kod klawisza |
Kod ASCII |
Nazwa opisowa |
|---|---|---|
|
SDLK_BACKSPACE |
'\b' |
backspace |
|
SDLK_TAB |
'\t' |
tab |
|
SDLK_CLEAR |
|
clear |
|
SDLK_RETURN |
'\r' |
return |
|
SDLK_PAUSE |
|
pause |
|
SDLK_ESCAPE |
'^[' |
escape |
|
SDLK_SPACE |
' ' |
space |
|
SDLK_EXCLAIM |
'!' |
exclaim |
|
SDLK_QUOTEDBL |
'"' |
quotedbl |
|
SDLK_HASH |
'#' |
hash |
|
SDLK_DOLLAR |
'$' |
dollar |
|
SDLK_AMPERSAND |
'&' |
ampersand |
|
SDLK_QUOTE |
''' |
quote |
|
SDLK_LEFTPAREN |
'(' |
left parenthesis |
|
SDLK_RIGHTPAREN |
')' |
right parenthesis |
|
SDLK_ASTERISK |
'*' |
asterisk |
|
SDLK_PLUS |
'+' |
plus sign |
|
SDLK_COMMA |
',' |
comma |
|
SDLK_MINUS |
'-' |
minus sign |
|
SDLK_PERIOD |
'.' |
period |
|
SDLK_SLASH |
'/' |
forward slash |
|
SDLK_0 |
'0' |
0 |
|
SDLK_1 |
'1' |
1 |
|
SDLK_2 |
'2' |
2 |
|
SDLK_3 |
'3' |
3 |
|
SDLK_4 |
'4' |
4 |
|
SDLK_5 |
'5' |
5 |
|
SDLK_6 |
'6' |
6 |
|
SDLK_7 |
'7' |
7 |
|
SDLK_8 |
'8' |
8 |
|
SDLK_9 |
'9' |
9 |
|
SDLK_COLON |
':' |
colon |
|
SDLK_SEMICOLON |
';' |
semicolon |
|
SDLK_LESS |
'<' |
less-than sign |
|
SDLK_EQUALS |
'=' |
equals sign |
|
SDLK_GREATER |
'>' |
greater-than sign |
|
SDLK_QUESTION |
'?' |
question mark |
|
SDLK_AT |
'@' |
at |
|
SDLK_LEFTBRACKET |
'[' |
left bracket |
|
SDLK_BACKSLASH |
'\' |
backslash |
|
SDLK_RIGHTBRACKET |
']' |
right bracket |
|
SDLK_CARET |
'^' |
caret |
|
SDLK_UNDERSCORE |
'_' |
underscore |
|
SDLK_BACKQUOTE |
'`' |
grave |
|
SDLK_a |
'a' |
a |
|
SDLK_b |
'b' |
b |
|
SDLK_c |
'c' |
c |
|
SDLK_d |
'd' |
d |
|
SDLK_e |
'e' |
e |
|
SDLK_f |
'f' |
f |
|
SDLK_g |
'g' |
g |
|
SDLK_h |
'h' |
h |
|
SDLK_i |
'i' |
i |
|
SDLK_j |
'j' |
j |
|
SDLK_k |
'k' |
k |
|
SDLK_l |
'l' |
l |
|
SDLK_m |
'm' |
m |
|
SDLK_n |
'n' |
n |
|
SDLK_o |
'o' |
o |
|
SDLK_p |
'p' |
p |
|
SDLK_q |
'q' |
q |
|
SDLK_r |
'r' |
r |
|
SDLK_s |
's' |
s |
|
SDLK_t |
't' |
t |
|
SDLK_u |
'u' |
u |
|
SDLK_v |
'v' |
v |
|
SDLK_w |
'w' |
w |
|
SDLK_x |
'x' |
x |
|
SDLK_y |
'y' |
y |
|
SDLK_z |
'z' |
z |
|
SDLK_DELETE |
|
delete |
|
SDLK_KP0 |
|
keypad 0 |
|
SDLK_KP1 |
|
keypad 1 |
|
SDLK_KP2 |
|
keypad 2 |
|
SDLK_KP3 |
|
keypad 3 |
|
SDLK_KP4 |
|
keypad 4 |
|
SDLK_KP5 |
|
keypad 5 |
|
SDLK_KP6 |
|
keypad 6 |
|
SDLK_KP7 |
|
keypad 7 |
|
SDLK_KP8 |
|
keypad 8 |
|
SDLK_KP9 |
|
keypad 9 |
|
SDLK_KP_PERIOD |
'.' |
keypad period |
|
SDLK_KP_DIVIDE |
'/' |
keypad divide |
|
SDLK_KP_MULTIPLY |
'*' |
keypad multiply |
|
SDLK_KP_MINUS |
'-' |
keypad minus |
|
SDLK_KP_PLUS |
'+' |
keypad plus |
|
SDLK_KP_ENTER |
'\r' |
keypad enter |
|
SDLK_KP_EQUALS |
'=' |
keypad equals |
|
SDLK_UP |
|
up arrow |
|
SDLK_DOWN |
|
down arrow |
|
SDLK_RIGHT |
|
right arrow |
|
SDLK_LEFT |
|
left arrow |
|
SDLK_INSERT |
|
insert |
|
SDLK_HOME |
|
home |
|
SDLK_END |
|
end |
|
SDLK_PAGEUP |
|
page up |
|
SDLK_PAGEDOWN |
|
page down |
|
SDLK_F1 |
|
F1 |
|
SDLK_F2 |
|
F2 |
|
SDLK_F3 |
|
F3 |
|
SDLK_F4 |
|
F4 |
|
SDLK_F5 |
|
F5 |
|
SDLK_F6 |
|
F6 |
|
SDLK_F7 |
|
F7 |
|
SDLK_F8 |
|
F8 |
|
SDLK_F9 |
|
F9 |
|
SDLK_F10 |
|
F10 |
|
SDLK_F11 |
|
F11 |
|
SDLK_F12 |
|
F12 |
|
SDLK_F13 |
|
F13 |
|
SDLK_F14 |
|
F14 |
|
SDLK_F15 |
|
F15 |
|
SDLK_NUMLOCK |
|
numlock |
|
SDLK_CAPSLOCK |
|
capslock |
|
SDLK_SCROLLOCK |
|
scrollock |
|
SDLK_RSHIFT |
|
right shift |
|
SDLK_LSHIFT |
|
left shift |
|
SDLK_RCTRL |
|
right ctrl |
|
SDLK_LCTRL |
|
left ctrl |
|
SDLK_RALT |
|
right alt |
|
SDLK_LALT |
|
left alt |
|
SDLK_RMETA |
|
right meta |
|
SDLK_LMETA |
|
left meta |
|
SDLK_LSUPER |
|
left windows key |
|
SDLK_RSUPER |
|
right windows key |
|
SDLK_MODE |
|
mode shift |
|
SDLK_HELP |
|
help |
|
SDLK_PRINT |
|
print-screen |
|
SDLK_SYSREQ |
|
SysRq |
|
SDLK_BREAK |
|
break |
|
SDLK_MENU |
|
menu |
|
SDLK_POWER |
|
power |
|
SDLK_EURO |
|
euro |