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. Continua... | |
void | disegna_punto (int x, int y, const Colore &c) |
Disegna un punto a video di un colore scelto. Continua... | |
Colore | crea_colore (int r, int g, int b) |
Permette di generare un colore date le sue componenti rosso, verde e blu. Continua... | |
void | scrivi (int x, int y, const char *s, const Colore &c=BIANCO) |
Permette di mostrare una scritta a video. Continua... | |
void | aggiorna_schermo () |
Aggiorna quello che viene mostrato a schermo. Continua... | |
void | pausa () |
Mette in pausa il programma, attendendo la pressione di un tasto. Continua... | |
void | pulisci_schermo (const Colore &c=NESSUN_COLORE) |
Pulisce lo schermo, colorandolo di un solo colore. Continua... | |
void | imposta_colore_sfondo (const Colore &c=NERO) |
Imposta il colore di sfondo. Continua... | |
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. Continua... | |
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. Continua... | |
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. Continua... | |
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. Continua... | |
int | crea_sprite (int x, int y, const string &filename) |
Crea un oggetto grafico di tipo sprite, cioè immagine in posizione x,y. Continua... | |
void | disegna_oggetto (int indice_oggetto) |
Disegna a video un oggetto di cui viene passato l'indice come parametro. Continua... | |
void | disegna_oggetti () |
Disegna a video tutti gli oggetti creati. Continua... | |
void | muovi_oggetto (int x, int y, int indice_oggetto) |
Muove un oggetto sullo schermo. Continua... | |
void | cambia_colore_oggetto (int indice_oggetto, Colore c) |
Cambia il colore di un oggetto. Continua... | |
void | ritardo (int millisecondi) |
Mette in pausa il programma per un certo tempo. Continua... | |
void | leggi_mouse () |
Legge lo stato del mouse e lo memorizza nelle variabili mouseX, mouseY, mouseTD, mouseTS. Continua... | |
int | fatto () |
Diventa vera quando viene premuto il tasto ESC o la x gi chiusura della finsetra, falsa altrimenti. Continua... | |
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. Continua... | |
void | inizializza_audio () |
Inizializza la sezione audio. Continua... | |
void | carica_musica (const char *nomefile) |
Carica il file da suonare. Continua... | |
void | suona_musica () |
Manda il esecuzione il file caricato con carica_musica. Continua... | |
void | ferma_musica () |
Ferma l'esecuzione del file caricato con carica_musica. Continua... | |
int | carica_effetto (const char *nomefile) |
Carica il file dell'effetto. Continua... | |
void | suona_effetto (int effetto) |
Manda il esecuzione l'effetto individuato dal parametro. Continua... | |
void | leggi_tastiera () |
Legge lo stato della tastiera e deve essere chiamata prima di usare le funzioni che leggono i tasti. Continua... | |
bool | tasto_premuto (int tasto) |
Verifica se un pulsante è stato premuto o no nel momento in cui è chiamata, ma solo la prima sostanzialmente serve per verificare se il tasto è stato premuto, non lo stato che ha in questo momento, se interessa sarebbe lo stato attuale del tasto bisogna usare tasto_giu. Continua... | |
bool | tasto_giu (int tasto) |
Verifica lo stato del pulsante tasto nel momento in cui è chiamata, ritornando true se è premuto o false altrimenti. Offre una modalità di lettura dei tasti complementare a quella di tasto_premuto, va usata l'una o l'altra a seconda delle esigenze del programma. Continua... | |
void | versione (char *s) |
Copia in s il valore corrente di versione della libreria. Continua... | |
unsigned long | millisecondi () |
Ritorna la quantità di millisecondi che sono passati da quando è stato avviato il programma. Continua... | |
void | salva_screenshot (const char *nomefile) |
Salva la schermata corrente su file in formato bitmap. Continua... | |
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.
void cambia_colore_oggetto | ( | int | indice_oggetto, |
Colore | c | ||
) |
Cambia il colore di un oggetto.
indice_oggetto | L'indice (un numero intero positivo) che viene ottenuto dalla funzione crea_oggetto |
int carica_effetto | ( | const char * | nomefile | ) |
Carica il file dell'effetto.
nomefile | Il nome del file da suonare |
void carica_musica | ( | const char * | nomefile | ) |
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 ferma_musica | ( | ) |
Ferma l'esecuzione del file caricato con carica_musica.
void imposta_colore_sfondo | ( | const Colore & | c = NERO | ) |
Imposta il colore di sfondo.
void inizializza_audio | ( | ) |
Inizializza la sezione audio.
Inizializza la sezione audio.
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 le funzioni che leggono i tasti.
unsigned long millisecondi | ( | ) |
Ritorna la quantità di millisecondi che sono passati da quando è stato avviato il programma.
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 |
void salva_screenshot | ( | const char * | nomefile | ) |
Salva la schermata corrente su file in formato bitmap.
nomefile | Il nome del file su cui salvare lo screenshot |
void scrivi | ( | int | x, |
int | y, | ||
const char * | s, | ||
const Colore & | c = BIANCO |
||
) |
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 |
void suona_effetto | ( | int | effetto | ) |
Manda il esecuzione l'effetto individuato dal parametro.
effetto | Il numero che individua l'effetto caricato |
void suona_musica | ( | ) |
Manda il esecuzione il file caricato con carica_musica.
bool tasto_giu | ( | int | tasto | ) |
Verifica lo stato del pulsante tasto nel momento in cui è chiamata, ritornando true se è premuto o false altrimenti. Offre una modalità di lettura dei tasti complementare a quella di tasto_premuto, va usata l'una o l'altra a seconda delle esigenze del programma.
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 |
bool tasto_premuto | ( | int | tasto | ) |
Verifica se un pulsante è stato premuto o no nel momento in cui è chiamata, ma solo la prima sostanzialmente serve per verificare se il tasto è stato premuto, non lo stato che ha in questo momento, se interessa sarebbe lo stato attuale del tasto bisogna usare tasto_giu.
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 |