Very Simple Graphic Library
|
Very Simple Graphic Library. Continua...
#include <vector>
#include <SDL/SDL_mixer.h>
#include "version.h"
#include "quickcg.h"
#include "vsgl_types.h"
#include "oggettografico.h"
#include "rettangolo.h"
#include "cerchio.h"
#include "linea.h"
#include "sprite.h"
#include "disco.h"
Vai al codice sorgente di questo file.
Funzioni | |
void | inizializza_grafica (int larghezza, int altezza, int fullscreen, const char *titolo) |
Funzione che inizializza la grafica e deve essere chiamata prima di ogni altra. | |
void | disegna_punto (int x, int y, const Colore &c) |
Disegna un punto a video di un colore scelto. | |
Colore | crea_colore (int r, int g, int b) |
Permette di generare un colore date le sue componenti rosso, verde e blu. | |
void | scrivi (int x, int y, const char *s, const Colore &c=BIANCO) |
Permette di mostrare una scritta a video. | |
void | aggiorna_schermo () |
Aggiorna quello che viene mostrato a schermo. | |
void | pausa () |
Mette in pausa il programma, attendendo la pressione di un tasto. | |
void | pulisci_schermo (const Colore &c=NESSUN_COLORE) |
Pulisce lo schermo, colorandolo di un solo colore. | |
void | imposta_colore_sfondo (const Colore &c=NERO) |
Imposta il colore di sfondo. | |
int | crea_rettangolo (int x, int y, int larghezza, int altezza, const Colore &c=BIANCO) |
Crea un oggetto grafico di tipo rettangolo, con base e altezza paralleli agli assi, con l'angolo in alto a sinistra in posizione (x,y) e di colore specificato. Ritorna un indice che può essere poi utilizzato per effettuare delle operazioni sull'oggetto. | |
int | crea_cerchio (int x, int y, int r, const Colore &c=BIANCO) |
Crea un oggetto grafico di tipo cerchio, con il centro in posizione (x,y) e di colore specificato. Ritorna un indice che può essere poi utilizzato per effettuare delle operazioni sull'oggetto. | |
int | crea_disco (int x, int y, int r, const Colore &c=BIANCO) |
Uguale a crea_cerchio, solo che in questo caso il cerchio ha lo sfondo di colore c (disegna insomma un cerchio pieno). Ritorna un indice che può essere poi utilizzato per effettuare delle operazioni sull'oggetto. | |
int | crea_linea (int x1, int y1, int x2, int y2, const Colore &c=BIANCO) |
Crea un oggetto grafico di tipo linea, con un estremo in posizione x1,y1 e l'altro in posizione x2,y2. | |
int | crea_sprite (int x, int y, const string &filename) |
Crea un oggetto grafico di tipo sprite, cioè immagine in posizione x,y. | |
void | disegna_oggetto (int indice_oggetto) |
Disegna a video un oggetto di cui viene passato l'indice come parametro. | |
void | disegna_oggetti () |
Disegna a video tutti gli oggetti creati. | |
void | muovi_oggetto (int x, int y, int indice_oggetto) |
Muove un oggetto sullo schermo. | |
void | ritardo (int millisecondi) |
Mette in pausa il programma per un certo tempo. | |
void | leggi_mouse () |
Legge lo stato del mouse e lo memorizza nelle variabili mouseX, mouseY, mouseTD, mouseTS. | |
int | fatto () |
Diventa vera quando viene premuto il tasto ESC o la x gi chiusura della finsetra, falsa altrimenti. | |
void | leggi_stringa (char *input, const char *messaggio, int cancella, int x, int y, const Colore &c=NERO) |
Aspetta che l'utente inserisca una stringa da tastiera, ha un comportamento simile alla gets. | |
void | inizializza_audio () |
TODO (alex#5#): Da mettere a posto, questo è solo un rattoppo veloce. | |
void | carica_musica (const char *nomefile) |
void | suona_musica () |
void | ferma_musica () |
void | leggi_tastiera () |
Legge lo stato della tastiera e deve essere chiamata prima di usare la funzione tasto_premuto. | |
bool | tasto_premuto (int tasto) |
Verifica se un pulsante è premuto o no nel momento in cui è chiamata. | |
void | versione (char *s) |
Copia in s il valore corrente di versione della libreria. | |
Variabili | |
int | mouseX |
Variabile globale che contiene le coordinate X del mouse. | |
int | mouseY |
Variabile globale che contiene le coordinate Y del mouse. | |
bool | mouseTD |
Variabile globale che contiene lo stato del bottone destro del mouse (1 premuto, 0 no) | |
bool | mouseTS |
Variabile globale che contiene lo stato del bottone sinistro del mouse (1 premuto, 0 no) |
Very Simple Graphic Library.
void aggiorna_schermo | ( | ) |
Aggiorna quello che viene mostrato a schermo.
int crea_cerchio | ( | int | x, |
int | y, | ||
int | r, | ||
const Colore & | c = BIANCO |
||
) |
Crea un oggetto grafico di tipo cerchio, con il centro in posizione (x,y) e di colore specificato. Ritorna un indice che può essere poi utilizzato per effettuare delle operazioni sull'oggetto.
x | Coordinata x del centro |
y | Coordinata y del centro |
r | Raggio del cerchio |
c | Colore del cerchio, se non specificato è bianco |
Colore crea_colore | ( | int | r, |
int | g, | ||
int | b | ||
) |
Permette di generare un colore date le sue componenti rosso, verde e blu.
r | Componente rossa, deve essere compresa tra 0 e 255 |
g | Componente verde, deve essere compresa tra 0 e 255 |
b | Componente blu, deve essere compresa tra 0 e 255 |
int crea_disco | ( | int | x, |
int | y, | ||
int | r, | ||
const Colore & | c = BIANCO |
||
) |
Uguale a crea_cerchio, solo che in questo caso il cerchio ha lo sfondo di colore c (disegna insomma un cerchio pieno). Ritorna un indice che può essere poi utilizzato per effettuare delle operazioni sull'oggetto.
x | Coordinata x del centro |
y | Coordinata y del centro |
r | Raggio del disco |
c | Colore del disco, se non specificato è bianco |
int crea_linea | ( | int | x1, |
int | y1, | ||
int | x2, | ||
int | y2, | ||
const Colore & | c = BIANCO |
||
) |
Crea un oggetto grafico di tipo linea, con un estremo in posizione x1,y1 e l'altro in posizione x2,y2.
x1 | Coordinata x del primo estremo |
y1 | Coordinata y del primo estremo |
x2 | Coordinata x del secondo estremo |
y2 | Coordinata y del secondo estremo |
c | Colore della linea |
int crea_rettangolo | ( | int | x, |
int | y, | ||
int | larghezza, | ||
int | altezza, | ||
const Colore & | c = BIANCO |
||
) |
Crea un oggetto grafico di tipo rettangolo, con base e altezza paralleli agli assi, con l'angolo in alto a sinistra in posizione (x,y) e di colore specificato. Ritorna un indice che può essere poi utilizzato per effettuare delle operazioni sull'oggetto.
x | Coordinata x dell'angolo in alto a sinistra |
y | Coordinata y dell'angolo in alto a sinistra |
larghezza | Larghezza del rettangolo |
altezza | Altezza del rettangolo |
c | Colore del rettangolo, se non specificato è bianco |
int crea_sprite | ( | int | x, |
int | y, | ||
const string & | filename | ||
) |
Crea un oggetto grafico di tipo sprite, cioè immagine in posizione x,y.
x | Coordinata x dell'angolo in alto a sinistra |
y | Coordinata y del'angolo in alto a sinistra |
filename | Nome del file che si vuole caricare |
void disegna_oggetti | ( | ) |
Disegna a video tutti gli oggetti creati.
void disegna_oggetto | ( | int | indice_oggetto | ) |
Disegna a video un oggetto di cui viene passato l'indice come parametro.
indice_oggetto | L'indice (un numero intero positivo) che viene ottenuto dalla funzione crea_oggetto |
void disegna_punto | ( | int | x, |
int | y, | ||
const Colore & | c | ||
) |
Disegna un punto a video di un colore scelto.
x | Coordinata x del punto |
y | Coordinata y del punto |
c | Colore del punto |
int fatto | ( | ) |
Diventa vera quando viene premuto il tasto ESC o la x gi chiusura della finsetra, falsa altrimenti.
void imposta_colore_sfondo | ( | const Colore & | c = NERO | ) |
Imposta il colore di sfondo.
void inizializza_grafica | ( | int | larghezza, |
int | altezza, | ||
int | fullscreen, | ||
const char * | titolo | ||
) |
Funzione che inizializza la grafica e deve essere chiamata prima di ogni altra.
larghezza | La larghezza logica dello schermo in cui disegnare. Se l'applicazione non è in fullscreen corrisponde al numero di pixel della larghezza della finestra |
altezza | L'altezza logica dello schermo in cui disegnare. Se l'applicazione non è in fullscreen corrisponde al numero di pixel dell'altezza della finestra. |
fullscreen | Indica se l'applicazione deve essere eseguita in una finestra (fullscreen = 0) oppure a schermo intero (fullscreen = 1) |
titolo | Il titolo della finestra nel caso l'applicazione non sia in fullscreen altrimenti non ha effetto |
void leggi_mouse | ( | ) |
Legge lo stato del mouse e lo memorizza nelle variabili mouseX, mouseY, mouseTD, mouseTS.
void leggi_stringa | ( | char * | input, |
const char * | messaggio, | ||
int | cancella, | ||
int | x, | ||
int | y, | ||
const Colore & | c = NERO |
||
) |
Aspetta che l'utente inserisca una stringa da tastiera, ha un comportamento simile alla gets.
input | La stringa dove verrà memorizzato quanto scritto dall'utente |
messaggio | Il messaggio che viene mostrato dove l'utente deve inserire l'input |
cancella | Indica se quanto scritto deve sparire dopo che viene premuto INVIO oppure rimanere. |
x | Coordinata x dell'angolo in alto a sinistra del messaggio |
y | Coordinata y dell'angolo in alto a sinistra del messaggio |
c | Colore del messaggio e dell'input dell'utente |
void leggi_tastiera | ( | ) |
Legge lo stato della tastiera e deve essere chiamata prima di usare la funzione tasto_premuto.
void muovi_oggetto | ( | int | x, |
int | y, | ||
int | indice_oggetto | ||
) |
Muove un oggetto sullo schermo.
x | Nuova coordinata x dell'angolo in alto a sinistra |
y | Nuova coordinata y dell'angolo in alto a sinistra |
indice_oggetto | L'indice (un numero intero positivo) che viene ottenuto dalla funzione crea_oggetto |
void pausa | ( | ) |
Mette in pausa il programma, attendendo la pressione di un tasto.
void pulisci_schermo | ( | const Colore & | c = NESSUN_COLORE | ) |
Pulisce lo schermo, colorandolo di un solo colore.
c | Il colore con cui verrà ridisegnato lo schermo |
void ritardo | ( | int | millisecondi | ) |
Mette in pausa il programma per un certo tempo.
millisecondi | Durata della pausa in millisecondi |
Permette di mostrare una scritta a video.
x | Coordinata x dell'angolo in alto a sinistra della scritta |
y | Coordinata y dell'angolo in alto a sinistra della scritta |
s | La scritta da mostrare a video |
c | Colore della scritta: se non viene specificato il valore di default è bianco |
bool tasto_premuto | ( | int | tasto | ) |
Verifica se un pulsante è premuto o no nel momento in cui è chiamata.
tasto | Il tasto come definito nella libreria SDL, per la tabella completa si rimanda a http://wiki.libsdl.org/moin.cgi/SDLKeycodeLookup. Per le lettere e le cifre basta scrivere SDLK_n, dove n è la lettera o la cifra che interessa |
void versione | ( | char * | s | ) |
Copia in s il valore corrente di versione della libreria.
s | La stringa che conterrà la versione corrente |